資訊中心管理
SORT 效能 = 批次效能
SYNCSORT擁有產業界最快速的 SORT 技術與多項專利。相信使用 SYNCSORT DMExpress 可以大大提升批次效能

一、概述

學電腦科學時,資料結構是必學一門,而在資料結構內,SORT(排序)佔很重要一部份。從 BUBBLE SORT、MERGE SORT、HEAP SORT 等等不同資料結構會有不同的 SORT 效能。好的 SORT 除了會因資料不同,動態配置不同資料結構,動態使用不同演算法,還會最佳化使用 CPU、MEMORY,平衡系統負載以達成SORT最佳化。

二、SORT 功能 = 批次功能


SORT 除了排序之外,還有哪些功能?現代的 SORT 還有:

  • MERGE 功能:將分別排序過的資料小群,合併成一大群排序過資料。如同批次「併檔」功能。
  • AGGREGATE 功能:可以針對欄位作加、減、乘、除運算,甚至使用各種函數。
  • JOIN 功能:可以將二個檔案,依欄位作各種 JOIN,產生另一檔案。如同批次「碰檔」功能。
  • PARTITION 功能:可以依欄位值作檔案分割,分成多個檔案。如同批次「分檔」功能。
  • FILTER 功能:可以依欄位值作挑選,產出另一個檔案。如同批次「挑檔」功能。
  • COPY 功能:由於 SORT 強調高效能,因此對於檔案讀取、寫入具有快速存取方法,使用 SORT 執行 COPY 可以有快速的結果。

您應該會訝異,SORT 有如此多的功能,SORT 幾乎可以使用在 50% 批次作業上。你也會訝異好的 SORT 在效能上會有一半以上的差距。

三、SORT 提升批次效能

有一個台灣很大的零售業,有一月批次作業,該批次作業是截取每月份全台近 1000 家分店交易資料,進行 JOIN,產出一文件檔。該作業環境WINDOWS SERVER 2012、X86 12 CORE CPU、24GB RAM,輸入二 TABLES 共 100 多 GB 資料,輸出一 TABLE 11GB 資料,每次執行需要 4.5 小時。換用好的 SORT,擷取 SQL TABLES,使用檔案作 JOIN,處理完寫回 TABLE。作業環境 WINDOWS SERVER 2012、X86 4 CORE、8GB RAM。處理結果 1 小時 52 分鐘執行完畢。

作業時間由 4.5 小時縮小至近 2 小時,使用三分之一的系統資源,縮短一半的處理時間。有很多的案例顯示,當資料量很大、當資料庫負載很高時,將作業由資料庫抽離,改由檔案作業,會得到很大效能改善,同時會使用更少系統資源。

另一例子,某政府機關,需將資料加密作變造,才可以交給其他單位參考。在原始作業下,一千萬筆資料,10 GB 大小,需 49 分 50 秒處理完畢。使用好的 SORT 作資料切割,分開需變造資料,進行變造,再將資料合併,全部時間 11 分 26 秒完成。使用環境 WINDOWS SERVER 2008、2 CORE CPU。同樣環境,四分之一的處理時間。

好的 SORT 軟體可使用更少的 CPU、更少的 MEMORY 系統資源,但獲得更快的執行效能。甚至於可以依據系統負載情況,動態使用系統資源,不致造成系統過載,導致所有作業受影響。

四、SORT 節省系統資源

您可以檢視貴公司的批次作業,您會驚訝 SORT 所佔的比率,SORT 比率越高,可以獲得批次更好效能,可以避免更多程式撰寫與維護,應該多多使用。如果使用 SORT 進階功能 JOIN、AGGREGATE、PARTITION,SORT 作業比率會更高。當然,使用好的 SORT 可以加快作業一半以上時間,可以更省系統資源。

五、結語

本文 SORT 使用範例是使用 SYNCSORT DMExpress 軟體,由叡揚資訊代理。SYNCSORT 是一專注於 SORT 的軟體公司,成立於 1968 年,接近 50 年歷史,持續於 SORT 演算法的研發,針對 SORT 已有 6 項專利、針對 JOIN 有 3 項專利、針對 AGGREGATE 有 3 項專利,全球有 1500 客戶。SYNCSORT 擁有產業界最快速的 SORT 技術。相信使用 SYNCSORT DMExpress 可以大大提升批次效能。