日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

OceanBase如何解决支付宝数据库的高一致性

發布時間:2025/3/20 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OceanBase如何解决支付宝数据库的高一致性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該文章來自于阿里巴巴技術協會(ATA)精選文章。

傳統數據庫通過共享存儲保障主備庫的數據一致性,去除共享存儲后,由于網絡、服務器、磁盤等的不可靠,數據庫的主庫與備庫的數據一致性成為很大的挑戰(更多信息參見下文“共享存儲能否解決互聯網數據庫的一致性”)。OceanBase立足于互聯網,必須解決互聯網數據庫的數據一致性問題,不僅要為淘寶、天貓等商業系統提供數據庫,而且要為支付寶等金融系統提供數據庫。

數據庫數據一致性問題的根源是軟件(操作系統軟件、網絡軟件、應用軟件等)和硬件(網絡硬件、服務器硬件、磁盤等)的不可靠,因此解決這個問題的根本方法是冗余。傳統RAID技術(例如RAID10,RAID5)等提供了較高的可靠性,但如果所在的服務器故障,則數據還是無法訪問,因此也無法保證數據的高一致性。為了解決這個問題,OceanBase引入了云計算思路和Paxos協議,通過3個(或者更多節點)的投票來保證數據的高度一致,并兼顧服務的高可用,如下圖:

上述三個機群構成一個數據庫,其中一個是主機群,所有事務都由主機群的UpdateServer(稱為主UpdateServer,其他UpdateServer稱為備UpdateServer)執行,事務的redo log同步到3個UpdateServer中的超過半數(即至少2個,包括主UpdateServer自己),則事務成功并應答客戶。如果3個UpdateServer中有一個故障:
*主UpdateServer故障:剩余的兩個UpdateServer會自動選舉出一個新的主UpdateServer(參見后文“OceanBase分布式選舉的實現”),由于舊的主UpdateServer數據至少在一個活著的UpdateServer中存在,因此數據不會有任何丟失,兩個活著的UpdateServer經過很短時間(通常是毫秒級)的相互同步后就可以繼續對外服務,保證了數據的一致性和服務的高可用。
*單個備UpdateServer故障:主UpdateServer有全部數據,剩余兩個UpdateServer仍然超過半數,數據一致性和服務都不受任何影響。
如果把上述三個機群部署出于三個不同的機房,那么即使一個機房出現電源、網絡或者空調等故障,剩余兩個機群仍然能夠繼續工作,數據一致性和服務可用性都不受影響。如果采用5機群部署,則系統甚至可以抵御2個機群的故障。

上述方案已經用于支付寶的交易庫和其他核心系統并在線上生產運行中。

總結

以上是生活随笔為你收集整理的OceanBase如何解决支付宝数据库的高一致性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。