乙個迄今為止最快的併發鍵值儲存庫FASTER誕生

2021-08-26 02:26:26 字數 1265 閱讀 3115

在過去十年中,雲中的資料密集型應用程式和服務有了巨大的增長。資料在各種邊設施(例如,裝置,瀏覽器和伺服器)上建立,並由雲應用程式處理用來獲得資料價值或做出決策。應用程式和服務可以處理收集的資料,也可以實時監控資料。這些應用程式通常是更新密集型的,並且涉及大量的狀態,超出了適合主儲存器的處理能力。但是,它們在其訪問模式中顯示出重要的時間區域性性(時間區域性性解釋維基百科=>一種用於點運算的新的鍵值儲存。faster將快取記憶體優化的併發雜湊索引與「混合日誌」結合在一起:跨越主記憶體和儲存的併發日誌結構記錄儲存,並且支援記憶體中「熱插拔」的快速就地更新。faster擴充套件了標準鍵值儲存介面,以處理讀取 - 修改 - 寫入,blind 更新和基於crdt的更新。實驗表明,與當前廣泛部署的儲存庫相比,faster在單台機器上實現了更高的吞吐量(每秒高達1.6億次操作),並且當工作負載大小適合記憶體大小時,他的效能將遠勝於純記憶體資料結構的效能。

微軟研究團隊於2023年6月份在sigmod 宣布了一項名為faster的新的key-value儲存庫。faster支援快速和頻繁的資料查詢。它還有助於解決在當今雲時代的應用程式更新大量狀態資訊的問題。

讓我們以物聯網為一種場景。數十億裝置報告和更新狀態,如每個裝置的效能計數器。這將導致應用程式未充分利用機器上的儲存庫和網路等資源。他能更快地幫助解決此問題, 因為它利用這些應用程式中的時間位置來控制系統記憶體佔用量。

根據微軟的說法,「faster是乙個單節點共享記憶體鍵值儲存庫」。鍵值儲存是nosql資料庫,它使用簡單的鍵/值方法進行資料儲存。它包含兩項重要創新:

傳統的鍵值儲存利用日誌結構記錄資料。但是,faster是不同的,因為它有乙個混合日誌,它結合了日誌結構和讀取副本更新(適用於外部儲存)和就地更新(適用於效能更高的記憶體)。因此,位於儲存器中的混合日誌的頭部使用讀取 - 複製 - 更新,而主儲存器中的混合日誌尾部使用就地更新。記憶體中有乙個位於這兩個區域之間的唯讀區域。它為核心記錄提供了另乙個被複製回尾部的機會。這捕獲了更新的臨時位置,並允許在記憶體中自動的收集熱記錄。

因此,faster甚至能夠超越英特爾tbb hash map等純記憶體資料結構。微軟表示,它的效能遠遠優於今天流行的諸如rocksdb和redis等鍵值儲存的快取系統。

除此之外,faster還為故障恢復提供支援,因為它包含乙個恢復策略,有助於將系統以低成本恢復到最近的一致狀態。這與傳統資料庫系統中的恢復機制不同,因為它不涉及阻止或建立單獨「預寫的日誌」。

有關更多資訊,請檢視官方研究報告。

翻譯參考:

迄今為止跑得最快的一次10公里

成為比較 稀少 的人,順便實測下自己的運動成績,這兩方面的因素,加上最重要的是現在有時間 未來就不一定,所以,即使天氣冷,也讓人有躍躍欲試的衝動。近幾年也還一直堅持著跑步,粗略算上千公里應該也有了,可惜都沒有計算成績 只有引體向上30個 雙槓支撐49個,這種個人夏季最好成績算是鎖定下來了。準備的策略...

智慧型電廠 迄今為止第乙個完全技術國產化的方案

中國華電集團分布式專案開發培訓班在北京召開,華電集團特邀中機新時代技術專家給與會的140位全國各地電廠廠長 專家進行智慧型電廠應用技術培訓。中機獨有智慧型電廠技術被列入電力培訓系統。而這場電力行業的精英匯集迅速地拉開了中國電力能源智慧型化改革的序幕。經濟發展,電力先行 歷經數十載對發電裝置和專案實施...

實現乙個鍵值對儲存 目錄

2014年7月8日更新 這個系列的文章仍在繼續,我正在實現這個鍵值對儲存並將在其差不多完成的時候寫一篇文章。這些文章每一篇都花了我很長時間來寫。為了在完成的時候獲得更新通知,你可以在部落格右上角訂閱。本文的內容可能隨時間變化直到系列完成。特別是在目錄裡,各個部分的標題還沒有寫而順序也有可能改變。隨著...