專場1.1-事務一致性-李海翔.pdf

編號:126850 PDF 23頁 1.42MB 下載積分:VIP專享
下載報告請您先登錄!

專場1.1-事務一致性-李海翔.pdf

1、分布式數據庫的分布式事務處理技術李海翔目錄1 1分布式事務分布式事務型數據庫的理念型數據庫的理念與背景與背景1.1 數據庫的三高一易:高可靠、高可用、高性能、易用性1.2 單機數據庫的強一致+低性能1.3 分布式數據庫因分布帶來的變化2分布式事務處理技術2.1【一致性與隔離性】數據異常、隔離級別與一致性2.2【持久性與可靠性】分布式系統下的日志與可持久化2.3【原子性與一致性】分布式事務提交階段:可串行化與2PC3第三代分布式數據庫(強一致性強一致性+高性能高性能=魚和熊掌兼得魚和熊掌兼得)1:1:分布式事務分布式事務型數據庫的理念型數據庫的理念與背景與背景高可靠(high reliabili

2、ty)定義為一個服務連續無故障運行的時間,無故障運行的時間越長,可靠性就越高。99.999%高可用定義為在足夠長的時間里,一個服務可用的時間,服務可用時間越長越好高性能低隔離別+高性能可串行化+低性能易用性例如:例如:1 MySQL可串行化,性能很差可串行化,性能很差2 MySQL是單機系統是單機系統推測:推測:分布式的可串行化,是不是性能更差?分布式的可串行化,是不是性能更差?用戶:要求高性能開發者:用弱隔離級別用戶:要求數據正確開發者:主動加鎖數據庫:性能降低SelectFor Update數據庫使用怪圈數據庫使用怪圈1.2 單機數據庫的強一致+低性能靈魂問題:靈魂問題:Q1:我們能精準地

3、說出,什么情況下應該用For Update、什么情況下不用嗎?現實問題現實問題:Q2:為什么我們需要精準地知道什么情況下應該用For Update、什么情況下不用?怪怪1:對一致性和性能的認知有誤:對一致性和性能的認知有誤1.2 單機數據庫的強一致+低性能測試目的:驗證用戶主動加鎖、不加鎖的性能差異驗證用戶主動加鎖、不加鎖的性能差異背景:Percona Server 8.0.18-9:驗證用戶主動加鎖、不加鎖的性能差異:驗證用戶主動加鎖、不加鎖的性能差異背景:測試的recordcount設置為4000w,數據實際容量為90GB,稍大于buffer pool的大小,YCSB的讀寫4:1混合場景不

4、加鎖用戶加鎖并發數opsops加鎖影響32197377183284-7.14%64331071180651-45.43%12832427497402-69.96%256356958170988-52.10%512325337162320-50.11%1024283012151466-46.48%RC隔離級別下的性能數據不加鎖主動加鎖并發數opsops加鎖影響32167611154499-7.82%64263614186389-29.29%12833691797356-71.10%256356980170766-52.16%512326180162960-50.04%10242830791512

5、36-46.57%RR隔離級別下的性能數據讀寫場景,用戶加鎖性能損失很大1.3 分布式數據庫因分布帶來的變化序值獲取異常消除(執行階段)異常消除(提交前沖突判定)日志(WAL)日志分散(分布式)原子提交/回滾(2PC)提交序值(可見性依據)全局全局讀讀一致性一致性C全局全局寫寫一致性一致性C+弱隔離級別弱隔離級別I全局全局寫寫一致性一致性C+可串行化可串行化I原子性原子性A恢復持久性持久性D與一致性與一致性C持久性持久性D與一致性與一致性C與原子性與原子性A全局全局讀讀一致性一致性C目錄1 1分布式事務分布式事務型數據庫的理念型數據庫的理念與背景與背景1.1 數據庫的三高一易:高可靠、高可用、

6、高性能、易用性1.2 單機數據庫的強一致+低性能1.3 分布式數據庫因分布帶來的變化2 2分布式事務處理技術分布式事務處理技術2.1【一致性與隔離性】數據異常、隔離級別與一致性2.2【持久性與可靠性】分布式系統下的日志與可持久化2.3【原子性與一致性】分布式事務提交階段:可串行化與2PC3第三代分布式數據庫(強一致性強一致性+高性能高性能=魚和熊掌兼得魚和熊掌兼得)2:2:分布式事務分布式事務處理技術處理技術2.12.1一致性與隔離性一致性與隔離性https:/wikipedia.org/wiki/Consistencyhttps:/en.wikipedia.org/wiki/ACID#Con

7、sistency_(Correctness)Consistency(Correctness):Consistency(database systems)Consistency ensures that a transaction can only bring the database from one valid state to another,maintaining database invariants:any data written to the database must be valid according to all defined rules,xincluding cons

8、traints,cascades,triggers,and any combination thereof.Jim Gray,Raymond A.Lorie,Gianfranco R.Putzolu,and Irving L.Traiger.1976.Granularity of Locks and Degrees of Consistency in a Shared Data Base.怪怪2:一致性沒有形式化標準:一致性沒有形式化標準2:2:分布式事務分布式事務處理技術處理技術2.12.1一致性與隔離性一致性與隔離性 Q1:有多少種數據異常?A1:收集了業界提出的近20種異常,TDSQL提

9、出20+種新的數據異常 A2:提出數據異常的通用定義,涵蓋所有數據異常(包括已知和本項研究新發現的)Q2:數據異常之間的關系是什么?Q3:數據異常和變量、并發事務的個數的關系?Q4:謂詞類數據異常(如幻讀)、非謂詞類數據異常的關系(如不可重復讀)Q5:數據一致性的定義未統一 A3:把相關因素統一在一個模型下(數據狀態模型);對數據異常分類(基于數學的形式化定義加以分類,找出每類異常的“特征”)徹底解釋清楚數據異常是什么(用環形象化表達所有數據異常)A4:把兩種貌似不同角度的數據異常,統一在了一個形式化定義的框架下 A5:直接用數據異常的角度闡述數據一致性概念(重新定義一致性),而不是用可串行化

10、的理論闡述數據一致性概念(形象且直接)Q6:隔離級別的定義未統一 A6:先對數據異常分類,然后在分類的基礎上定義隔離級別,使得隔離級別定義:完整(基于全部數據異常)、有層次(基于數據異常分類)、打破傳統對隔離級別的認知(傳統觀點,認為各種隔離級別會有不同性能)弱化隔離級別的作用(有助于簡化并發訪問控制算法)怪怪3:一致性與數據異常與隔離級別的關系,不明確:一致性與數據異常與隔離級別的關系,不明確2:2:分布式事務分布式事務處理技術處理技術2.12.1一致性與隔離性一致性與隔離性2:2:分布式事務分布式事務處理技術處理技術2.12.1一致性與隔離性一致性與隔離性SQL標準對于隔離級別的定義,標準

11、對于隔離級別的定義,還可信嗎?還可信嗎?(ANSI)可串行化的定義,)可串行化的定義,還可信嗎?還可信嗎?2:2:分布式事務分布式事務處理技術處理技術2.12.1一致性與隔離性一致性與隔離性2:2:分布式事務分布式事務處理技術處理技術2.12.1一致性與隔離性一致性與隔離性研究內容:研究內容:1 定義什么是數據異常?(只包括實體類數據異常)2 對數據異常分類3 用數據異常定義隔離級別4 用數據異常體系化研究結果的結論,描述并發算法研究方法和結果:研究方法和結果:1 基于數學:擴展了沖突圖(把3種沖突關系擴展為9種),使得沖突圖可以包括事務的所有操作(增加了回滾和提交操作)2 基于擴展后的沖突圖

12、:用擴展的沖突有向環圖,定義什么是數據異常3 效果:擴展了沖突圖的作用(從可串行化調度 擴展為 定義所有數據異常)4 過程:基于圖大?。旤c數和邊數,定義無窮多個異常)和圖的邊的特征(邊的個數有限),研究用數據異常之間的關系,對數據異常進行分類5 結果:建立起體系化研究數據異常的框架(回答了數據異常有無窮多個,但可以歸類為3種)6 應用:定義了隔離級別(基于全部數據異常定義隔離級別,使得隔離級別不再遺漏某個數據異常)、初步描述了并發訪問算法數據庫管理系統中數據異常體系化定義與分類()http:/ 1:傳統教科書的定義方式傳統教科書的定義方式一致性遵從用戶一致性遵從用戶語義語義,事務調度器難實現

13、用戶語義,事務調度器難實現用戶語義一致性分為四種級別,分別消除四種數據異常一致性分為四種級別,分別消除四種數據異常用有限個數的數據異常表示一致性用有限個數的數據異常表示一致性,不完備,不完備一致性定義一致性定義2 2:Jim GrayJim Gray的定義方式的定義方式基于沖突可串行化實現一致性的事務調度器基于沖突可串行化實現一致性的事務調度器沖突可串行化不能表示所有數據異常沖突可串行化不能表示所有數據異常數據庫引擎實現數據庫引擎實現工程實踐:另起爐灶工程實踐:另起爐灶沖沖突突依依賴賴圖圖理理論論不不能能指指導導實實踐踐定定義義不不相相同同一致性理論和實踐割裂一致性理論和實踐割裂一一致致性性理

14、理論論缺缺失失數據庫不可衡量數據庫不可衡量偏序環圖偏序環圖包涵沖突依包涵沖突依賴圖賴圖偏偏序序環環圖圖形形式式化化定定義義一一致致性性存在的現象存在的現象核心技術核心技術+過往結果過往結果形式化的理形式化的理論,可檢測數論,可檢測數據庫的實現據庫的實現問題問題偏序對與偏序環偏序對與偏序環數據異常標準化數據異常標準化異常分類,變無異常分類,變無窮為有限種類窮為有限種類分類后的異常滿分類后的異常滿射為一致性模型射為一致性模型沖突關系與沖突環沖突關系與沖突環沖突關系個數有限沖突關系個數有限不能定義所有異常不能定義所有異常把語義把語義形式化形式化把無限把無限個數的個數的異常的異常的體系完體系完備化備化

15、擴充了擴充了沖突可沖突可串行化串行化新未來新未來一致性理論和實踐統一1 并發算法2 分布式并發算法3 死鎖檢測4 一致性的體系化、形式化定義(ACID+CAP)2:2:分布式事務分布式事務處理技術處理技術2.12.1一致性與隔離性一致性與隔離性2:2:分布式事務分布式事務處理技術處理技術2.12.1一致性與隔離性一致性與隔離性序值獲取異常消除(執行階段)異常消除(提交前沖突判定)日志(WAL)日志分散(分布式)原子提交/回滾(2PC)提交序值(可見性依據)全局全局讀讀一致性一致性C全局全局寫寫一致性一致性C+弱隔離級別弱隔離級別I全局全局寫寫一致性一致性C+可串行化可串行化I持久性持久性D與一

16、致性與一致性C全局全局讀讀一致性一致性C不一致性=有數據異常一致性=無數據異常2:2:分布式事務分布式事務處理技術處理技術2.12.1一致性與隔離性一致性與隔離性2:2:分布式事務分布式事務處理技術處理技術2.2 2.2 持久性與可靠性持久性與可靠性序值獲取異常消除(執行階段)異常消除(提交前沖突判定)日志(WAL)日志分散(分布式)原子提交/回滾(2PC)提交序值(可見性依據)恢復持久性持久性D與一致性與一致性C持久性持久性D與一致性與一致性C與原子性與原子性A2:2:分布式事務分布式事務處理技術處理技術2.2 2.2 持久性與可靠性持久性與可靠性日志序日志分離恢復合并2:2:分布式事務分布

17、式事務處理技術處理技術2.3 2.3 原子性與一致性原子性與一致性事務序2PC全局提交標志目錄1 1分布式事務分布式事務型數據庫的理念型數據庫的理念與背景與背景1.1 數據庫的三高一易:高可靠、高可用、高性能、易用性1.2 單機數據庫的強一致+低性能1.3 分布式數據庫因分布帶來的變化2 2分布式事務處理技術分布式事務處理技術2.1【一致性與隔離性】數據異常、隔離級別與一致性2.2【持久性與可靠性】分布式系統下的日志與可持久化2.3【原子性與一致性】分布式事務提交階段:可串行化與2PC3 3第三代分布式數據庫第三代分布式數據庫(強一致性強一致性+高性能高性能=魚和熊掌兼得魚和熊掌兼得)只能做強

18、一致性可控時延極致高可用3:3:第三代分布式數據庫第三代分布式數據庫3:3:第三代分布式數據庫第三代分布式數據庫3:3:第三代分布式數據庫第三代分布式數據庫SpannerCRDBOBveDB架構SN+文件級共享存儲SNSNSN+日志級共享存儲事務強一致性嚴格可串行化因果+可串行化SI嚴格可串行化、可串行化多寫架構-可串行化多寫SI多寫可串行化多寫可擴展-擴展性較弱千臺級規模擴展存儲無限擴展計算千臺級擴展高可用數據多副本提供系統級的高可用,事務級瞬時閃斷數據可靈活分布,數據多副本提供系統級的高可用數據多副本提供系統級的高可用數據級高可用:日志服務器;內存級高可用:主主互備、RO切換高可靠-更資料截?。–hange Data Capture,CDC)、備份與恢復、管理API,以及99.99%正常運行時間數據備份和日志備份庫、表級備份恢復日志級備份恢復數據塊級備份恢復可控時延超大時延超低性能高時延(全球級、時延未做特定設計)低性能高時延、擴展節點獲高性能低時延高性能、擴展節點獲更高性能

友情提示

1、下載報告失敗解決辦法
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站報告下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。

本文(專場1.1-事務一致性-李海翔.pdf)為本站 (2200) 主動上傳,三個皮匠報告文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知三個皮匠報告文庫(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。
客服
商務合作
小程序
服務號
折疊
午夜网日韩中文字幕,日韩Av中文字幕久久,亚洲中文字幕在线一区二区,最新中文字幕在线视频网站