nosql简答什么是最终一致性_最终一致性 – 如何在NoSQL中维护非规范化一致性?...
假設(shè)我有兩個(gè)集合,每個(gè)集合的值彼此獨(dú)立,但每個(gè)集合彼此相關(guān).他們是照片和用戶.用戶和照片之間存在一對(duì)多的關(guān)系.
非規(guī)范化數(shù)據(jù)的一個(gè)例子:
users:
{
"id": "AABC",
"name": "Donna Smith"
}
photos:
{
"id": "FAD4",
"description": "cute dog",
"user_id": "AABC", // This is the relationship
"user_name": "Donna Smith" // This is the denormalized value from the "users" collection
}
當(dāng)用戶“AABC”將名稱從“Donna Smith”更改為“Donna Chang”時(shí),如何確保照片集中文檔的一致性?
作為非交易性的,我理解一致性將是最終的.
在更改用戶“AABC”以更新user_id =“AABC”的所有照片后,簡(jiǎn)單(天真)實(shí)現(xiàn)可能會(huì)觸發(fā)后臺(tái)作業(yè).在單次更新的情況下,這將很好.但這是一個(gè)多用戶環(huán)境,并且會(huì)同時(shí)在各個(gè)方向上進(jìn)行更新.例如,如果在照片的背景更新中途將“Donna Smith”更改為“Donna Chang”,用戶“AABC”的名稱將更改為“Donna Smith”?
在線搜索,我看到很多關(guān)于如何建模非規(guī)范化數(shù)據(jù)的討論.但是關(guān)于如何維護(hù)它的任何討論似乎都被輕視為“你還需要更新所有相關(guān)記錄”.在這種情況下,是否有任何NoSQL系統(tǒng)為您提供繁重的工作?任何框架或?qū)嵱贸绦?#xff1f;
>后臺(tái)作業(yè)必須延遲預(yù)定量
大于更新允許的最長(zhǎng)時(shí)間(我如何)
確定延遲?如果操作需要更長(zhǎng)時(shí)間怎么辦?),和;
>這是我在實(shí)際解決方案中找到的唯一討論. NoSQL是一個(gè)大問(wèn)題,為什么我沒(méi)有看到更多關(guān)于此的討論?我錯(cuò)過(guò)了什么?
總結(jié)
以上是生活随笔為你收集整理的nosql简答什么是最终一致性_最终一致性 – 如何在NoSQL中维护非规范化一致性?...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 再降就真买得起了:iPhone 14 P
- 下一篇: mysql 乐观锁_使用Mysql乐观锁