MongoDB 4 2 發布,支援分布式事務

2021-09-26 07:51:54 字數 1275 閱讀 4657

使得分布到集群中不同 sharded 的多文件 acid 事務變得更加簡單。

mongodb 通過二階段提交的方式,實現在多個 shard 間發生的修改,要麼同時發生,要麼都不發生,保證事務的 acid 特性。

在4.2 版本中,mongodb 根據需要建立盡可能多的 oplog 實體(每個最大大小為 16mb),以封裝事務中的所有寫入操作。

而在 mongodb 4.0 中,mongodb 為事務中的所有寫操作建立單個條目,從而對事務強加 16mb 的總大小限制。

mongodb 4.2 新增了 $merge 聚合階段,通過這個新的階段,我們可以:

除此之外,4.2 還增加了其他幾個階段,比如 $plancachestats、$replacewith、$set 以及 $unset ,由於篇幅原因,這些新階段的內容可以參見 這裡。

比如我們有以下場景的需求:

管理員希望建立索引以支援 usermetadata 的任何子字段上的查詢。

usermetadata 的定義如下:

}

}

}

db.userdata.createindex( )

db.userdata.find()

db.userdata.find()

db.userdata.find( })

db.userdata.find()

在新版本裡,update 能根據文件現有的字段內容來生成新的更新內容,如下的例項,根據文件 pay、tax 字段,加起來生成乙個 total 字段;

這個在 4.2 之前,使用者需要先讀取文件內容,獲取 pay、tax 字段得到結果,然後呼叫 update 設定新的字段。

類似的特性還有很多,基本上 aggregation 裡能表達的更新操作,4.2 的 update 命令都能支援。

猜你喜歡

1、五年總結:過往記憶大資料原創精選

2、一文理解 apache spark datasource v2 誕生背景及入門實戰

3、spark & alluxio在網易嚴選架構演進中的實踐和探索

4、重磅 | hpe 宣布收購 mapr!

PostgreSQL 9 6發布 支援並行

9.6版本加入了對一些查詢操作的並行支援,可以利用計算機的幾個甚至所有核心來執行操作,返回結果更快。目前並行的操作有順序表掃瞄,聚合和連線。取決於操作細節和核心數目的不同,並行對大資料檢索的效率可以提高32倍左右。我遷移將我們的整個基因組學資料平台 在老的mysql中大約有250億行 遷移到乙個po...

HPLIP 3 18 4發布 支援更多裝置

hplip 3.18.4是惠普針對惠普噴墨和雷射印表機開發的linux驅動程式,最近發布了支援ubuntu 18.04版本和新的印表機支援。hplip 3.18.4增加了對以下新裝置的支援 hp laserjet pro mfp m28a hp laserjet pro mfp m29a hp la...

Django 3 1 發布,非同步支援增強

django 3.1 已經發布。此版本亮點包括 要開始使用非同步檢視,需要宣告乙個檢視 async def async def my view request await asyncio.sleep 0.5 return httpresponse hello,async world 無論是在 wsg...