MongoDB 4.0有望支援跨文檔事務

來源:互聯網
上載者:User

MongoDB 4.0有望支援跨文檔事務

MongoDB併購了WiredTiger及其關聯式資料庫儲存引擎以來,很多技術專家一直翹首以待MongoDB何時提供對跨文檔事務(multi-document transaction)的支援。MongoDB在本周宣布,跨文檔事務有望於今年夏天加入到MongoDB 4.0中。

據MongoDB的Grigori Melnik宣稱,“80%到90%的應用是完全不需要跨文檔事務的”。然而他的說法有待商榷,在層次資料庫中很有可能存在大量的反正常化(denormalized)資料,此類資料需要支援多地同時更新以確保一致性。Melnik繼續指出:

此外,一些開發人員和資料庫管理員受限於業已存在40多年的關係資料建模,總是誤以為多表或多文檔事務是所有資料庫的要求,無論實際需要構建何種資料模型。其他一些人則擔心,雖然他們的應用當前不需要跨文檔事務,但將來可能會需要,他們不希望過度擴充他們的資料庫。

跨文檔事務是ACID的基石。MongoDB自3.0版起,開始支援跨文檔事務。在3.0版中,MongoDB具備了多版本並發控制(MVCC)技術,該技術是一種快照隔離技術,通常是由PostgreSQL和Oracle等關聯式資料庫提供。最新版本的SQL Server也使用MVCC實現其“記憶體最佳化”表。

MongoDB 3.2增加了對“讀取關注”(Read Concern)的支援。在3.2版之前,客戶只有知道進行通訊的節點時,才會接收資料。讀取關注功能允許客戶請求為大多數節點所知的資料。需要注意的是,根據文檔介紹,“無論讀取的關注層級,節點上的最新資料可能並未反映系統中資料的最新版本。”

MongoDB之後在3.6版中提供了其所宣稱的“因果一致性”。在以前的MongoDB版本中,並不能保證操作是按指定順序進行的。例如,當刪除一組記錄後再執行一次讀取操作時,可能會返回剛被刪除的記錄。使用因果一致性,使用者可以指明讀取操作取決於寫操作的結果,確保了在執行讀取操作之前先完成刪除操作。

最後一點,MongoDB 4.0將提供執行一致性讀取的能力。也就是說,MongoDB只返回資料庫在讀取操作開始時已知的資料。正如在InfoQ文章“[交易隔離等級和髒讀的快速入門]http://www.infoq.com/cn/articles/Isolation-Levels)”中所介紹的,以前版本的MongoDB返回的結果可能和任何時間點都不一致。它甚至可能跳過一些文檔,或是在一次查詢中返回同一文檔的多個版本。

希望想要試用跨文檔事務的開發人員,積極加入到MongoDB 4.0 beta計劃中。

更多MongoDB相關教程見以下內容:

MongoDB文檔、集合、資料庫簡介 

MongoDB 3分區部署及故障類比驗證 

Linux CentOS 6.5 yum安裝MongoDB 

CentOS 7 yum方式快速安裝MongoDB 

MongoDB的查詢操作 

在 Azure 虛擬機器上快速搭建 MongoDB 叢集 

MongoDB複製集原理 

MongoDB 3.4 遠端連線認證失敗 

Ubuntu 16.04中安裝MongoDB3.4資料庫系統 

MongoDB權威指南第2版PDF完整帶書籤目錄 下載見

MongoDB 的詳細介紹:請點這裡
MongoDB 的:請點這裡

查看英文原文: MongoDB 4.0 to Include Multi-Document Transactions

本文永久更新連結地址:https://www.bkjia.com/Linux/2018-02/151059.htm

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.