LogDevice 是可以擴展而且支援容錯的分散式 Log 系統,而且能夠有高效率的儲存順序性的資料。
LogsDB 是架構在 RocksDB - Wikipedia 之上,不過 LogsDB 好像沒有釋出。
Facebook 開源的分散式有順序資料儲存系統 LogDevice
LogDevice 是 Facebook 從頭設計打造的日誌系統,採用分散式架構,可快速擴展與容錯。
LogDevice 跟一般分散式系統一樣,會在不同的機器上除存紀錄的副本(以多機器來解決備份和資料遺失的問題),若有機器故障、損壞、速度變慢、空間不足等,都會自行調配運作。
官方網站與說明
-
LogDevice · Distributed storage for sequential data
- LogDevice is a scalable distributed log storage system that offers durability, high availability, and total order of records under failures.
- It is designed for a variety of workloads including event streaming, replication pipelines, transaction logs, and deferred work journals.
-
GitHub - facebookincubator/LogDevice: Distributed storage for sequential data
- LogDevice is a scalable and fault tolerant distributed log system.
- While a file-system stores and serves data organized as files, a log system stores and delivers data organized as logs.
- The log can be viewed as a record-oriented, append-only, and trimmable file.
-
LogDevice: a distributed data store for logs – Facebook Code
- LogDevice is a scalable and fault tolerant distributed log system
下述摘錄自此篇:臉書開源可擴展且容錯的分散式日誌系統 LogDevice - 此篇的介紹非常清楚
- LogDevice 是臉書從頭開始設計的日誌系統,其可擴展且容錯的特性,只要叢集中部分節點繼續運作,LogDevice 仍然可以完成高效寫入工作負載。
- LogDevice 提供了多種類型的日誌格式,並且使用一種稱為非確定性分散記錄放置(Non-deterministic Decentralized Record Placement)技術,即便叢集中的某些節點嚴重發生問題,LogDevice依然能提供低延遲、高可用性與一致性的資料寫入服務。
- 其他分散式系統類似,LogDevice 會在不同的機器上儲存每筆紀錄的副本,來達到耐久性要求,透過這些副本的放置選項,在叢集中的許多儲存節點發生故障、速度緩慢或磁碟空間不足,只要叢集中部分節點繼續運作,LogDevice 仍然可以完成高效能寫入工作負載。
- LogsDB 是寫入資料最佳化的儲存應用,目的在減少硬碟搜尋的次數,並且維持 寫入 和 讀取 的 I/O 模式都是有序的。而 LogsDB 提供的 寫入最佳化,即便分屬不同的檔案或是日誌,LogDevice 在寫入資料的時候仍可以維持極高的效率,但這也是犧牲一些存取模式的讀取效率換來的。
- LogDevice日誌提供紀錄一致性保證,多個寫入器可以對同一個日誌並行增加紀錄,所有這些紀錄都能以相同的順序交付給日誌讀取者。
- LogDevice 提供內建的資料遺失檢測報告功能,當偵測到紀錄遺失,LogDevice會遞送錯誤報告給所有相關的讀取者。