每秒高達1.6億次操做的併發鍵值存儲庫 FASTER 誕生

FASTER

在過去十年中,雲中的數據密集型應用程序和服務有了巨大的增加。數據在各類邊設施(例如,設備,瀏覽器和服務器)上建立,並由雲應用程序處理用來得到數據價值或作出決策。應用程序和服務能夠處理收集的數據,也能夠實時監控數據。這些應用程序一般是更新密集型的,而且涉及大量的狀態,超出了適合主存儲器的處理能力。可是,它們在其訪問模式中顯示出重要的時間局部性(時間局部性解釋維基百科=>https://en.wikipedia.org/wiki/Locality_of_reference)。一種用於點運算的新的鍵值存儲。FASTER將高速緩存優化的併發哈希索引與「混合日誌」結合在一塊兒:跨越主內存和存儲的併發日誌結構記錄存儲,而且支持內存中「熱插拔」的快速就地更新。FASTER擴展了標準鍵值存儲接口,以處理讀取 - 修改 - 寫入,blind 更新和基於CRDT的更新。實驗代表,與當前普遍部署的存儲庫相比,FASTER在單臺機器上實現了更高的吞吐量(每秒高達1.6億次操做),而且當工做負載大小適合內存大小時,他的性能將遠勝於純內存數據結構的性能。html

背景

微軟研究團隊於2018年6月份在SIGMOD 宣佈了一項名爲FASTER的新的key-value存儲庫。FASTER支持快速和頻繁的數據查找。它還有助於解決在當今雲時代的應用程序更新大量狀態信息的問題。git

讓咱們以物聯網爲一種場景數十億設備報告和更新狀態,如每一個設備的性能計數器。這將致使應用程序未充分利用機器上的存儲庫和網絡等資源。他能更快地幫助解決此問題, 由於它利用這些應用程序中的時間位置來控制系統內存佔用量。github

根據微軟的說法,「FASTER是一個單節點共享內存鍵值存儲庫」。鍵值存儲是NoSQL數據庫,它使用簡單的鍵/值方法進行數據存儲。它包含兩項重要創新:redis

  • 緩存友好,併發和latch-free (閂鎖釋放,解釋連接:https://www.dbtan.com/2010/05/latch-free.html)的哈希索引。它維護日誌中記錄的邏輯指針。FASTER哈希索引是指向一個緩存行大小的 hash buckets數組,每一個都有8字節的條目來保存哈希標籤。它還包含指向存儲記錄的邏輯指針。。
  • 一個新的併發和混合日誌記錄分配器這有助於支持包括快速存儲(例如雲存儲和SSD)和主存儲器的索引。

是什麼讓FASTER不同凡響?

傳統的鍵值存儲利用日誌結構記錄數據。可是,FASTER是不一樣的,由於它有一個混合日誌,它結合了日誌結構和讀取副本更新(適用於外部存儲)和就地更新(適用於性能更高的內存)。所以,位於存儲器中的混合日誌的頭部使用讀取 - 複製 - 更新,而主存儲器中的混合日誌尾部使用就地更新。內存中有一個位於這兩個區域之間的只讀區域。它爲核心記錄提供了另外一個被複制回尾部的機會。這捕獲了更新的臨時位置,並容許在內存中自動的收集熱記錄。mongodb

所以,FASTER甚至可以超越英特爾TBB hash map等純內存數據結構。微軟表示,它的性能遠遠優於今天流行的諸如RocksDB和Redis等鍵值存儲的緩存系統。數據庫

除此以外,FASTER還爲故障恢復提供支持,由於它包含一個恢復策略,有助於將系統以低成本恢復到最近的一致狀態。這與傳統數據庫系統中的恢復機制不一樣,由於它不涉及阻止或建立單獨「預寫的日誌」。數組

有關更多信息,請查看官方研究報告瀏覽器

FASTER項目Github地址:https://github.com/Microsoft/FASTER緩存

 價值:

有人會問,有了這個FASTER,既然他速度這樣快是否是能夠代替redis或者mongodb,答案是目前不能,由於FASTER是內核級的,和Google的leveldb差很少層級,FASTER速度很是快毋庸置疑,可是目前缺乏更高複雜業務場景的支持,好比集羣,數據一致性之類的商用需求,不過如此誘人的性能一定吸引更多的人去投入FASTER中開發出相似redis和mongodb的產品出來,性能也一定更強,說不定redis後期底層就用FASTER改寫了。🤭服務器

翻譯參考:

https://hub.packtpub.com/say-hello-to-faster-a-new-key-value-store-for-large-state-management-by-microsoft/

https://www.microsoft.com/en-us/research/publication/faster-concurrent-key-value-store-place-updates/

https://www.microsoft.com/en-us/research/blog/microsoft-unveils-faster-key-value-store-large-state-management/

相關文章
相關標籤/搜索