分布式DB四問 1如何實現高效主鍵2如何解決分布式事務3如何解決資料擴容4如何進行高效的資料聚合?

時間 2021-05-10 06:23:28

1樓:Cle Lin

1:主鍵問題,不知道題主是不是想問全域性序列問題,這個,我們系統直接拋棄了序列這一說

2:分布式事務方面,我們也是直接拋棄了跨分片事務這麼一說,直接讓同一筆訂單所有邏輯落在同一分片上,從前端控制語句更新不跨分片進行。靠底下每個分片的mysql來控制事務

3:資料擴容我想這是最好解決的乙個問題,在一開始建造系統的時候就用邏輯上劃分好足量的datahost,前期機器少沒關係,用虛擬機器做節點即可,後期直接堆廉價的pc server進入集群,把虛擬機器前往物理server,提高整體集群硬體能力。

4:不知道還沒開始解決這個問題

2樓:jhh

每個階段包括兩種sql,稱為mapsql和reducesql,另外每個階段包括三個操作,map,資料洗牌和reduce;map和reduce分別執行mapsql和reducesql;

先在不同的資料庫節點中執行map操作,map操作執行mapsql,它的輸入是每個資料庫節點上的表裡面的資料,輸出根據某個字段按照一定的規則進行分割,放到不同的結果集中,結果集作為資料洗牌的輸入

然後執行資料洗牌的過程,將不同結果集拷貝到不同的將要執行reduce的資料庫節點上

在不同的資料庫節點中執行reduce操作,reduce操作執行reducesql;

最後返回結果

3樓:彭河森

在微軟工作的AWS資深使用者出來答一下,資料庫已經夠多的了,麻煩不要再重複造輪子了好嗎?

問題1-3) 可以參閱亞馬遜AWS DynamoDB的思路,文獻在此[1],後來開源版本被Netflix 發布出來,叫做Dynomite [2]。問題4) 可以採用AWS ElasticData Pipeline,定期自動化同步到EMR Hadoop集群或者S3並進行處理。[3]

4樓:申礫

TiDB 中的事務: PingCAP

分布式事務中的最終一致具體應該如何實現?

首先最終一致性就不是採用遠端呼叫這種方式來實現的,你如果要用遠端呼叫來實現,那就上全域性事務框架,沒有什麼其他的好辦法。最終一致性目前都是通過訊息補償投遞來實現的,在消費端做冪等性校驗,投遞端保障投遞正確。 kimmking 分布式系統中的資料一致性和效能怎麼權衡?kimmking的回答 知乎 分布...

如何保證分布式系統metadata資料強一致性?

Tony 乙個現在比較好的解決方案是 將meta data存放在control plane,然後data plane通過control plane來統一。對於control plane,有兩種解決方案。第一,用cluster,這時,需要選用支援強一致的系統,比如etcd和ZooKeeper 還有一些...

分布式情況下如何實現跨異構資料庫互操作的一致性

這個叫做異構分布式事務,有乙個標準叫做xa,它是一種與協調者通訊的api.有了這個api,其餘實現就和普通的分布式事務一樣了。 一致性有很多種,比如 read last write consistency 寫入後全域性立即可見 eventually consistency 最終達成一致要做到even...