您現在的位置是:首頁 >財經 > 2020-11-20 16:31:27 來源:
存儲工具適應其數據集用戶想要搜索的內容
大數據已經變得非常非常大:到2025年,全球所有數據總計將達到175萬億千兆字節。為了獲得視覺效果,如果將這么多的數據存儲在DVD上,它將堆積得足夠高,可以繞地球旋轉222次。
計算中的最大挑戰之一是在處理這種猛烈的信息的同時仍然能夠有效地存儲和處理信息。麻省理工學院計算機科學與人工智能實驗室(CSAIL)的一個小組認為,答案在于所謂的“實例優化系統”。
傳統的存儲和數據庫系統被設計為可用于各種應用程序,因為構建它們需要花費多長時間(數月甚至是數年)。結果,對于任何給定的工作負載,此類系統提供的性能都很好,但通常不是最好的。更糟糕的是,有時它們需要管理員手動調整系統以提供合理的性能。
相反,實例優化系統的目標是構建針對其存儲的數據和所服務的工作負載進行優化和部分重新組織的系統。
麻省理工學院的蒂姆·克拉斯卡(Tim Kraska)教授說:“這就像從頭開始為每個應用程序構建數據庫系統,這在傳統系統設計上在經濟上是不可行的。”
作為實現這一愿景的第一步,Kraska及其同事開發了Tsunami和Bao。Tsunami使用機器學習功能根據用戶進行查詢的類型自動重新組織數據集的存儲布局。測試表明,它運行查詢的速度比最新系統快10倍。而且,它的數據集可以通過一系列“學習的索引”進行組織,這些索引比傳統系統中使用的索引小100倍。
克拉斯卡(Kraska)多年來一直在探討學習索引的主題,可追溯到2017年他與Google同事的有影響力的工作。
并未參與海嘯項目的哈佛大學教授Stratos Idreos表示,學習型索引的獨特優勢在于其尺寸小,除了節省空間外,還可以顯著提高性能。
Idreos說:“我認為這一工作線是一種范式轉變,它將長期影響系統設計。” “我希望基于模型的方法將成為新一輪自適應系統核心的核心組成部分之一。”
同時,Bao致力于通過機器學習提高查詢優化的效率。查詢優化器將高級聲明性查詢重寫為查詢計劃,該計劃實際上可以在數據上執行以計算查詢結果。但是,通常存在不止一個查詢計劃來回答任何查詢。選擇錯誤的查詢可能會導致查詢花幾天時間才能計算出答案,而不是幾秒鐘。
傳統的查詢優化器需要花費數年的時間來構建,很難維護,而且最重要的是,不要從錯誤中吸取教訓。Bao是第一個基于學習的查詢優化方法,已完全集成到流行的數據庫管理系統PostgreSQL中。首席作者Ryan Marcus是Kraska小組的博士后,他說Bao生成的查詢計劃比PostgreSQL優化器創建的查詢計劃快50%,這意味著它可以幫助顯著降低云服務的成本,例如Amazon的Redshift,基于PostgreSQL的。