精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

亚洲人成网站在线观看播放| 成年无码av片在线| 国产精品无码av无码| 激情在线视频| 国产一区二区0| 久久久亚洲精选| 亚洲永久精品ww.7491进入| 素人啪啪色综合| 一区二区三区不卡视频| 欧美国产一区二区在线| 国产又色又爽又黄又免费| 亚洲高清久久| 最近的2019中文字幕免费一页| 午夜性福利视频| 粉嫩一区二区三区| 亚洲精品中文字幕乱码三区 | h视频久久久| 欧亚一区二区三区| 免费视频爱爱太爽了| 国产一二三区在线| 粉嫩绯色av一区二区在线观看 | 日韩在线观看免费全集电视剧网站| 欧美一区二区三区影院| av一区在线| 欧美日韩激情美女| 成人在线观看毛片| 性开放的欧美大片| 久久久欧美精品sm网站| 国产精品久久波多野结衣| 亚洲天堂狠狠干| 麻豆精品91| 91精品国产成人| 岛国毛片在线观看| 精品国产一区二区三区四区| 精品国产三级电影在线观看| 精品亚洲一区二区三区四区| 日韩伦理在线一区| 亚洲国产精品欧美一二99| 中文精品视频一区二区在线观看| 三级视频在线播放| 不卡在线视频中文字幕| 亚洲xxxx视频| 国产精品永久久久久久久久久| 久久黄色网页| 欧洲s码亚洲m码精品一区| 国产在线欧美在线| 欧美日本一区| 欧美高清视频一区二区| 精品国产精品国产精品| 欧美mv日韩| 视频直播国产精品| 日本黄色片免费观看| 日韩在线不卡| 日韩在线资源网| 天天干天天舔天天操| 深夜福利久久| 国产一区二区三区网站| 91成人在线免费视频| 久久av影视| 在线电影中文日韩| 992在线观看| 影音先锋黄色资源| 自拍视频在线网| 欧美国产97人人爽人人喊| 日本一区免费看| 成年人视频在线看| 国产精品国产三级国产有无不卡 | 男女视频在线观看网站| 欧美亚洲福利| 欧美一区二区性放荡片| 91丨porny丨九色| 999精品视频在这里| 欧美精品一区二区久久婷婷 | 国产精品17p| 日韩精品在线免费| 欧美丰满美乳xxⅹ高潮www| 欧美限制电影| 久久亚洲精品国产亚洲老地址| 欧美黑人猛猛猛| 亚洲精品偷拍| 国产91在线播放九色快色| 中文字幕天堂在线| 国产在线精品免费| 国产一区二区三区免费不卡| 精品亚洲成a人片在线观看| 999国产精品视频免费| 久久激情五月激情| 91精品婷婷国产综合久久蝌蚪| 亚洲第一色网站| 91日韩一区二区三区| 日韩精品一线二线三线| 国产在线观看91| 香蕉成人啪国产精品视频综合网 | 欧美一二三在线| 国产xxxxxxxxx| 北条麻妃国产九九九精品小说| 久久精品国产亚洲精品2020| 日韩成年人视频| 日本aⅴ亚洲精品中文乱码| 成人精品久久久| 手机看片1024日韩| 国产精品入口麻豆九色| 日本中文字幕在线视频观看| 不卡一二三区| 日韩欧美一区二区免费| 毛片网站免费观看| 在线免费观看日本欧美爱情大片| 国内免费精品永久在线视频| 夜夜爽妓女8888视频免费观看| 国产福利一区二区| 欧美人与物videos另类| 牛牛电影国产一区二区| 欧美日韩视频专区在线播放| 亚洲天堂资源在线| 欧美1区3d| 国产精品自在线| 天天av综合网| 亚洲高清免费在线| 国产高清999| av在线不卡免费观看| 国内外成人免费激情在线视频| 曰韩不卡视频| 亚洲欧美综合一区二区| 亚洲九九爱视频| 欧美美女一级片| 久久99高清| 国产91成人video| 亚洲AV午夜精品| 成人免费一区二区三区视频| 日本成人中文字幕在线| 色婷婷综合久久久久久| 久久免费高清视频| 动漫av一区二区三区| 樱桃国产成人精品视频| 五月天开心婷婷| 日韩av自拍| 国产精品久久久久一区二区 | 男人最爱成人网| 精品少妇一区二区三区视频免付费| 成人黄色a级片| 亚洲欧美日本日韩| 国产视频精品网| 超碰个人在线| 欧美剧情电影在线观看完整版免费励志电影 | 欧美v日韩v国产v| 熟女俱乐部一区二区视频在线| 亚洲狠狠婷婷| 91精品黄色| 日本三级在线视频| 日本高清不卡aⅴ免费网站| 李丽珍裸体午夜理伦片| 国自产拍偷拍福利精品免费一| 国产视频999| www.成人.com| 91久久久免费一区二区| 色天使在线视频| 亚洲人成免费| 乱色588欧美| 日本а中文在线天堂| 337p日本欧洲亚洲大胆精品| 欧美黄色aaa| 国产在线精品一区二区三区不卡| 亚洲精品一区二区三区蜜桃久| 浪潮色综合久久天堂| 精品香蕉在线观看视频一| 日本少妇性高潮| 中文字幕免费高清电视剧网站在线观看 | 亚洲精品福利资源站| 久久成人在线观看| av不卡一区二区三区| 18禁裸男晨勃露j毛免费观看| 视频在线一区| 高清亚洲成在人网站天堂| 亚洲狼人综合网| 亚洲美女视频一区| 国产免费一区二区三区最新6| 北岛玲日韩精品一区二区三区| 亚洲网友自拍偷拍| 涩视频在线观看| 影音先锋久久资源网| 国产传媒欧美日韩| 日本天码aⅴ片在线电影网站| 欧美亚洲国产怡红院影院| 日本一二三不卡视频| 蜜桃久久av一区| 亚洲欧洲中文| 99视频这里有精品| 色综合久久88| 无码精品黑人一区二区三区| 欧美日韩亚洲高清| 国产免费无遮挡吸奶头视频| 青青草原综合久久大伊人精品优势| 秋霞毛片久久久久久久久| 一级欧美视频| 国产+成+人+亚洲欧洲| 全部免费毛片在线播放网站| 色综合久久88色综合天天6| 色欲AV无码精品一区二区久久 | 在线观看亚洲视频| 国产精品久久久久久免费免熟| 亚洲精品伦理在线| 精品无码国产一区二区三区51安| 麻豆精品蜜桃视频网站| 嫩草影院中文字幕| 亚洲瘦老头同性70tv| 国产欧美日韩免费| 国产在线xxx| 最近更新的2019中文字幕| 精品国产伦一区二区三| 欧美日韩综合视频网址| 人妻无码一区二区三区免费| 国产电影一区二区三区| aa在线观看视频| 亚洲成人一区| 99久久综合精品| 日本欧洲国产一区二区| 99tv成人影院| 国产精品永久免费在线| 成人性生交大片免费看网站| 国产亚洲精品综合一区91| 国产v在线观看| 色哟哟一区二区在线观看| 国产精品精品软件男同| 99久久精品免费| av亚洲天堂网| 一本色道精品久久一区二区三区| 中文字幕一区二区中文字幕| 福利电影一区| 亚洲自拍小视频免费观看| 人人鲁人人莫人人爱精品| 欧美成人精品一区| 成人免费高清在线播放| 亚洲成人av片| 亚洲精品成av人片天堂无码| 欧美日韩一区二区三区四区| 国产成人亚洲精品自产在线| 亚洲欧洲国产专区| 高清国产在线观看| 久久久久久一二三区| 国产女主播在线播放| 国产一二精品视频| 日韩中文字幕a| 妖精视频成人观看www| 女人帮男人橹视频播放| 国产精品久久久久9999赢消| 欧美激情第六页| 国产精品一线| 亚洲精品免费网站| 一区二区三区亚洲变态调教大结局| 国产免费观看久久黄| 成人天堂yy6080亚洲高清| 91精品国产高清久久久久久久久| av软件在线观看| 久久av在线播放| 福利在线视频网站| 色偷偷偷亚洲综合网另类| yw视频在线观看| xvideos亚洲人网站| 性开放的欧美大片| 中文字幕综合一区| 成人免费在线电影| 国产手机视频精品| a天堂在线资源| 色偷偷偷综合中文字幕;dd| 高清毛片在线看| 中文字幕久久亚洲| sm国产在线调教视频| 精品国内自产拍在线观看| 麻豆视频在线观看免费网站| 色噜噜狠狠狠综合曰曰曰| 久草在线青青草| 日韩中文在线视频| 欧美被日视频| 久久在线电影| 91精品国产自产在线老师啪| 性欧美超级视频| 成人福利在线观看| 欧美9999| 国产精品香蕉视屏| 欧美三级午夜理伦三级在线观看 | 国产又粗又猛又黄又爽| 91精品婷婷国产综合久久竹菊| 国产精品探花视频| 日韩欧美国产一区二区三区| 人妻精品一区二区三区| 一区二区三区动漫| 黄色av电影在线观看| 欧美日韩国产123| 岛国在线视频网站| 国产精品午夜国产小视频| 国产美女视频一区二区| 亚洲影院色无极综合| 精品精品国产毛片在线看| 久久久水蜜桃| 91成人精品视频| 成人网站免费观看入口| 丝袜美腿亚洲综合| 欧美激情第一区| 久久婷婷国产综合国色天香 | 国产黄色美女视频| 日韩麻豆第一页| 在线视频91p| 欧美激情亚洲自拍| 中文字幕在线中文字幕在线中三区| 日本精品免费观看| 网站一区二区| 欧美一进一出视频| 欧美久久一区| 婷婷五月综合缴情在线视频| 蜜臀av一级做a爰片久久| 久久久久久国产精品日本| 91免费小视频| 国产免费美女视频| 日韩欧中文字幕| av天堂一区二区三区| 亚洲男人的天堂在线播放| 国内精品不卡| 欧美中文字幕在线观看| 成人直播在线观看| 日韩久久在线| 亚洲人体偷拍| 亚洲午夜激情影院| 国产欧美一区二区在线| 久久久久无码国产精品不卡| 色成年激情久久综合| 超碰免费在线97| 久久久精品一区| 国产综合色区在线观看| 国产精品三区在线| 日韩在线观看一区 | 男人天堂亚洲天堂| 国产欧美日韩专区发布| 日韩美女国产精品| 午夜伊人狠狠久久| 天天干在线播放| 欧美tk—视频vk| 91精品大全| 国产成人91久久精品| 亚洲精品进入| 欧美激情亚洲天堂| 国产乱子轮精品视频| a视频免费观看| 欧美日韩另类在线| 国产18精品乱码免费看| 久热精品视频在线| 欧美va在线| 亚洲精品美女久久7777777| 免费日韩视频| 黄瓜视频污在线观看| 亚洲午夜精品久久久久久久久| 一级淫片免费看| 最近更新的2019中文字幕| 日韩精品影院| 亚洲国产高清国产精品| 日韩一区精品字幕| 国内精品久久99人妻无码| 五月综合激情网| 蜜桃视频在线入口www| 8x拔播拔播x8国产精品| 成人爽a毛片| www.激情网| zzijzzij亚洲日本少妇熟睡| 黄色一级片在线| 日韩免费性生活视频播放| 日本欧美电影在线观看| 亚洲综合在线做性| 欧美午夜视频| www.555国产精品免费| 欧美日韩加勒比精品一区| 色网站在线免费观看| 欧美在线视频导航| 免费一区二区| www.桃色.com| 亚洲一区二区三区四区在线 | 国产精品极品美女粉嫩高清在线| 丝袜久久网站| 成人黄色一区二区| 国产精品美女久久久久aⅴ| 艳妇乳肉豪妇荡乳av无码福利| 最近中文字幕日韩精品| 亚州一区二区| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 久久久亚洲高清| 日韩三级一区二区| 久久成人精品电影| youjizz亚洲| 999精品网站| 樱桃视频在线观看一区| 无码国产精品一区二区色情男同| 欧美一区在线直播| 国产精品久久久久一区二区三区厕所 | 91黄色精品| 老司机午夜免费精品视频| 亚洲一级黄色录像| 日韩视频免费观看高清完整版| 精品麻豆一区二区三区| 久久波多野结衣| 在线一区视频观看| 亚洲人成免费电影| 成人久久网站|