版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、分布式數(shù)據(jù)庫技術(shù)金融應用規(guī)范的 技術(shù)架構(gòu)及分布式事務核心功能的解讀揭秘國內(nèi)三種主流金融行業(yè)的分布式事務數(shù)據(jù)庫的技術(shù)架構(gòu)揭秘Applications (e.g mysql client)Applicatio nApplicationApplicationAppicationApplicationApplicationApplicatio nApplicatio nSQLMySQLServer(mysqld)MySQLServer(mysqld)MySQLServer(mysqld)StorageNDBCluster(data nodes)(ndb d)(ndb d)(ndb d)(ndb d)M
2、anagementManagement Server (ndb_mqmd)ManagementClient(e.g ndb_mgm)教科書定義的分布式事務數(shù)據(jù)庫的技術(shù)架構(gòu)及功能特性局部內(nèi)模式全局概念模式分布式數(shù)據(jù)庫 增加的全局自治分片模式分配模式全局 DBMS局部概念模式局部概念模式局部概念模式全局外模式局部內(nèi)模式局部內(nèi)模式局部 數(shù)據(jù)庫局部 數(shù)據(jù)庫局部 數(shù)據(jù)庫集中式 數(shù)據(jù)庫 原有的場地自治局部 DBMS全局外模式全局外模式模式一模式二模式三模式四分布式數(shù)據(jù)庫:是由一組數(shù)據(jù)組成的,這組數(shù)據(jù)分布在計算機網(wǎng)絡的不同計算機上,網(wǎng)絡中的每個結(jié)點具有獨立處理能力(稱為場 地自治),可以執(zhí)行局部應用。同時每
3、個結(jié)點也能通過網(wǎng)絡通訊子系統(tǒng)執(zhí)行全局應用(稱為全局自治)。l SELECT * FROM TABLE_NAME WHERE ID=14;ScanScanScanDataDataDataDataData計算匯總國內(nèi)三種主流金融行業(yè)的分布式事務數(shù)據(jù)庫的技術(shù)架構(gòu)揭秘:數(shù)據(jù)緩存節(jié)點和數(shù)據(jù)持久節(jié)點結(jié)合Client LayerApplicnatioApplicationClientClientSQL LayerProxyProxyIncrement Data LayerFull Data LayerChunkServe r MergeServe rVIPUpdateServerUpdateServerUp
4、dateServerUpdate ServerChunkServe rMergeServe rChunkServe rMergeServe rVIPUPDATE TABLE_NAME ClientSET WHERE ID100;UPDATE TABLE_NAMESET WHERE ID100;TE TABLE_NUPDAAMESET WHERE ID 1秒讀寫分離的基礎功能摘要信息:主從存儲節(jié)點的同步延遲判斷,對延遲從庫摘除和自動恢復主從存儲節(jié)點的數(shù)據(jù)一致性算法核對的定期執(zhí)行事務內(nèi)的讀操作、寫操作都由主存儲節(jié)點承擔非事務內(nèi)的讀操作負載均衡地發(fā)到從存儲節(jié)點上執(zhí)行強制某一類讀操作SQL語句發(fā)送到從
5、存儲節(jié)點上執(zhí)行u從讀者信息表中讀取上海地區(qū)的客戶信息u對客戶信息進行查詢、更新等操作u主從一致延遲超過1秒鐘:存儲節(jié)點被摘除u挑選數(shù)據(jù)延遲閾值內(nèi)的從存儲節(jié)點讀操作uHint指定讀從存儲節(jié)點u被摘除的從存儲節(jié)點數(shù)據(jù)追平,則恢復正常分布式事務數(shù)據(jù)庫的讀寫分離的技術(shù)原理及功能特性分布式事務數(shù)據(jù)庫的并行計算INSERT的技術(shù)原理及功能特性DS2DS2MIDFISSUERAPPDS1DS1MIDFISSUER04100000004中國銀行總部以存儲支付機構(gòu)號數(shù)據(jù)的MIDF字段作為分片字段,使用路由算法MATCH函數(shù)。 假設數(shù)據(jù)路由配置規(guī)則為:機構(gòu)號104100000004和305100000013存儲到
6、數(shù)據(jù)節(jié)點DN1;INSERT INTO table_nameVALUES (104100000004,中國銀行總部)DN1DN2動畫演示:數(shù)據(jù)拆分為2個數(shù)據(jù)節(jié)點(DN1和DN2),每個數(shù)據(jù)節(jié)點為經(jīng)典的雙主架構(gòu)(DS1和DS1為一對,DS2和DS2為一對)。 通過分布式事務數(shù)據(jù)庫的分片路由算法及分片函數(shù)MATCH,控制數(shù)據(jù)行的存儲分布位置。1 Query ok, 1 row affected;105100000017中國建設銀行總行INSERT INTO table_nameVALUES (105100000017,中國建設銀行總行)Query ok, 1 row affected;051000
7、00013中國民生銀行INSERT INTO table_nameVALUES (305100000013,中國民生銀行總行)3 Query ok, 1 row affected;總行303100000006中國光大銀行總行機構(gòu)號105100000017和303100000006存儲到數(shù)據(jù)節(jié)點DN2。分布式事務數(shù)據(jù)庫31310345100000001014763路由規(guī)則為DN121節(jié)點INSERT INTO table_name VALUES (303100000006,中國光大銀行總行)Query ok, 1 row affected;分布式事務數(shù)據(jù)庫的并行計算INSERT的技術(shù)原理及功能特
8、性以存儲支付機構(gòu)號數(shù)據(jù)的MIDF字段作為分片字段,使用路由算法MATCH函數(shù)。 假設數(shù)據(jù)路由配置規(guī)則為:機構(gòu)號104100000004和305100000013存儲到數(shù)據(jù)節(jié)點DN1; 機構(gòu)號105100000017和303100000006存儲到數(shù)據(jù)節(jié)點DN2。DS2DS2MIDFISSUERDS1DS1MIDFISSUERAPP分布式事務數(shù)據(jù)庫INSERT INTO table_name VALUES(104100000004,中國銀行總部) ,(105100000017,中國建設銀行總行);DN1DN2動畫演示:數(shù)據(jù)拆分為2個數(shù)據(jù)節(jié)點(DN1和DN2),每個數(shù)據(jù)節(jié)點為經(jīng)典的雙主架構(gòu)(DS1
9、和DS1為一對,DS2和DS2為一對)。 通過分布式事務數(shù)據(jù)庫的分片路由算法及分片函數(shù)MATCH,控制數(shù)據(jù)行的存儲分布位置。INSERT INTO table_name VALUES(104100000004,中國銀行總部);INSERT INTO table_name VALUES(105100000017,中國建設銀行總行);104100000004中國銀行總部105100000017中國建設銀行總行INSERT INTO table_name VALUES(305100000013,中國民生銀行總行) ,(303100000006,中國光大銀行總行);3105410000001034路由
10、規(guī)則為DN1,3103510000000167路由規(guī)則為DN2INSERT INTO table_name VALUES(303100000006,中國光大銀行總行);INSERT INTO table_name VALUES305100000013中國民生銀行總行303100000006中國光大銀行總行Query ok, 1 row affected;Query ok, 1 row affected;Query ok, 2 rows affected;Query ok, 1 row affected;Query ok, 1 row affected;Query ok, 2 rows affe
11、cted;(305100000013,中國民生銀行總行);分布式事務數(shù)據(jù)庫的并行計算UPDATE單條數(shù)據(jù)的技術(shù)原理及功能特性APP分布式事務數(shù)據(jù)庫DS2DS2MIDFISSUERDS1DS1DN1DN2動畫演示:數(shù)據(jù)拆分為2個數(shù)據(jù)節(jié)點(DN1和DN2),每個數(shù)據(jù)節(jié)點為經(jīng)典的雙主架構(gòu)(DS1和DS1為一對,DS2和DS2為一對)。 通過分布式事務數(shù)據(jù)庫的分片路由算法及分片函數(shù)MATCH,計算出分片字段值的存儲位置分布,控制SQL語句路由到正確 的存儲數(shù)據(jù)節(jié)點上執(zhí)行,并返回結(jié)果集給應用程序。MIDFISSUER104100000004中國銀行總部305100000013中國民生銀行總行005511
12、0000000000001177中中國國建建設設銀銀行行分總行UPDATE table_name SETISSUER=“中國建設銀行分行”WHERE MIDF=105100000017;1 Query ok, 1 rowaffected;303100000006中國光大銀行總行以存儲支付機構(gòu)號數(shù)據(jù)的MIDF字段作為分片字段,使用路由算法MATCH函數(shù)。 假設數(shù)據(jù)路由配置規(guī)則為:機構(gòu)號104100000004和305100000013存儲到數(shù)據(jù)節(jié)點DN1;機構(gòu)號105100000017和303100000006存儲到數(shù)據(jù)節(jié)點DN2。分片字段值105100000017經(jīng)路由算法MATCH函數(shù)計算,
13、 得出存儲位置為DN2節(jié)點分布式事務數(shù)據(jù)庫的并行計算UPDATE多條數(shù)據(jù)的技術(shù)原理及功能特性APP分布式事務數(shù)據(jù)庫DS2DS2MIDFISSUERDS1DS1MIDFISSUERDN1DN2動畫演示:數(shù)據(jù)拆分為2個數(shù)據(jù)節(jié)點(DN1和DN2),每個數(shù)據(jù)節(jié)點為經(jīng)典的雙主架構(gòu)(DS1和DS1為一對,DS2和DS2為一對)。 通過分布式事務數(shù)據(jù)庫的分片路由算法及分片函數(shù)MATCH,計算出分片字段值的存儲位置分布,控制SQL語句路由到正確 的存儲數(shù)據(jù)節(jié)點上執(zhí)行,并返回結(jié)果集給應用程序。104100000004中國銀行總部UPDATE table_name SETISSUER=REPLACE(ISSUER
14、,總行,分行) WHERE MIDF IN (105100000017,303100000006中國光大銀行總行UPDATE table_name SETISSUER=REPLACE(ISSUER,總行, 分 行 ) WHERE MIDF IN (105100000017, 305100000013);PLACE(ISSUER,總行,分行305100000013)0055110000000000001133中中國國民民生生銀銀行分總行110055110000000000001177中中國國建建設設銀銀行總分行3 Query ok, 1 rowaffected;Query ok, 1 rowaf
15、fected;UPDATE table_name SETISSUER=RE Query ok, 2 rows affected;) WHERE MIDF IN (105100000017,以存儲支付機構(gòu)號數(shù)據(jù)的MIDF字段作為分片字段,使用路由算法MATCH函數(shù)。 假設數(shù)據(jù)路由配置規(guī)則為:機構(gòu)號104100000004和305100000013存儲到數(shù)據(jù)節(jié)點DN1;機構(gòu)號105100000017和303100000006存儲到數(shù)據(jù)節(jié)點DN2。分片字段值105100000017, 305100000013經(jīng)路由算法MATCH函數(shù)計 算,得出存儲位置分別為DN1節(jié)點和DN2節(jié)點分布式事務數(shù)據(jù)庫的并
16、行計算SELECT單條數(shù)據(jù)的技術(shù)原理及功能特性APP分布式事務數(shù)據(jù)庫DS2DS2DS1DS1DN1DN2動畫演示:數(shù)據(jù)拆分為2個數(shù)據(jù)節(jié)點(DN1和DN2),每個數(shù)據(jù)節(jié)點為經(jīng)典的雙主架構(gòu)(DS1和DS1為一對,DS2和DS2為一對)。 通過分布式事務數(shù)據(jù)庫的分片路由算法及分片函數(shù)MATCH,計算出分片字段值的存儲位置分布,控制SQL語句路由到正確 的存儲數(shù)據(jù)節(jié)點上執(zhí)行,并返回結(jié)果集給應用程序。105100000017中國建設銀行總行SELECT* FROM table_nameWHERE MIDF= 105100000017;MIDFISSUER105100000017,中國建設銀行總行3031
17、00000006中國光大銀行總行MIDFISSUER104100000004中國銀行總部305100000013中國民生銀行總行以存儲支付機構(gòu)號數(shù)據(jù)的MIDF字段作為分片字段,使用路由算法MATCH函數(shù)。 假設數(shù)據(jù)路由配置規(guī)則為:機構(gòu)號104100000004和305100000013存儲到數(shù)據(jù)節(jié)點DN1;機構(gòu)號105100000017和303100000006存儲到數(shù)據(jù)節(jié)點DN2。分片字段值105100000017經(jīng)路由算法MATCH函數(shù)計算, 得出存儲位置為DN2節(jié)點分布式事務數(shù)據(jù)庫的并行計算SELECT多條數(shù)據(jù)的技術(shù)原理及功能特性APP分布式事務數(shù)據(jù)庫DS1DS1104100000004
18、中國銀行總部104100000001DS2DS2MIDFISSUERMROOT105100000017中國建設銀行總行305100000002303100000006中國光大銀行總行104100000001支付機構(gòu)號數(shù)據(jù)的MIDF字段+報文標識號MROOT字段組合作為分片字段,使用路由算法MATCH函數(shù)和哈希假設數(shù)據(jù)路由配置位置為:機構(gòu)號104100000004與104100000001組合、305100000013與305100000002組合存儲到數(shù)據(jù)節(jié)點到數(shù)據(jù)節(jié)點DN1;機構(gòu)號105100000017與305100000002組合、303100000006與104100000001組合存
19、儲DN2。DN1DN2動畫演示:數(shù)據(jù)拆分為2個數(shù)據(jù)節(jié)點(DN1、DN2),每個數(shù)據(jù)節(jié)點為經(jīng)典的雙主架構(gòu)(DS1和DS1為一對,DS2和DS2為一對)。 通過分布式事務數(shù)據(jù)庫的分片哈希約定算法及分片函數(shù)HASH,及分布式事務數(shù)據(jù)庫的內(nèi)置JOIN算法引擎,實現(xiàn)跨數(shù)據(jù)節(jié) 點的JOIN及數(shù)據(jù)結(jié)果集合并處理再返回正確的結(jié)果集。SELECT O.MIDF AS A,O.ISSUER AS OISS,O.MROOT,P.MIDF AS B,P. ISSUER AS PISS FROM MAS O JOIN M AS P ON O.MROOT=P.MROOT WHERE 約定算法HASH函數(shù)。O.MROOT=
20、104100000001;SELECT O.MIDF AS A,O.ISSUER AS OISS, O.MROOTFROM M AS O WHERE O.MROOT=104100000001;SELECT P.MIDF AS B,P.ISSUER AS PISS, P.MROOT,FROM M AS P WHERE P.MROOT=104100000001;分片字段值104100000001MIDFISSUERMROOT104100000004,中國銀行總部 , 104100000001305100000013中國民生銀行總行30510000000230310000行總行 ,0006,中國光大
21、銀104100000001104100000004,中國銀行總部,104100000001,303100000006,中國光大銀行總行經(jīng)過HASH函數(shù)計算,得出數(shù)據(jù)分布在DN1和DN2數(shù)據(jù)節(jié)點上, 分布式事務數(shù)據(jù)庫將SQL語句路由下發(fā)到DN1和DN2數(shù)據(jù)節(jié)點上并行執(zhí)行,返回的結(jié)果集再 經(jīng)分布式事務數(shù)據(jù)庫內(nèi)置JOIN算法處理,最終返回應用程序期望的結(jié)果集分布式事務數(shù)據(jù)庫的功能特性分布式事務存儲節(jié)點層存儲節(jié)管理協(xié)調(diào)節(jié)點無狀態(tài)計算節(jié)點update 1;點Query okCommit;CommitQuery ok請求存儲節(jié)點 及協(xié)調(diào)返回狀態(tài)update 1;Query ok;update 1;ok;存
22、儲節(jié)點存引入“管理協(xié)調(diào)節(jié)點”帶來的問題優(yōu)勢: 性能問題:響應時間變長,存在性能毛刺 可靠性問題:交互環(huán)節(jié)增多,增加隱患點 有狀態(tài)轉(zhuǎn)移:有狀態(tài)的信息從計算節(jié)點轉(zhuǎn)移到管理協(xié)調(diào)節(jié)點, 管理協(xié)調(diào)節(jié)點水平擴展數(shù)量受分布式一致性協(xié)議限制存儲節(jié)點有狀態(tài)計算節(jié)點有狀態(tài)計算節(jié)點有狀態(tài)計算節(jié)點管理協(xié)調(diào)節(jié)點管理協(xié)調(diào)節(jié)點無狀態(tài)計算節(jié)點存儲節(jié)點儲節(jié)點update 1;應用okErrorCommit;Commit ok無狀態(tài)計算節(jié)點Query ok;Queryupdate 1;計算節(jié)點成為有狀態(tài)的問題優(yōu)勢:u 問題:有狀態(tài)信息維護在“指揮官”計算節(jié)點上, 則要求計算節(jié)點處理能力更強大,水平擴展 數(shù)量受分布式一致性協(xié)議限制
23、u 優(yōu)勢:減少故障環(huán)節(jié),穩(wěn)定性更好;減少網(wǎng)絡交互,響應時間更短,吞吐量更大Query ok;分布式事務應用透明的計算節(jié)點架構(gòu)和引入管理協(xié)調(diào)節(jié)點架構(gòu)的差異分布式事務隔離級別的功能效果及測試驗證方法MySQLMySQLMySQLMySQLLVS/F5/MySQLMySQLMySQLMySQLdn_1dn_4計算節(jié)點計算節(jié)點管理平臺dn_2dn_3APPAPPAPPLVS/F5/A10A10IDVALUEIDVALUET1線程,產(chǎn)生隨機數(shù)N,循環(huán)執(zhí)行:START TRANSATCION;NSAC_TEST SET VALUE=VALUE+NWHEREUPDATE TRA ID=1;UPDATE TR
24、ANSAC_TEST SET VALUE=VALUE -N WHEREID=4;COMMIT;計算節(jié)點 + N- N1+-1- NT2線程,休眠0.1秒,循環(huán)執(zhí)行: 查詢T1中兩行對應字段值及其和11+ NN4-1 - N225-2336-38-474和始終為0測試方案:新建一張分片表,除分片字段外,需要有至少一個int型字段,并插入部分數(shù)據(jù)構(gòu)造或選擇兩行不在同一節(jié)點的數(shù)據(jù)行,數(shù)據(jù)行的int型非分片字段設置數(shù)值為0, 后稱該字段為C1,兩行數(shù)據(jù)后稱R1與R2T1線程,產(chǎn)生一個新的整型的范圍在1到100的隨機數(shù),在分布式數(shù)據(jù)庫開啟事務,扣減R1的C1字段該隨機值數(shù)值,增加R2的C1字段該隨機值數(shù)
25、值,提交事務;然后T1線程循 環(huán)執(zhí)行此過程T2線程,休眠0.1秒,開啟事務,查詢R1與R2行的C1字段及其和并記錄結(jié)果,休眠0.1 秒,查詢R1與R2行的C1字段及其和并記錄結(jié)果,提交事務;然后T2線程循環(huán)執(zhí)行此過程1000次測試結(jié)果參考:Read Uncommitted:T2線程在事務中的讀取,可能并且應該出現(xiàn)字段和不為0的現(xiàn)象Read Commited:T2線程在事務中的讀取,一次都不出現(xiàn)字段和不為0的現(xiàn)象,可能并且 應該出現(xiàn)一個事務中兩次查詢R1的C1字段值發(fā)生變化Repeatable Read:T2線程在事務中的讀取,一次都不出現(xiàn)字段和不為0的現(xiàn)象,并且一次 都不出現(xiàn)一個事務中兩次查詢
26、R1的C1字段值發(fā)生變化的現(xiàn)象,可能并且應該出現(xiàn),兩個事務之間查詢到的R1的C1字段值發(fā)生變化 Serializable:此測試現(xiàn)象的要求和repeatable read相同,T1線程可能出現(xiàn)因鎖等待變慢(根據(jù)實現(xiàn)方式不同,也可能無此現(xiàn)象),但該測試方法并不足以證明serializable的正確性分布式事務數(shù)據(jù)庫me SET ISSUER, D1 and ID 1 and I,分行)UPDATE tabl ISSUER=REP WHERE ID1ame SET E(ISSUER,總 ID1 and ID1 and ID1 andActive MasterStandby MasterStandb
27、y MasterUPDATE OKUPDATE OKETPrepareEPreparePrepare OKCommitE tR=RCommitR, WID1 and ID1 an=REPLACE(ISS,分行) WH d ID1 and ID1000UPDATE操作UPDATE操作104中國銀行分總行313中國民生銀行分總行706中國光大銀行分總行512中國建設銀行分總行MySQL自動回滾動畫演示:數(shù)據(jù)拆分為18個數(shù)據(jù)節(jié)點(DN1DN18),每 個數(shù)據(jù)節(jié)點為經(jīng)典的雙主 架構(gòu)(Active Master與 Standby Master為一組)。通過分布式事務數(shù)據(jù)庫的 分片哈希約定算法及分片 函數(shù)
28、HASH,及分布式事 務數(shù)據(jù)庫的內(nèi)置強一致分 布式事務算法引擎,保證 跨數(shù)據(jù)分片的事務在正常 場景或異常場景下都能做 到數(shù)據(jù)結(jié)果集始終一致。分布式事務原子性的功能效果及測試驗證方法VIPMySQLMySQLMySQLMySQLdn_1dn_2APPAPPAPPMySQLMySQLMySQLMySQLdn_3dn_4計算LVS/F5/A10LVS/F5/A10計算節(jié)點節(jié)點計算節(jié)點SESSION 1:TRANSACTION 1:批量插入1000條數(shù)據(jù) TRANSACTION 2:刪除上一步插入的1000條數(shù)據(jù)Query ok;Query ok;Begin;INSERT INTO TABLE_NAM
29、E VALUES(XXX),(XXX); COMMIT;Begin;DELETE FROM TABLE_NAME VALUES(XXX),(XXX); COMMIT;Begin;INSERT INTO TABLE_NAME VALUES(XXX),(XXX); COMMIT;Begin;DELETE FROM TABLE_NAME VALUES(XXX),(XXX); COMMIT;Begin;INSERT INTO TABLE_NAME VALUES(XXX),(XXX); COMMIT;Begin;DELETE FROM TABLE_NAME VALUES(XXX),(XXX); COMM
30、IT;Begin;INSERT INTO TABLE_NAME VALUES(XXX),(XXX);OMMIT;egin;DELETE FROM TABLE_NAME VALUES(XXX),(XXX); COMMIT;管理平臺Query ok;Query ok;SESSION 2:SELECT COUNT(*) FROM TABLE_NAME;SELECT COUNT(*) FROM TABLE_NAME;SELECT COUNT(*) FROM TABLE_NAME;SELECT COUNT(*) FROM TABLE_NAME;CBSELECT COUNT(*) FROM TABLE_N
31、AME;Query ok;Query ok;Query ok;Query ok;SELECT COUNT(*) 出的結(jié)果為0或1000;第一步驟:開啟一個SESSION,包含兩個事務,一個是INSERT 1000條數(shù)據(jù),一個是DELETE1000條數(shù)據(jù),兩個事務反復交替執(zhí)行,無間隔 時間;(可提供腳本)第二步驟:開啟第二個SESSION進行SELECTCOUNT(*) 操作,查詢所有節(jié)點的數(shù)據(jù)總數(shù), 該操作應反復執(zhí)行,多次驗證,應為0或者1000,保障分布式事務的數(shù)據(jù)讀一致。分布式事務數(shù)據(jù)庫核心技術(shù)算法功能:分布式事務的數(shù)據(jù)讀一致性第一步驟:開啟一個SESSION,反復執(zhí)行INSERT操作,批
32、量插入1000條數(shù)據(jù),中間無間隔;(可提 供腳本)第二步驟:登錄后端節(jié)點,在MySQL端反復進行kill所有連接的操作,執(zhí)行5-10分鐘;(可提供腳本) 第三步驟:停止第一個SESSION的插入操作;第四步驟:統(tǒng)計所有節(jié)點的數(shù)據(jù)行數(shù),應該為1000 的整數(shù)倍,保障分布式事務的數(shù)據(jù)寫一致。VIPLVS/F5/A10LVS/F5/A10MySQLMySQLMySQLMySQLdn_1dn_2APPAPPAPPMySQLMySQLMySQLMySQLdn_3dn_4計算計算節(jié)計算節(jié)點節(jié)點點SESSION 1:自動提交模式反復執(zhí)行:批量插入1000條數(shù)據(jù)Query ok;Query ok;INSERT
33、 INTO TABLE_NAME VALUES(XXX),(XXX);INSERT INTO TABLE_NAME VALUES(XXX),(XXX);INSERT INTO TABLE_NAME VALUES(XXX),(XXX);INSERT INTO TABLE_NAME VALUES(XXX),(XXX);INSERT INTO TABLE_NAME VALUES(XXX),(XXX);INSERT INTO TABLE_NAME VALUES(XXX),(XXX);NSERT INTO TABLE_NAME VALUES(XXX),(XXX);NSERT INTO TABLE_NAM
34、E VALUES(XXX),(XXX);管理平臺Query ok;Query ok;SESSION 2:SELECT COUNT(*) FROM TABLE_NAME;SELECT COUNT(*) FROM TABLE_NAME;SELECT COUNT(*) FROM TABLE_NAME;SELECT COUNT(*) FROM TABLE_NAME;IISELECT COUNT(*) FROM TABLE_NAME;Query ok;Query ok;Query ok;Query ok;SELECT COUNT(*) 出的結(jié)果為1000的整數(shù)倍;KILL分布式事務數(shù)據(jù)庫核心技術(shù)算法功能
35、:分布式事務的數(shù)據(jù)寫一致性MySQMySQLMySQLMySQLMySQLMySQLMySQLMySQLdn_4IDNAMEIDNAMEIDNAMEIDNAMLEVIPLVS/F5/A10LVS/F5/A10dn_1dn_2APPAPPAPPdn_3計算節(jié)點計算節(jié)點計算節(jié)點INSERT INTO TABLE_NAME(ID,NAME) VALUES (11,abc),(12,abc), (13,abc), (14,abc);INSERT INTO TABLE_NAME(ID,NAME)VALUES(11,abc);INSERT INTO TABLE_NAME(ID,NAME)VALUES(12
36、,abc);INSERT INTO TABLE_NAME(ID,NAME)VALUES(13,abc);INSERT INTO TABLE_NAME(ID,NAME)VALUES(14,abc);管理平臺開啟A客戶端執(zhí)行A事務:BEGIN;SELECT * FROM TABLE_NAME WHERE ID=11 FOR UPDATE;SELECT * FROM TABLE_NAMEWHERE ID=11 FOR UPDATE;開啟B客戶端執(zhí)行B事務:BEGIN;SELECT * FROM TABLE_NAME WHERE ID=14 FOR UPDATE;SELECT * FROM TABLE
37、_NAMEWHERE ID=14 FOR UPDATE;依舊在A客戶端繼續(xù)執(zhí)行A事務:UPDATE TABLE_NAME SET NAME=bcd WHERE ID=14;依舊在B客戶端繼續(xù)執(zhí)行B事務:UPDATE TABLE_NAME SET NAME=bcd WHERE ID=11;UPDATE TABLE_NAME SETNAME=bcd WHERE ID=14;UPDATE TABLE_NAME SETNAME=bcd WHERE ID=11;鎖檢測模型死鎖發(fā)生鎖爭用,死 Query ok; 判斷出現(xiàn)第一步驟:在數(shù)據(jù)分片到不同存儲節(jié)點的前提下 第二步驟:制造分布式事務死鎖1)以下兩行數(shù)
38、據(jù)分布在不同數(shù)據(jù)節(jié)點2)開啟一個客戶端執(zhí)行A事務,如下:select * from table_name where id=11 for update;update table_name set name=bcd where id=14;3)開啟另一個客戶端執(zhí)行B事務,如下:select * from table_name where id=14 for update;update table_name set name=bcd where id=11;Query ok;Query ok;12abcQuery ok;13abcQuery ok;Query ok;14abcQuery ok;11
39、abc分布式事務數(shù)據(jù)庫核心技術(shù)算法功能:高效智能的分布式死鎖檢測MySQLIDNAME14bcdMySQLMySQLMySQLMySQLMySQLMySQLdn_4E11abcIDNAM E12abcIDNAM E13abcE14abcMySQLVIPAPPLVS/F5/A10LVS/F5/A10dn_1dn_2APPAPPdn_3算節(jié)點計算節(jié)點計算節(jié)點計管理平臺第一步:死鎖檢測算法發(fā)現(xiàn)鎖爭用的環(huán)形第二步:計算出來解除那個事務已爭用到的鎖資 源,能破解環(huán)形鎖且是犧牲最小第三步:對被符合要求且保證能破解環(huán)形鎖的其 中一個或多個事務進行回滾操作死鎖解除:選擇解除代價最小的Kill queryB事務
40、失敗IDNAMQuery ok;IDNAMQuery ok;分布式事務數(shù)據(jù)庫核心技術(shù)算法功能:高效智能的分布式死鎖解除機制應用層實現(xiàn)數(shù)據(jù)分片與數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)分片的區(qū)別應用層和分布式事務數(shù)據(jù)庫兩種方式實現(xiàn)數(shù)據(jù)分布式的核心區(qū)別維度項應用層實現(xiàn)數(shù)據(jù)分布式分布式事務數(shù)據(jù)庫產(chǎn)品實現(xiàn)數(shù)據(jù)分布式單個存儲節(jié)點 維度的應用連接數(shù)存儲節(jié)點服務端:單個應用程序服務創(chuàng)建的連接的數(shù)量 * 應用服務個數(shù)計算節(jié)點服務端:單個應用程序服務創(chuàng)建的連接的數(shù)量 * 應用程序服務個數(shù)存儲節(jié)點服務端:以單個mysqld服務的TPS/QPS最佳吞吐量128-256個并發(fā)為準單個應用程序服務 維度的數(shù)據(jù)庫連接數(shù)應用程序服務端:單個存儲節(jié)點
41、連接的數(shù)量 * 數(shù)據(jù)分片數(shù)量,增加開銷應用程序服務端:單個數(shù)據(jù)庫連接的數(shù)量,無額外開銷數(shù)據(jù)服務的高可用應用程序服務端或借助第三方組件實現(xiàn)數(shù)據(jù)服務的高可用計算節(jié)點服務的高可用:分布式選舉算法,且支持少于半數(shù)計算節(jié)點和只剩下一個 計算節(jié)點都能確保正常提供數(shù)據(jù)服務存儲節(jié)點服務的高可用:計算節(jié)點服務的內(nèi)置智能算法架構(gòu)設計成本規(guī)避跨數(shù)據(jù)分片數(shù)據(jù)操作的成本高,抬高技術(shù)門檻及需專家分析實現(xiàn)減少跨數(shù)據(jù)分片數(shù)據(jù)操作的成本低,由AI算法實現(xiàn)智能數(shù)據(jù)分片降低技術(shù)門檻應用開發(fā)成本跨數(shù)據(jù)分片數(shù)據(jù)訪問的研發(fā)成本高,代碼增加量龐大且不通用無研發(fā)成本,應用強透明維護管理成本存儲節(jié)點的數(shù)量決定維護管理工作量的倍數(shù),增加巨大的維
42、護工作量簡便且全圖形化界面智能自動,智能算法發(fā)現(xiàn)定位異常,小于等于單庫維護工作量數(shù)據(jù)操作強一致跨數(shù)據(jù)分片的數(shù)據(jù)操作強一致需要借助業(yè)務沖賬方式實現(xiàn)跨數(shù)據(jù)分片的數(shù)據(jù)操作強一致由計算節(jié)點服務端的內(nèi)置分布式事務算法實現(xiàn)數(shù)據(jù)備份強一致支持單個存儲節(jié)點數(shù)據(jù)備份,全局數(shù)據(jù)無法做到強一致支持全部存儲節(jié)點的全局一致數(shù)據(jù)備份,支持全局數(shù)據(jù)強一致數(shù)據(jù)彈性伸縮不支持彈性擴展,需要應用程序和存儲節(jié)點一同改造支持在線無阻塞不停機的彈性擴展(遷庫和拆庫兩種模式)數(shù)據(jù)服務的 軟件版本升級每個應用程序的代碼都須更新和服務都要重啟,借助負載均衡服務可灰度 發(fā)布只須計算節(jié)點的代碼更新和服務重啟,分布式選舉算法支持灰度發(fā)布應用程序的
43、研發(fā)語言僅限一種編程語言編程語言無限制金融行業(yè)面臨基礎軟件選型難題金融行業(yè)面臨基礎軟件選型難題基礎軟件的產(chǎn)品成熟度技術(shù)標準:缺乏官方推出的基礎軟件行業(yè)技術(shù)標準測試標準:缺乏官方機構(gòu)的基礎軟件行業(yè)評測標準行業(yè)共識:基礎軟件廠商產(chǎn)品的功能定義、技術(shù)指標、產(chǎn)品形態(tài)各不相同基礎軟件的企業(yè)持續(xù)研發(fā)實力:缺乏專注基礎軟件細分領(lǐng)域的產(chǎn)品研發(fā)大型企業(yè)現(xiàn)狀:基礎軟件以創(chuàng)業(yè)型和政府型的企業(yè)為主,非大型企業(yè)的主營業(yè)務及未來也屬非關(guān)鍵性營收業(yè)務人才:國內(nèi)基礎軟件行業(yè)的人才數(shù)量極少,高校配套的培養(yǎng)體系缺乏,就業(yè)導向缺乏基礎軟件的生態(tài)鏈處理器:多數(shù)購買國外處理器指令集知識產(chǎn)權(quán)或OEM國外廠商處理器,處理能力遠低于當下主流
44、 商業(yè)處理器,也存在跟不上技術(shù)更新節(jié)奏,及存在斷供的風險危機操作系統(tǒng):國產(chǎn)操作系統(tǒng)都是基于開源操作系統(tǒng)定制研發(fā)的版本,且無法跟上開源社區(qū)的步 伐,及兼容國產(chǎn)處理器CPU的能力不足應用軟件:軟件開發(fā)商已全部基于國外商業(yè)或開源的操作系統(tǒng)、商業(yè)數(shù)據(jù)庫(逐漸支持開源數(shù)據(jù) 庫)、中間件等,涉及研發(fā)人員、維護人員、架構(gòu)改造等費用成本金融監(jiān)管要求監(jiān)管考核:銀保監(jiān)會對金融行業(yè)的系統(tǒng)穩(wěn)定可靠性、數(shù)據(jù)正確性等考核要求依然是按照國外商業(yè)產(chǎn) 品要求制定激勵政策:技術(shù)創(chuàng)新缺乏對金融單位和個人實質(zhì)性的鼓勵政策序號維度描述MySQLPostgreSQL1穩(wěn)定產(chǎn)品(8分)產(chǎn)品的健壯性,在生產(chǎn)環(huán)境中保持穩(wěn)健運行并保障優(yōu)秀的性能852成熟產(chǎn)品(8分)產(chǎn)品已經(jīng)形成一定規(guī)范,沒有嚴重的產(chǎn)品缺陷,擁有固定的用戶群,且產(chǎn)品可靠性和可應用性都有保障,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人資金周轉(zhuǎn)借條模板:2024年無中介借款協(xié)議樣本版B版
- 二零二五年度魚塘承包與漁業(yè)供應鏈管理合同3篇
- 2025年物流園區(qū)車位劃線與貨物周轉(zhuǎn)效率提升合同4篇
- 二零二五版安防系統(tǒng)集成與后續(xù)技術(shù)支持服務合同2篇
- 校園特色文化建設與校本課程的關(guān)系探討
- 二零二五年度旅游度假區(qū)承包招商范本4篇
- 二零二五版航空地面服務駕駛員勞動合同3篇
- 2025年度海外建筑項目勞務派遣合同2篇
- 2025年度交通事故責任認定及賠償協(xié)議書范本8篇
- 二零二五版電子商品寄售合作協(xié)議3篇
- 高校鑄牢中華民族共同體意識教育的路徑研究
- 《面神經(jīng)炎護理措施分析》3900字(論文)
- 城市微電網(wǎng)建設實施方案
- 企業(yè)文化融入中華傳統(tǒng)文化的實施方案
- 9.1增強安全意識 教學設計 2024-2025學年統(tǒng)編版道德與法治七年級上冊
- 《化工設備機械基礎(第8版)》全套教學課件
- 人教版八年級數(shù)學下冊舉一反三專題17.6勾股定理章末八大題型總結(jié)(培優(yōu)篇)(學生版+解析)
- 2024屆上海高考語文課內(nèi)古詩文背誦默寫篇目(精校版)
- DL-T5024-2020電力工程地基處理技術(shù)規(guī)程
- 初中數(shù)學要背誦記憶知識點(概念+公式)
- 駕照體檢表完整版本
評論
0/150
提交評論