稱某物大或快時,立即面臨問題:「跟什麼比?」小公司所謂「大型」資料庫,面對每年 28 PB 速度增長的國家級儲存庫顯得微不足道;為電商網站處理交易的所謂「快速」資料庫,與執行股市交易、存取時間以毫秒計的資料庫相比不值一提。但即使貴公司無意追求最大或最快資料庫,管理此類資料庫的經驗教訓仍適用於您的環境。可以肯定,此領域趨勢必將流向各種規模的資料庫。
隨資料量增長,公共和企業資料庫持續擴張。4 年前 WinterCorp 評定世界最大資料庫超過 100 TB。10 年評選歷史中,Yahoo! 資料庫首個突破 100 TB。如今存儲更多數位資訊,「超大」定義為何?無標準定義,單純大小非唯一判準,只是因素之一。賓大物理學教授、National Scalable Cluster Project 共同創始人 Robert Hollebeek 博士提出可行定義:5 年前 TB 級可稱「超大」,如今必須是 PB 級。「另一定義:若資料庫索引連超級電腦或叢集的 TB 級實體記憶體都無法容納,可稱超大資料庫。」需那麼多索引的資料庫確稱得上超大,效能與管理是大問題。
Hollebeek 說:當儲存資料所需硬體總量成問題時,也可稱超大資料庫:「當您有數千磁碟單元、放平行電腦的機架擺滿整間房時,就難以管理了。」西班牙儲蓄銀行聯合會 (CECA) IBM Information Champion Manuel Gomez BurrIEl 認為易管理性可區分「大型」與超大資料庫:「常規管理任務在規定時間無法完成。恢復損壞資料庫需數小時,但可用時間只有數分鐘。效能受影響,因資料庫太大無法裝入記憶體緩存。僅響應應用請求就帶來難以接受的 CPU 開銷。」
深入研究極大資料庫可得出適用於其他規模的教訓。Hollebeek 擔任 National Digital Mammography Archive (NDMA) 技術主管,NDMA 為容納每年 28 PB 增長資料庫設計的系統。由美國國家衛生研究院資助,建立分散式系統網格儲存醫療記錄與影像。系統儲存乳房攝影、MRI 掃描等組成「病例」的相關檔案,每病例佔 1 GB,數百萬病例。除解決儲存與存取海量資料,NDMA 還必須處理分散不同地理位置系統上的密封式數據問題——全球企業共同難題。為連接四家參與研究醫院,NDMA 每家安裝加密安全線路與「接入點」(加密檔案、用專用網路協議高效發送大塊資料的硬體)。
「我們項目規模極大,不能喪失任何醫療數據。需要穩定、高度可靠、真正快速、可並行的技術,因系統基於構建平行電腦叢集。必須容錯,因索引表崩潰或消失不可容忍。」Hollebeek 說。NDMA 使用 IBM DB2 Parallel Edition 儲存資料庫索引,實際影像資料儲存在平行磁碟矩陣上的平面檔案資料庫,由作業系統(Linux)本地檔案系統管理。
與超大同樣,超快定義隨技術確立新極限而改變。「通常以每秒交易量度量速度,也許每秒百萬交易算快。但隨新技術誕生,『交易』定義只是一種普通資料庫存取」,IDC 研究副總裁 Carl Olofson 說,「未來將有其他類型資料庫存取,使資料庫與記憶體差異模糊。Pull 資料可能需要某種重定向記憶體存取,而非真正綁定資料庫啟動交易。顯然那會非常快。」Olofson 從更廣義定義「快」:「任何系統目標都是確保資料庫不拖累應用,以應用執行速度返回資料。」
Gomez 類似定義超快:「快到足以按與客戶協定的服務品質協議 (SLA) 交付資訊。」補充:「最快資料庫能盡可能直接從記憶體存取資訊塊。我們一個支付系統應用使用具 Fast Path Solution 與企業儲存子系統的 IMS,提供每交易 <20ms 回應時間,為獲取客戶端所需資訊最多存取 14 個資料庫。」
ATM 財務系統雖稱得上快但已落伍。「最近可能需等待一秒左右看帳戶餘額」,Olofson 說,「過去還算好,現在只能算普通。」專家談論高速資料庫交互時,指通訊系統:連接通話時,系統立即查找客戶帳戶、確定服務類型、決定路由與可用特性,在無線環境完成,且任何人帳戶隨時改變。
另一超快應用:金融服務業投資組合驅動的演算法交易。「一家公司可能有數百帳戶,每帳戶略不同投資組合,因此不同規則決定交易」。收到價格時必須在幾毫秒內應用規則,系統能否提供此速度決定管理成敗。
如此超快速度需高度響應後端資料庫,通常需分層系統或資料庫。許多情況下後端實際為大型主機資料庫(如 IBM 基於大型主機的分層 DBMS IMS)。分層方案中有記憶體內資料庫緩存功能作為後端前端。最早投資分層方案的是需要超快系統的客戶。
顯然,超大超快資料庫領域客戶需持續推動技術發展。無論儲存檢索多少資料、速度多快,許多公司開發新產品使之可能。如語言、時尚、藝術,今日所謂極限明日將變得平庸。