精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

OceanBase開源,11張圖帶你了解分布式數據庫的核心知識

運維 數據庫運維 分布式
螞蟻集團自研數據庫OceanBase已經開源,這對國產分布式數據庫來說,是一個重磅消息。一直以來OceanBase作為商業數據庫,披露的技術細節并不多,以后又多了一個可以拿來研究的優秀分布式數據庫。

[[402974]]

本文轉載自微信公眾號「程序員jinjunzhu」,作者jinjunzhu。轉載本文請聯系程序員jinjunzhu公眾號。

螞蟻集團自研數據庫OceanBase已經開源,這對國產分布式數據庫來說,是一個重磅消息。一直以來OceanBase作為商業數據庫,披露的技術細節并不多,以后又多了一個可以拿來研究的優秀分布式數據庫。參考1[1]

根據官網描述,在5月20日國際事務處理性能委員會(TPC,Transaction Processing Performance Council)官網發布最新的數據分析型基準測試(TPC-H)榜單中,OceanBase以 1526 萬 QphH 的性能總分排名 30,000 GB 第一。這意味著,OceanBase 成為唯一在事務處理和數據分析兩個領域測試中都獲得第一的中國自研數據庫。

1 架構

主流的分布式數據庫有兩種架構,PGXC和NewSql。

1.1 PGXC

PGXC是指PostgreSQL-XC,指以PostgreSQL為內核的分布式數據庫,整體架構如下:

PGXC架構是對傳統單體數據庫做了集群,在集群的基礎上加了協調節點,協調節點具有如下作用:

  • 客戶端接入
  • 進程管理
  • 分布式事務管理
  • 查詢處理

同時還增加了分片管理和全局時鐘。分片管理用來管理集群的分片信息,全局時鐘的介紹見下一節。

雖然PGXC名字的由來是PostgreSQL組成的分布式數據庫,但是使用其他單體數據庫組成的分布式數據庫,也可以理解為PGXC,比如Golden使用的就是mysql作為內核。

1.2 NewSQL

跟PGXC采用傳統單體數據庫為內核相比,NewSQL是在NoSQL基于分布式鍵值存儲系統的基礎上構建了分布式事務處理能力。架構如下圖:

此外,NewSQL還有兩個改進:

  • 對于HA,放棄傳統數據庫的主從復制,使用Paxos、Raft等共識算法來保證多副本的一致性。
  • 對于存儲,使用LSM樹模型替換B+樹,寫入性能更高。

2 全局時鐘

2.1 線程一致性

線性一致性(Linearizability)是分布式系統中最強的一致性模型,總體思想是保證讀取多個不同副本的客戶端,跟讀取同一個副本讀到的結果一樣,即整個系統看起來像只有一個副本。

先看兩個不符合線性一致性的示例。

2.1.1 同一個客戶端

如下圖:

client1第一次讀取了x的值是0,第二次讀取時以為client3修改了x的值,所以讀到了新的值1,但是第三次讀取時因為讀到了別的副本,因為這個副本還沒有同步完成,所以讀到了舊的值0。

2.1.2 不同客戶端

如下圖:

client1第一次讀取了x的值是0,第二次讀取時因為client3修改了x的值,所以讀到了新的值1,但是在client1第二次讀取之后,client2來讀取x的值,因為讀到了別的副本,因為這個副本還沒有同步完成,所以讀到了舊的值0。

線性一致性要求,任何一個客戶端讀取返回新值后,后面所有客戶端(包括相同客戶端和不同客戶端)讀取也必須返回新值

下面這個圖就是線性一致性的:

2.2 全局時鐘

從上面的描述可以看到,線性一致性是建立在事件的先后順序之上的。所有操作必須記錄在一條時間線上,任意兩個事件都有先后順序。但是,集群中各個節點都有各自的時間線,怎么實現時間上的順序性呢。這時就需要一個全局的絕對時間,就是這里講的全局時鐘。

一般來說,從一臺時間服務器獲取時間,就可以實現全局時鐘,但是必須保證高可用。下面介紹幾種全局時鐘的實現方式:

2.2.1 TrueTime

Google Spanner采用GPS加原子鐘來分配時間,支持多點授時機制。有兩個明顯的優勢:

  • 多點授時去中心化,實現了高可靠。
  • 支持全球化部署,這樣可以減少客戶端和時間服務器的通信時長。

但是也存在一些問題:

  • 采用物理時鐘可以出現時鐘偏移和時鐘回撥。
  • 多點授時可能出現系統整體的時間誤差。

從Spanner的介紹看,時間誤差在7毫秒以內。

2.2.2 混合邏輯時鐘(HLC)

HLC(Hybrid Logical Clock),因為Truetime依賴于硬件設備來實現,實現難度大,所以有的數據庫采用了混合邏輯時鐘,即物理時鐘和邏輯時鐘配合使用,同樣采多時間源、多點授時,所以也會有系統整體的時間誤差問題。

2.2.3 Timestamp Oracle

簡稱TSO,中心化授時方案,采用單時間源、單點授時實現全局時鐘,用一個全局唯一的時間戳作為xid(全局事務id)。

優點:

  • 實現簡單
  • 單時間源單調遞增,可以減少事務沖突

缺點也很明顯

  • 單點授時,性能會有瓶頸
  • 不適合大規模集群部署

目前,TiDB、OceanBase都使用了這個方案。

2.2.4 總結

Spanner需要借助物理設備來實現,對其他開源數據庫的參考價值并不大。

其他無論采用HLC還是TSO,都有各自的優缺點。

還有一種介于兩者之間的授時方案,單時間源,多點授時,使用比較少。

3 HTAP

HTAP英文全稱是 Hybrid Transaction and Analytical Processing,即混合事務和分析處理,能夠將事務處理(OLTP)和數據分析(OLAP)請求在同一個數據庫系統中完成。

HTAP需要在計算和存儲兩個層面支持OLTP和OLAP,存儲是基礎。OLTP通常使用行式存儲,OLAP則一般使用列式存儲,差異很大。HTAP解決這個差異的方式有兩種:

  • Google Spanner的PAX,一種新的融合性存儲,即在行存儲的基礎上融合列存儲的特點。
  • TiDB的思路,借助Raft協議在OLTP與OLAP之間異步復制數據,通過OLAP的特殊設計來彌補異步帶來的數據不一致。

OceanBase采用獨創的分布式計算引擎,能讓系統中多個計算節點同時運行OLTP類型的應用和OLAP類型的應用,實現了用一套計算引擎同時支持混合負載的能力。

4 RANGE動態分區

下圖有4條數據,

如果按照HASH進行分片,一般會選擇id作為key進行HASH計算,之后根據計算結果把數據分配到不同的分片中。這樣做的好處是實現簡單,但也存在兩個問題:

  • 分片不具備業務屬性,可能會存在業務熱點訪問的問題。
  • 分片規模變化時,遷移數據問題。

Range分片技術跟HASH相比,很大的不同是數據并沒有被打散。比如上表中,我們可以把數據按照城市進行分片,這樣數據讀取效率會更高。

Range動態分區用在NewSQL架構的分布式數據庫中,一般具有下面的特性:

4.1 自動合并和拆分

可以給分配的數據量設置閾值,當某個分片的數據量超過最大閾值時,可以自動拆分成2個分片,當分片數據量小于最小閾值時,進行分片合并。

4.2 自動負載

當某個分片上的熱點數據較多時,節點訪問壓力會很大,系統可以自動地將這些熱點數據訪問調度到不同節點,以均衡訪問壓力。

4.3 減少分布式事務

分布式事務的開銷會遠遠大于本地事務,分布式數據庫可以把頻繁參與同一個分布式事務的數據調度到同一個分片上,這樣就避開了分布式事務。

Spanner支持

4.4 就近訪問

在全球部署的場景下,給用戶分配最近節點的分片,可以減少訪問延時。

Spanner支持

4.5 高可靠

分布式數據庫的高可靠是分區級別的高可靠,下圖是OceanBase中一個Zone的架構圖:

OceanBase基于Paxos算法來實現系統的高可用,最小的粒度可以做到分區級別。集群中數據的每一個分區會被保存到所有的Zone上,分區的多個副本采用Paxos協議進行日志同步。每個分區和它的副本構成一個獨立的Paxos復制組,其中一個分區為Leader,其它分區為Follower。所有針對這個副本的寫請求,都會自動路由到對應的主分區上進行。主分區可以分布在不同的OBServer上,這樣對于不同副本的寫操作也會分布到不同的數據節點上,從而實現數據多點寫入,提高系統性能。

5 percalator模型

分布式數據庫是在BigTable基礎上增加了分布式事務解決方案。而Percolator模型就是Google提出的構建在BigTable之上的分布式事務解決方案。參考2[2]

percalator模型采用了2階段提交的思想,這里以銀行匯款為例,賬戶1給賬戶2匯款100元,這2個賬戶位于不同的分區上。

5.1 初始狀態

初始階段,假如初始時賬戶1上有300元,賬戶2上有500元,如下圖:

上面表格中,":"前面是用時間戳表示的數據版本,后面是數據值。第一列是表名,第二列的低版本保存了數據,第三列列保存了數據上加的鎖。第四列的高版本保存了指向保存數據版本的指針,比如6這個版本保存了指向了5這個版本數據的指針 6:data@5。

5.2 Prewrite

事務管理器向兩個分片發送了Prepare請求,分片收到請求后,為每個要修改的數據行寫日志,并且根據時間戳記錄事務的私有版本,這里的私有版本就是7,這樣就獲得了鎖,其他事務就不能操作這兩條數據了。

如下圖:

從第二列的數據可以看到,賬戶1上減少了200元,賬戶2上增加600元。從第三列可以看到賬戶1獲得了primary lock,賬戶2上是指向primary lock的鎖指針。

注意:primary lock的選擇是隨機的,賬戶1和賬戶2都可以選擇。

5.3 commit

commit階段,協調節點只需要跟擁有primary lock的分片進行通信,這里只需要跟賬戶1進行通信,從而保證了commit指令的原子性。這時數據如下表:

可以看到賬戶1的primary lock已經清除了,同時增加了8這個版本,8這個版本的數據指向版本7。這樣7、8兩個版本都不是私有版本了,其他事務就可以操作這條記錄了。

私有版本還有一個作用,就是賬戶1提交失敗后,賬戶2可以根據私有版本進行回滾。

5.4 事務結束

commit成功后并沒有同步清除賬戶2上的私有版本和鎖指針,而是會啟動異步線程來清除,異步線程清除完成后,最終數據如下圖:

可以看到,最終賬戶2清除了鎖指針和私有版本。

賬戶2上的lock沒有同步清除,其他線程讀取賬戶2時會根據primary@order.bal查找primary lock,如果發現primary lock已經清除,就可以繼續讀取。讀取的同時做一下secondary lock清理工作。

6 總結

本文主要從5個方面入手講了分布式數據庫的關鍵知識,歡迎大家批評指正。

參考資料

[1]參考1: https://open.oceanbase.com/

[2]參考2: https://www.cs.princeton.edu/courses/archive/fall10/cos597B/papers/percolator-osdi10.pdf

 

責任編輯:武曉燕 來源: 程序員jinjunzhu
相關推薦

2022-03-02 09:13:00

分布式數據庫Sharding

2023-12-05 07:30:40

KlustronBa數據庫

2021-12-20 15:44:28

ShardingSph分布式數據庫開源

2023-07-31 08:27:55

分布式數據庫架構

2023-07-28 07:56:45

分布式數據庫SQL

2021-06-07 17:51:29

分布式數據庫關系

2023-10-10 08:11:24

數據庫運維多租戶

2023-11-14 08:24:59

性能Scylla系統架構

2023-03-07 09:49:04

分布式數據庫

2020-06-23 09:35:13

分布式數據庫網絡

2024-09-09 09:19:57

2022-08-01 18:33:45

關系型數據庫大數據

2022-03-10 06:36:59

分布式數據庫排序

2011-05-19 09:18:48

分布式數據庫

2022-06-09 10:19:10

分布式數據庫

2022-06-15 10:57:03

數據庫系統

2024-03-11 08:57:02

國產數據庫證券

2022-12-14 08:00:00

數據庫分布式數據庫隔離

2023-12-11 09:11:14

TDSQL技術架構
點贊
收藏

51CTO技術棧公眾號

www日本高清视频| 日韩视频免费在线播放| 国产www免费观看| 日韩av成人高清| 欧美极品美女视频| 秋霞在线午夜| 女人丝袜激情亚洲| 欧美体内she精视频| 亚洲精品一区二区三区樱花 | 一区二区三区视频在线观看| 精品1区2区| 国产伦精品一区二区三区免.费| 国产一区激情| 欧洲一区在线电影| 久久久综合免费视频| 欧美 日本 国产| 视频欧美精品| 岛国av一区二区三区| 中文字幕在线亚洲精品| 亚洲aaa在线观看| 亚洲高清视频在线播放| 一本色道88久久加勒比精品| 色婷婷久久一区二区| 国产精品伦子伦| 亚洲欧美日本国产| 欧美三级中文字| 色综合久久久久无码专区| 老司机在线看片网av| 91精品国产沙发| 国产另类自拍| 6—12呦国产精品| 久久综合婷婷综合| 久久久久久av无码免费网站| 国际精品欧美精品| 精品国产乱码久久| 最新免费av网址| 欧美gay囗交囗交| 亚洲国产欧美日韩另类综合| 免费日韩中文字幕| 青青草激情视频| 视频一区中文| 日韩你懂的电影在线观看| 男操女免费网站| 成人日韩在线| 91精品导航| 色综合欧美在线| 精品人妻少妇一区二区| 色呦呦呦在线观看| 亚洲欧美电影院| 亚洲日本精品| 亚洲精品传媒| 成人欧美一区二区三区视频网页| 日韩欧美激情一区二区| 国内在线精品| 中文字幕免费不卡| 色一情一乱一伦一区二区三欧美| 精品视频一二区| 国产亚洲精品免费| 91精品在线一区| 永久免费黄色片| 日本一区二区三区中文字幕| 欧美亚洲动漫另类| 99视频在线视频| 国产在视频一区二区三区吞精| 在线观看亚洲专区| 亚洲第一狼人区| 亚洲日本免费电影| 欧美一级xxx| 95视频在线观看| 全国精品免费看| 亚洲美女av网站| 日韩视频在线观看免费视频| 成人精品视频| 久久久极品av| 国产亚洲欧美精品久久久久久| 红桃视频国产精品| …久久精品99久久香蕉国产| 无码人妻精品一区二区三区不卡 | 一区二区三区电影| 色婷婷成人综合| 韩国欧美亚洲国产| 国产成人在线观看网站| 欧美一级网站| 国产精品在线看| 国产黄色免费大片| 久久综合一区二区| 中文字幕99| 国内小视频在线看| 欧美日韩激情视频| 免费一区二区三区在线观看| 亚洲国产高清在线观看| 日韩av在线播放资源| 中文字幕在线观看免费高清| 亚洲视频在线免费| 欧美在线激情网| 91成年人视频| 99久久综合99久久综合网站| 日韩欧美亚洲日产国| 欧美日韩精品一区二区| 国内精品久久久久久久久| 91九色丨porny丨肉丝| 视频在线在亚洲| 91九色视频在线| 中文字幕久久综合| 国产小视频在线观看| 国产精品高潮久久久久无| 天天想你在线观看完整版电影免费| 川上优av中文字幕一区二区| 欧美日韩精品一区二区三区蜜桃| 国模无码视频一区| 欧美肥老太太性生活| 69av在线视频| 国内精品久久久久久久久久久 | 一级淫片在线观看| 四虎影视精品| 色综合天天综合网国产成人网| 亚洲AV无码成人精品区东京热| 国产一区二区福利视频| 青青草成人网| 日本在线啊啊| 亚洲成人aaa| 91精品国产闺蜜国产在线闺蜜| 日韩高清一区在线| 久久大片网站| 国精产品一区一区三区mba下载| 欧美日韩高清一区二区不卡| 成年人免费观看视频网站 | 国产欧美精品日韩区二区麻豆天美| 桥本有菜av在线| 456成人影院在线观看| 亚洲国产精品网站| 久久精品国产亚洲AV无码男同| 精品一区二区免费视频| 色播五月综合| 欧美日韩尤物久久| 国产亚洲精品久久久久久777| 圆产精品久久久久久久久久久| 国产精品资源站在线| 一区二区三区av| 久久久久久久性潮| 在线播放国产一区中文字幕剧情欧美 | 教室别恋欧美无删减版| 奇米一区二区三区四区久久| 丝袜视频国产在线播放| 欧美日韩免费在线| 国产精品1000部啪视频| 性娇小13――14欧美| 久久久久久久久久久久久9999| а√天堂中文资源在线bt| 精品国产精品一区二区夜夜嗨| 九九在线观看视频| 粉嫩蜜臀av国产精品网站| av片在线免费| 高清一区二区三区| 91高清在线免费观看| 日韩精品视频无播放器在线看 | 一起操在线视频| 久久精品高清| 亚洲综合成人婷婷小说| 欧美黑人xx片| 亚洲精品国偷自产在线99热 | av不卡免费看| 欧美韩国日本精品一区二区三区| 桃色一区二区| 日韩视频亚洲视频| 亚洲毛片在线播放| 精品久久久一区| 国产高潮呻吟久久| 精品一区二区三区在线观看 | 日本少妇xxxxx| 久久精品国产精品亚洲精品| 日本xxxxx18| 久久影视三级福利片| 国产成+人+综合+亚洲欧洲 | 国产精品欧美久久久| 国产无套粉嫩白浆在线2022年| 欧美色视频一区| 在线看的片片片免费| 国产成人免费xxxxxxxx| 九九九九免费视频| 日本女优一区| 懂色av一区二区三区在线播放| 丰满的护士2在线观看高清| 亚洲嫩模很污视频| 国产精品伦理一区| 性久久久久久久久| 国产三级在线观看完整版| 国产成人亚洲综合a∨猫咪| 亚洲中文字幕无码专区| 奇米影视亚洲| 国产欧美日韩伦理| 婷婷激情成人| 91av在线影院| 黄色片网站在线| 国产视频久久久久久久| 国产精品视频在线观看免费| 午夜不卡av在线| 东京热无码av男人的天堂| 丁香激情综合国产| www亚洲成人| 在线视频亚洲| 欧美在线观看黄| 日韩女优制服丝袜电影| 日韩欧美视频在线免费观看| 国产欧美精品区一区二区三区| 久久发布国产伦子伦精品| 久久婷婷久久| www.xxx麻豆| 日韩欧美中字| 久久精品国产美女| 日韩成人在线观看视频| 国产精品久久久久福利| segui88久久综合9999| 久久视频在线直播| 成人亚洲综合天堂| 亚洲精品av在线| 国产情侣在线播放| 欧美视频在线观看一区二区| 中文在线观看免费网站| 亚洲色图清纯唯美| 亚洲av成人无码久久精品| av资源站一区| 成人一区二区三区仙踪林| 激情文学综合丁香| 激情视频免费网站| 蜜桃视频第一区免费观看| 久久久精品在线视频| 99成人在线| 国产片侵犯亲女视频播放| 88国产精品视频一区二区三区| 福利视频一区| 亚洲欧美另类在线观看| 丰满肉肉bbwwbbww| 欧美一级二级三级蜜桃| 亚洲一区二区人妻| 在线欧美小视频| 手机在线看片1024| 欧美视频在线看| 日韩精品在线免费看| 亚洲综合男人的天堂| 国产黄色片在线免费观看| 亚洲欧洲国产日本综合| 日本免费网站视频| 国产精品丝袜久久久久久app| 国产真实乱人偷精品人妻| 久久久美女艺术照精彩视频福利播放| av鲁丝一区鲁丝二区鲁丝三区| av一区二区三区在线| 国产xxxxxxxxx| 91麻豆国产香蕉久久精品| 加勒比一区二区| 国产无一区二区| 五月婷婷六月香| 中文字幕日韩精品一区 | 特黄特色欧美大片| 欧美精品一区在线发布| 精品在线99| 香蕉久久夜色| 91不卡在线观看| 91福利在线尤物| 欧美国产日韩二区| 欧美极品少妇videossex| 久久久久久久久久久网站| 国产91足控脚交在线观看| 97在线看免费观看视频在线观看| 免费影视亚洲| 77777少妇光屁股久久一区| 亚洲天堂资源| 国产精品成人一区二区三区吃奶| 成人18视频在线观看| 成人日韩av在线| theporn国产在线精品| 精品一区二区三区日本| 精品国产91久久久久久浪潮蜜月| 亚洲午夜高清视频| 欧美日韩国产高清| 日本一区二区黄色| 理论电影国产精品| 最新版天堂资源在线| 91网站黄www| 天天色天天综合| 午夜日韩在线电影| 日韩欧美国产另类| 日韩精品综合一本久道在线视频| 偷拍25位美女撒尿视频在线观看| 中文字幕日韩在线播放| 在线电影福利片| 国产91色在线播放| 奇米一区二区| 欧美一区二区视频17c| 亚洲女同另类| 日韩视频免费在线播放| 高清不卡一二三区| 日韩福利在线视频| 午夜精品aaa| 国产婷婷一区二区三区久久| 精品一区电影国产| 成人在线app| 国产精品极品美女在线观看免费| 欧美日韩国产一区二区在线观看| 欧美色图亚洲自拍| 亚洲美女一区| 黑人性生活视频| 国产欧美精品区一区二区三区 | 欧洲精品中文字幕| 男人的天堂a在线| 精品国产欧美成人夜夜嗨| 日韩激情电影| 动漫精品视频| 影音先锋日韩在线| 免费涩涩18网站入口| 久久无码av三级| 国产精品18p| 91精品在线一区二区| 高清日韩av电影| 欧美亚洲国产成人精品| 999久久久精品一区二区| 一道本在线观看视频| 日韩电影在线免费观看| 无码一区二区精品| 亚洲综合免费观看高清完整版在线| 中文字幕在线观看第二页| 精品亚洲一区二区三区在线播放 | 中文字幕第10页| 中文字幕一区二区三区四区不卡| 成人毛片一区二区三区| 精品亚洲夜色av98在线观看| 美女视频在线免费| 国产一区自拍视频| 一本色道久久精品| 国产精品久久AV无码| 亚洲永久精品国产| 午夜精品久久久久久久99| 久久国产精品偷| 国产精品久久久久久av公交车 | 韩国在线视频一区| 人妻少妇偷人精品久久久任期| 综合精品久久久| 国产精品一区二区人人爽| 精品国内产的精品视频在线观看| 视频精品导航| 亚洲欧美成人一区| 久久成人免费电影| 久久国产精品国语对白| 欧美一级xxx| 久草免费在线色站| 国产精品xxxx| 国产婷婷精品| 全黄一级裸体片| 日本韩国精品一区二区在线观看| 国产美女性感在线观看懂色av| 国产成人精品视频在线观看| 国产精品密蕾丝视频下载| 亚洲一二三区av| 中文字幕在线不卡一区二区三区| 伊人色综合久久久| 欧美精品生活片| 国产一区二区三区亚洲| 日韩avxxx| 国产精品无人区| 国产人妖一区二区三区| 欧美激情亚洲激情| 自拍视频一区| 182午夜在线观看| 一区二区三区在线视频观看| 色综合免费视频| 国产v综合v亚洲欧美久久| 日韩一区二区在线| 国产ts在线观看| 色诱视频网站一区| 婷婷免费在线视频| av电影成人| 丝袜美腿亚洲综合| www日韩在线| 日韩av影视综合网| 欧美日韩视频免费看| 成人短视频在线观看免费| 91免费精品国自产拍在线不卡| www.日韩一区| 欧美剧在线观看| 久操精品在线| 超碰中文字幕在线观看| 天天射综合影视| 免费观看在线午夜影视| 精品久久精品久久| 精东粉嫩av免费一区二区三区| 一级aaa毛片| 中文字幕视频一区二区在线有码| 亚洲91网站| 黄色aaa级片| 亚洲国产日韩综合久久精品| 高清毛片在线看| 国产亚洲福利社区| 久久精品国产秦先生| 日本中文在线播放| 久久视频在线免费观看| 狠狠操综合网| 熟女人妻在线视频| 日韩欧美国产一二三区| 日韩欧美精品电影|