FoundationDB 開源文檔數據庫模型Document Layer
昨日,FoundationDB數據庫宣布開源 FoundationDB Document Layer,Document Layer是FoundationDB數據庫中的文檔數據模型,擴展了FoundationDB作為Key-Value數據庫的核心功能。FoundationDB Document Layer項目已託管至GitHub,採用了Apache-2.0開源許可證,且適用於macOS和Linux平台。可點此下載二進制包。
其實嚴格來說,Document Layer是FoundationDB 中的文檔數據庫層,實現了MongoDB wire protocol。至於所謂“層(layers)”這個概念源於FoundationDB創立之初的理念—— FoundationDB的願景是從一個簡單且強大的核內核開始,然後逐漸通過添加“層(layers)”以進行擴展。“層”通過為其模型的特定數據類型添加功能來擴展內核,並處理它們的訪問模式。
Document Layer 實現了MongoDB wire protocol,可通過現有的MongoDB 客戶端綁定使用MongoDB API。而所有的持久性數據都會存儲在FoundationDB Key-Value 數據庫中。
Document Layer還實現了MongoDB API (v 3.0.0)的一個子集,但兩者存在一些差異。該子集主要側重於CRUD操作、索引和事務這些方面。Document Layer能夠和所有最新的官方MongoDB驅動搭配使用。
由於Document Layer構建在FoundationDB之上,因此它同樣擁有和FoundationDB一樣的穩定性——因果一致性和強一致性是默認的操作模式。索引也始終會與插入保持一致。由於FoundationDB後端自動處理數據分發,因此它也不需要片鍵( Shard keys)。詳細信息請查看此文檔。
FoundationDB Document Layer 的一些特性:
- 兼容MongoDB API
- 使用FoundationDB 進行可擴展的文檔存儲