1樓:NebulaGraph
業務系統往往是通過子系統組合的模式來完成, 這些子系統很可能是不同的資料庫, 甚至可能是"友商"的, 互相直接無法保證事務, 還是得業務自身保證。
2樓:codingfor
你說的單機事物,我的理解其實是指single-threaded excution,而不是指在單台機器上做事物(暗含了concurrency的情況,比如多執行緒、多程序等)。
這在一定場景下是成立的(不少記憶體資料庫進行了實現):
1、單台伺服器的記憶體容量很大,可以塞進整個資料庫。
2、OLTP事物比較簡單而且操作很少的資料。
但它缺點也比較明顯,業務吞吐量受制於1個CPU核心。
你說的文件的意圖,我猜是repeatable read,但存在問題,注意非同步操作的情況,不然資料真的不一致了。
ACID乙個都不能少。
3樓:元一
以目前我親自見到的測試效果,無論是cockroachdb還是tidb的tpcc測試資料,都不是很理想,印象裡google的spanner/f1也不是搞高吞吐業務的
為什麼分布式資料庫這麼喜歡用kv store?
NebulaGraph 採用鍵值對儲存主要還是出於資料模型和效能角度考慮的。目前比較流行的方案有 Google 開源的 LevelDB 和 FaceBook 開源的 RocksDB。鍵值型儲存模型比較簡單,LSM 模型將隨機寫轉換為順序寫,在隨機讀方面也可以優化,效能比較有保障。分布式系統往往根據 ...
在分布式資料庫儲存中,資料分割槽和資料放置有什麼區別?
楊東東 資料分割槽和資料放置是邏輯和物理的關係,邏輯是頂層設計,物理是具體實現,邏輯設計決定物理實現,物理約束反過來影響邏輯設計。舉個例子,給你10個桌球,要求放入3個盒子裡。如何決定哪個球放入哪個盒子?比如 按照編號大小 0 2放入盒子A,3 5放入盒子B,6 9放入盒子C 按照編號特徵 對3取餘...
什麼情況下,需要使用分布式資料庫?
NebulaGraph 首先,分布式資料庫的優勢大致上概括為三種 1,資料分布儲存在不同的節點上,解決了單機下資料量的限制問題 2,分布式計算,均衡了計算負載 3,從資料安全性考慮,分布式資料庫一般都有多副本機制,以此保證了某乙個節點資料壞掉後能正常提供服務。基於以上三點,我認為海量資料的高併發業務...