近日 FerretDB 宣佈推出 2.0 版本的首個候選釋出版。FerretDB 由新近釋出的 DocumentDB 驅動,作為 MongoDB 的開源替代方案,它帶來了顯著的效能提升、更強的功能相容性、向量搜尋能力以及複製支援。
正如 InfoQ 此前報道,FerretDB 最初在三年前以 MangoDB 的名稱推出,並於去年正式釋出。FerretDB 的聯合創始人兼執行長 Peter Farkas 寫道:
“FerretDB 2.0 在效能和相容性方面實現了巨大飛躍。由於底層的改進,FerretDB 在處理某些工作負載時速度提升了 20 倍,效能與市場上的領先競品相當。之前版本中可能遇到相容性問題的使用者會驚喜地發現,FerretDB 現在支援更廣泛的應用程式,能讓更多應用無縫執行。”
FerretDB 基於 Apache 2.0 許可釋出,通常與 MongoDB 的驅動程式和工具相容。對於許多傾向於避開 SSPL 許可(一種 copyleft 開源軟體許可)的開源專案和早期商業專案而言,它被設計為 MongoDB 5.0 及以上版本的直接替代品。
FerretDB 2.x 利用了微軟的 DocumentDB PostgreSQL 擴充套件。這個基於 MIT 許可的開源擴充套件為 PostgreSQL 引入了 BSON 資料型別及相關操作。該解決方案包含兩個 PostgreSQL 擴充套件:用於 BSON 最佳化的 pg_documentdb_core 和用於資料操作的 pg_documentdb_api。
FerretDB 團隊表示,保持 DocumentDB 與 FerretDB 之間的相容性,能讓使用者在 Postgres 上執行文件資料庫工作負載時獲得更好的效能,並且對現有應用程式有更好的支援。Azure 的首席產品經理 Abinav Rameesh 在描述基於 vCore 的 Azure Cosmos DB for MongoDB 背後的引擎時解釋道:
“尋找即用型 NoSQL 資料庫的使用者可以藉助 FerretDB 中的現有解決方案……使用者可以透過 Postgres 與 DocumentDB 進行互動,而 FerretDB 2.0 則提供了符合文件資料庫協議的介面。”
Farkas 在領英(LinkedIn)上評論補充道:
“隨著微軟開源 DocumentDB,我們比以往任何時候都更接近,能真正在行業內開展協作共同建立文件資料庫的開放標準。”
在另一篇文章中,Farkas 解釋了為什麼他認為文件資料庫除了做到 “與 MongoDB 相容” 之外,還需要標準化。FerretDB 列出了與 MongoDB 的 已知差異,並指出雖然它使用相同的協議錯誤名稱和程式碼,但在某些情況下,確切的錯誤訊息可能有所不同。儘管與 DocumentDB 整合提升了效能,但與 FerretDB 1.0 相比,這代表了重大轉變並引入了迴歸限制。Farkas 寫道:
“隨著 FerretDB 2.0 的釋出,我們現在專注於利用 DocumentDB 支援 PostgreSQL 資料庫(……)不過,對於那些依賴早期版本和後端的使用者,FerretDB 1.x 版本仍可在我們的 GitHub 倉庫中獲取,我們鼓勵社群繼續為其開發作出貢獻,或者自行進行分支和擴充套件。”
作為 FerretDB 2.0 釋出的一部分,FerretDB Cloud 正在開發中。這個託管資料庫即服務選項最初將在 AWS 和 GCP 上提供,後續還計劃支援微軟 Azure。FerretDB 專案的高階路線圖可在 GitHub 上檢視 。
Renato Losio,Renato 作為雲架構師、技術主管和雲服務專家,擁有豐富的經驗。目前,他居住在柏林,擔任首席雲架構師開展遠端工作。他主要感興趣的領域包括雲服務和關係型資料庫。他是 InfoQ 的編輯,也是經過認證的 AWS Data Hero。
原文連結:
https://www.infoq.com/news/2025/02/ferretdb-documentdb/
宣告:本文為 InfoQ 翻譯整理,未經許可禁止轉載。
