nosql简答什么是最终一致性_最终一致性 – 如何在NoSQL中维护非规范化一致性?...
假設我有兩個集合,每個集合的值彼此獨立,但每個集合彼此相關.他們是照片和用戶.用戶和照片之間存在一對多的關系.
非規范化數據的一個例子:
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
}
當用戶“AABC”將名稱從“Donna Smith”更改為“Donna Chang”時,如何確保照片集中文檔的一致性?
作為非交易性的,我理解一致性將是最終的.
在更改用戶“AABC”以更新user_id =“AABC”的所有照片后,簡單(天真)實現可能會觸發后臺作業.在單次更新的情況下,這將很好.但這是一個多用戶環境,并且會同時在各個方向上進行更新.例如,如果在照片的背景更新中途將“Donna Smith”更改為“Donna Chang”,用戶“AABC”的名稱將更改為“Donna Smith”?
在線搜索,我看到很多關于如何建模非規范化數據的討論.但是關于如何維護它的任何討論似乎都被輕視為“你還需要更新所有相關記錄”.在這種情況下,是否有任何NoSQL系統為您提供繁重的工作?任何框架或實用程序?
>后臺作業必須延遲預定量
大于更新允許的最長時間(我如何)
確定延遲?如果操作需要更長時間怎么辦?),和;
>這是我在實際解決方案中找到的唯一討論. NoSQL是一個大問題,為什么我沒有看到更多關于此的討論?我錯過了什么?
總結
以上是生活随笔為你收集整理的nosql简答什么是最终一致性_最终一致性 – 如何在NoSQL中维护非规范化一致性?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 再降就真买得起了:iPhone 14 P
- 下一篇: Luminous 工作室负责人:正为 P