技術社群正在見證資料庫架構的一個新興趨勢,即像 Amazon S3 和 Google Cloud Storage 這樣的物件儲存系統正被重新定位為資料庫後端。這種轉變代表了雲時代下我們對資料儲存和處理思維方式的一個引人注目的演變。
基於物件儲存的資料庫的興起
越來越多的專案和解決方案正在探索將物件儲存作為資料庫系統基礎的潛力。從 Glassdb 到 SlateDB ,開發者們正在尋找創新方法來利用雲物件儲存的高永續性和一致性保證。這些解決方案旨在消除儲存層和計算層之間的傳統分離,提供更簡化的資料管理方法。
這很酷,對於像內容管理系統這樣不經常更新的應用來說可能很有用。
競爭方案和權衡
不同的專案採用不同的方法來處理物件儲存作為資料庫時固有的挑戰。例如, SlateDB 採用單寫入器模型並批次處理寫入操作以最佳化 S3 成本。相比之下, Glassdb 優先考慮更易訪問的多寫入器方法,儘管由於每次事務的 S3 請求可能會導致更高的運營成本。這突顯了開發者必須考慮的一致性、成本和效能之間的持續平衡。
物件儲存操作效能指標:
- 讀取(90百分位):63.1毫秒
- 寫入(90百分位):105毫秒
- 元資料(90百分位):41.3毫秒
關鍵實現方法:
- 單寫入器配合批次寫入( SlateDB )
- 多寫入器配合單事務請求( Glassdb )
- 支援嚴格序列化
- 無需伺服器元件
雲服務提供商能力的演進
雲服務提供商最近的發展使這些解決方案變得越來越可行。 AWS 引入增強的 S3 功能,包括條件操作和匹配支援,為實現複雜的資料庫功能開闢了新的可能性。這些改進正在實現更強大的無伺服器資料湖、流服務和佇列系統的實現。
與現有生態系統的整合
社群討論揭示了與現有技術有趣的潛在整合。特別是對使用這種方法實現 Iceberg 目錄的興趣,以及與 Delta Lake 和 Rockset 等解決方案的比較。這些實現可能會彌合傳統資料庫和現代雲原生儲存解決方案之間的差距。
快取考慮
討論的一個關鍵點集中在快取策略上。雖然一些解決方案(如 Cloudflare 的 Durable Objects with SQLite )專注於複雜的快取層來分攤查詢延遲成本,但其他解決方案透過直接與物件儲存確認寫入來維持嚴格的一致性。這代表了效能和一致性保證之間的基本權衡。
總之,雖然將物件儲存作為資料庫後端會帶來某些效能上的權衡,但對於特定用例而言,這種方法在可擴充套件性、簡單性和成本效益方面提供了令人信服的優勢。隨著雲服務提供商繼續增強其物件儲存功能,我們可以期待在這個領域看到更多創新。