


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、iddbsiddbs 分布式數(shù)據(jù)庫系統(tǒng)分布式數(shù)據(jù)庫系統(tǒng)產(chǎn)品白皮書產(chǎn)品白皮書二二一四年十一月一四年十一月目目錄錄1. 1.2. 2.3. 3.4. 4.引言引言. 3 3產(chǎn)品簡介產(chǎn)品簡介 . . 3 3產(chǎn)品業(yè)務能力產(chǎn)品業(yè)務能力 . . 4 4產(chǎn)品功能產(chǎn)品功能 . . 4 .5. 5.產(chǎn)品功能架構(gòu) . 4核心功能描述 . 5產(chǎn)品特點與優(yōu)勢產(chǎn)品特點與優(yōu)勢 . . 7 .產(chǎn)品特點 . 7產(chǎn)品優(yōu)勢 . 86. 6.產(chǎn)品性能產(chǎn)品性能 . 10 . ..6.2.分布式數(shù)據(jù)庫研發(fā):內(nèi)部集成測試 . 10測試環(huán)境 . 10測試摘要 . 11性能總結(jié)
2、 . 127. 7.平臺環(huán)境要求平臺環(huán)境要求 . 12 . 12軟件運行環(huán)境 . 138. 8.附錄附錄. 13. 13第第 2 2 頁,共頁,共 1414 頁頁1. 1. 引言引言隨著傳統(tǒng)的數(shù)據(jù)庫技術日趨成熟、計算機網(wǎng)絡技術的飛速發(fā)展和應用范圍的擴充,數(shù)據(jù)庫應用已經(jīng)普遍建立于計算機網(wǎng)絡之上。這時集中式數(shù)據(jù)庫系統(tǒng)表現(xiàn)出它的不足以及商業(yè)分布式方案代價大:1)集中式處理,勢必造成性能瓶頸;應用程序集中在一臺計算機上運行,一旦該計算機發(fā)生故障,則整個系統(tǒng)受到影響,可靠性不高,集中式處理引起系統(tǒng)的規(guī)模和配置都不夠靈活,系統(tǒng)的可擴展性差。2)海量數(shù)據(jù)無法支撐,越來越多的互聯(lián)網(wǎng)企業(yè)在使用著一些關系型數(shù)據(jù)庫
3、以及非關系型數(shù)據(jù)庫,但目前很多產(chǎn)品目前沒有一個很好數(shù)據(jù)庫架構(gòu)來解決海量數(shù)據(jù)存儲以及高訪問量問題,通常受限于軟件、硬件、網(wǎng)絡 io 瓶頸,它們無法支撐更多的訪問量以及數(shù)據(jù)容量,在目前互聯(lián)網(wǎng)上很少有一種比較通用的解決手段。3)一般企業(yè)在這方面沒有投入大量成本去做相關的技術研究,通常會在客戶端做相應的技術改造,而這些方案是在特定語言以及特定的軟件框架下形成的,很難有一個通用型,跨語言、開發(fā)框架難以復用的問題,也對相關的運維人員(比如 dba)帶來維護上面的困難 。隨著信息技術的發(fā)展,人們對海量數(shù)據(jù)的存儲要求更加迫切,對數(shù)據(jù)查詢性能的要求也更加迫切,對數(shù)據(jù)的擴展能力和高可用也有著強烈的要求,因此分布數(shù)
4、據(jù)庫的落地成為了必然。2. 2. 產(chǎn)品簡介產(chǎn)品簡介iddbs 是一個支持海量數(shù)據(jù)的高性能分布式數(shù)據(jù)庫系統(tǒng),具有對客戶端透明,負載均衡、高可用性、低成本等特性。 iddbs 的核心部分是分布式數(shù)據(jù)庫代理層軟件。代理層是座落與 client 和 db server(s)之間的軟件,其主要功能是執(zhí)行 sql 解析、分庫分表、實現(xiàn)讀寫分離、數(shù)據(jù)對稱/非對稱復制、路由表、執(zhí)行并發(fā) sql 計算、切片 sql 到多臺數(shù)據(jù)庫并合并回籠結(jié)果等功能,同時iddbs 能夠有效的將分布在不同地域的數(shù)據(jù)庫資源進行有效的整合,可以根據(jù)第第 3 3 頁,共頁,共 1414 頁頁業(yè)務需要隨時擴展節(jié)點,滿足數(shù)據(jù)的海量存儲和高
5、并發(fā)的數(shù)據(jù)訪問需要,可以將業(yè)務分攤到不同的節(jié)點進行業(yè)務處理,而應用程序卻不需要做改動處理。3. 3. 產(chǎn)品業(yè)務能力產(chǎn)品業(yè)務能力iddbs 分布式數(shù)據(jù)庫系統(tǒng)結(jié)合了當前 etl 理論、分布式數(shù)據(jù)庫理論、中國移動詳單查詢業(yè)務,其業(yè)務能力架構(gòu)如下圖所示:參數(shù)配置路由管理節(jié)點管理訪問控制訪問控制代理管理層代理管理層通訊管理代理存儲層代理存儲層文件心跳檢測路由管理路由管理讀寫分離sql 解析垂直分庫水平分庫消息管理消息管理消息拆分消息重組負載均衡應用接口層應用接口層nio 通訊mysql 協(xié)議數(shù)據(jù)庫訪問服務接入模塊以 mysql 驅(qū)動包方式,連接到分布式數(shù)據(jù)庫代理中間件,通過消息處理 路由轉(zhuǎn)換 負載均衡將
6、各業(yè)務端的服務請求發(fā)送到各數(shù)據(jù)庫節(jié)點。數(shù)據(jù)庫節(jié)點收到代理的請求信息,將處理的結(jié)果發(fā)送到代理服務器,代理服代理服務務器根據(jù)請求的 sql 信息,將返回的結(jié)果集進行合并處理,發(fā)送到服務請求端。qos 和業(yè)務服務監(jiān)控提供實時、靈活的 sla 能力,滿足對不同層次客戶的個性化服務要求。4. 4. 產(chǎn)品功能產(chǎn)品功能.產(chǎn)品功能架構(gòu)產(chǎn)品功能架構(gòu)iddbs 分布式數(shù)據(jù)庫系統(tǒng)的功能架構(gòu)如下圖所示:第第 4 4 頁,共頁,共 1414 頁頁路由管理讀寫分離讀庫策略消息處理數(shù)據(jù)拆分函數(shù)支持countavage分頁處理消息拆分oracle 向mysql 同步數(shù)據(jù)同步數(shù)據(jù)獲取數(shù)據(jù)轉(zhuǎn)換同步條件同步任務消息內(nèi)
7、容水平切分垂直切分消息重組消息長度寫庫策略路由策略取模算法maxmin事務處理比較算法order by默認路由數(shù)據(jù)入庫mysql 數(shù)據(jù)同步binlog 日志規(guī)則配置sql解析負載均衡高可用sql類型定義心跳檢測日志遷移消息重組自定義函數(shù)同步執(zhí)行通訊管理代理配置權(quán)限配置物理節(jié)點虛擬節(jié)點規(guī)則管理通訊管理線程管理對象管理通訊管理.核心功能描述核心功能描述核心功能的簡要描述如下表:一級一級二級二級三級三級數(shù)據(jù)導出連接管理數(shù)據(jù)導出數(shù)據(jù)導出 sql 管理數(shù)據(jù)導出變量傳遞管理數(shù)據(jù)同步管理數(shù)據(jù)導入動態(tài)日期表數(shù)據(jù)導出管理數(shù)據(jù)導入連接管理導入數(shù)據(jù)表名稱管理動態(tài)日期表數(shù)據(jù)導入管理數(shù)據(jù)清理連接管理歷史數(shù)
8、據(jù)清理刪除數(shù)據(jù)的表名稱管理刪除數(shù)據(jù)的字段條件管理當主機出現(xiàn)故障自動切換到備用服務器上當主機出現(xiàn)故障自動切換到備用服務器上進行對節(jié)點負載信息和執(zhí)行結(jié)果選擇要發(fā)送的服務節(jié)點只有提供了正確的代理用戶賬號和密碼才冗余處理垂直切分負載均衡核心支撐服務主備切換支持自動故障自動切換優(yōu)先策略處理客戶端用戶權(quán)限驗證第第 5 5 頁,共頁,共 1414 頁頁可以連接代理服務器對可連接的 ip 號段信息進行管理初始化對象連接池的數(shù)量初始化數(shù)據(jù)庫最大連接數(shù)初始化數(shù)據(jù)庫最小連接數(shù)連接管理設置連接池的刷新周期設置數(shù)據(jù)庫空閑連接數(shù)對可連接的 ip 進行可訪問控制并對用戶名和密碼進行控制代理服務讀對象池 io 個數(shù)管理對象池
9、管理線程池管理心跳檢測管理路由服務代理服務客戶端線對象池個數(shù)管理代理服務可處理 mysql 對象池個數(shù)管理代理服務線程池個數(shù)管理定時將心跳信息和異常信息寫入文件能夠獲取本次會話的 sql 信息能夠?qū)⑼ㄟ^規(guī)則服務信息和 sql 信息獲取要路由的連接池節(jié)點規(guī)則服務session 記憶服務能夠加載規(guī)則服務文件對規(guī)則文件路徑進行配置在事務請求處理中, 通過 session 信息進行事務的開通 提交 回滾操作設置每次接收數(shù)據(jù)的最大吞吐量設置每次發(fā)送數(shù)據(jù)的最大吞吐量對代理服務設置超時時長, 如果服務超出連服務管理接時長,就斷開連接對代理服務的線程個數(shù)進行設置, 通過線程數(shù)優(yōu)化效率日志獲取冗余處理數(shù)據(jù)同步日
10、志遷移sql 執(zhí)行多節(jié)點數(shù)據(jù)發(fā)送支持 ddl 操作語言路由, 所有ddl 操作,進入 ddl 池能夠管理支持事務的服務節(jié)點, 在事務隊列中的節(jié)點支持路由機制事務支持 ddl 操作語言路由,所有 ddl 操作,進入 ddl 池能夠管理支持事務的服務節(jié)點, 在事務隊列中的節(jié)點支持事務根據(jù)查詢條件計算要查詢數(shù)據(jù)節(jié)點的個數(shù),根據(jù)要查詢的總數(shù)據(jù)的條數(shù)計算平均分布查詢消息重組到每個節(jié)點的條數(shù)和查詢數(shù)據(jù)的起始位置,將查詢條件拆分到不同的數(shù)據(jù)接點上, 最終件數(shù)據(jù)結(jié)果合并第第 6 6 頁,共頁,共 1414 頁頁支持 max 結(jié)果集合并結(jié)果集合并支持 min 結(jié)果集合并支持 count 結(jié)果集合并支持 sum
11、結(jié)果集合并結(jié)果集重組能夠管理支持事務的服務節(jié)點, 在事務隊列中的節(jié)點支持事務讀寫分離寫服務器支持多服務器讀取數(shù)據(jù)支持多服務器查詢支持 order by 處理能夠管理支持事務的服務節(jié)點, 在事務隊列中的節(jié)點支持事務支持取模路由水平切分支持多服務器主備機制支持插入時按照默認字段路由支持批量插入路由支持同結(jié)構(gòu)日期表路由數(shù)據(jù)路由規(guī)則管理路由策略節(jié)點管理虛擬節(jié)點管理策略管理分析監(jiān)控能夠?qū)σ?guī)則文件進行新增 修改 刪除規(guī)則文件在修改后能即時生效能夠?qū)β酚刹呗怨?jié)點進行 新增 修改 刪除路由策略節(jié)點進行修改后能夠即時生效能夠?qū)μ摂M節(jié)點進行 新增 修改 刪除虛擬節(jié)點在修改后能即時生效對路由異常 sql 寫入日志進
12、行監(jiān)控對消息處理異常寫入日志進行監(jiān)控對連接池異常寫入日志進行監(jiān)控對代理后臺項目異常寫入日志進行監(jiān)控故障切換策略負載均衡策略循環(huán)發(fā)送策略負載均衡高可用策略當主機出現(xiàn)故障自動切換到備用服務器上根據(jù)負載和上次執(zhí)行節(jié)點情況選擇可用節(jié)點發(fā)送按照配置節(jié)點順序循環(huán)選擇節(jié)點進行發(fā)送當接觸出現(xiàn)問題, 可以將數(shù)據(jù)發(fā)送到備份節(jié)點5. 5. 產(chǎn)品特點與優(yōu)勢產(chǎn)品特點與優(yōu)勢.產(chǎn)品特點產(chǎn)品特點 支持 tcp 的服務訪問通訊協(xié)議 支持事務處理機制第第 7 7 頁,共頁,共 1414 頁頁 支持 ddl 操作語言在多節(jié)點執(zhí)行 支持插入數(shù)據(jù)無默認字段也可以進行路由 支持一條 sql 插入多記錄路由 支持批量提交 支
13、持 count 查詢結(jié)果集合并為一條記錄 支持 max 查詢結(jié)果集合并為一條記錄 支持 min 查詢結(jié)果集合并為一條記錄 支持 sum 查詢結(jié)果集合并為一條記錄 支持 order by 查詢多節(jié)點結(jié)果排序 支持分頁數(shù)據(jù)路由 支持動態(tài)代理參數(shù)修改 支持動態(tài)規(guī)則加載 支持臨時新增服務節(jié)點和虛擬節(jié)點 支持臨時可訪問 ip 端變更 支持同類數(shù)據(jù)表路由切分 支持單個字段多節(jié)點 distinct 查詢 支持單個字段多節(jié)點 groupby 查詢 支持存儲過程路由 支持多用戶隔離訪問.產(chǎn)品優(yōu)勢產(chǎn)品優(yōu)勢路由管理路由管理采用讀寫分離策略,將需要執(zhí)行的sql 進行甄別,如果屬于寫策略就將sql 發(fā)送到
14、對應的寫接入端,如果屬于讀策略就將 sql 發(fā)送對應的讀接入端,同時降低了服務器壓力,實現(xiàn)讀寫分離策略。采用輪詢策略,將業(yè)務請求循環(huán)的發(fā)送到業(yè)務節(jié)點,降低了單個節(jié)點的壓力。采用高可用策略,在單個節(jié)點出現(xiàn)故障時能夠切換到備用節(jié)點調(diào)用,保障業(yè)務第第 8 8 頁,共頁,共 1414 頁頁的正常運行。采用心跳監(jiān)控策略,實時對調(diào)用節(jié)點進行監(jiān)控,將出現(xiàn)故障的節(jié)點排除到可調(diào)用節(jié)點之外,實現(xiàn)了數(shù)據(jù)庫節(jié)點的高可用。路由規(guī)則的變化能夠即時生效,保障業(yè)務能夠順利進行擴展。消息管理消息管理采用 nio 無阻塞通訊模式, 業(yè)務節(jié)點不會由于節(jié)點請求頻繁導致大量請求被阻塞,保障業(yè)務能夠不間斷的執(zhí)行。采用消息包進行拆分處理模
15、式,對每次接受的最大數(shù)據(jù)量和發(fā)送的最大數(shù)據(jù)量進行分包處理,保障業(yè)務不會因為占用大量內(nèi)存而無法運行。支持消息節(jié)點的重構(gòu)處理,將消息進行重構(gòu)處理。代理配置設管理代理配置設管理采用定時任務檢測,將最新更新的配置信息加載到服務中,通過定時任務加載可以保障在不影響系統(tǒng)運行的情況下加入新的業(yè)務規(guī)則,供業(yè)務系統(tǒng)調(diào)用。采用多線程處理機制,對業(yè)務請求進行處理,保障業(yè)務的高效運行。采用數(shù)據(jù)庫連接池機制,保障業(yè)務不用頻繁的連接數(shù)據(jù)庫和關閉數(shù)據(jù)庫,提高系統(tǒng)性能。支持臨時新增服務節(jié)點,保障業(yè)務的臨時擴展數(shù)據(jù)同步管理數(shù)據(jù)同步管理 采用動態(tài)獲取表機制,保障日期表能夠進行同步處理。 采用 load 機制,保障數(shù)據(jù)表高效的同步
16、到數(shù)據(jù)表。 采用集群處理機制,保障業(yè)務在業(yè)務在多個節(jié)點同時運行。 采用組件開發(fā)思想,降低系統(tǒng)的耦合性,提高系統(tǒng)的擴展性。結(jié)果集合并處理結(jié)果集合并處理支持 order by 結(jié)果的重新排序。第第 9 9 頁,共頁,共 1414 頁頁支持 distinct 結(jié)果的重新組合。支持 sum 結(jié)果的重新組合。支持 max 結(jié)果的重新組合。支持 min 結(jié)果的重新組合。支持 count 結(jié)果的重新組合。支持 group by 結(jié)果的重新組合。6. 6. 產(chǎn)品性能產(chǎn)品性能.分布式數(shù)據(jù)庫研發(fā):內(nèi)部集成測試分布式數(shù)據(jù)庫研發(fā):內(nèi)部集成測試.1.1. 測試環(huán)境測試環(huán)境測試時間:2013-
17、2-202013-2-22測試地點:北京測試環(huán)境架構(gòu)如下圖所示:第第 1010 頁,共頁,共 1414 頁頁讀操作將數(shù)據(jù)導入到對應服務器mysql 數(shù)據(jù)庫1數(shù)據(jù)庫代理服務器1寫操作操作業(yè)務系統(tǒng)讀操作業(yè)務服務器獲取可同步數(shù)據(jù)客戶端oracle數(shù)據(jù)庫寫操作將數(shù)據(jù)導入到對應服務器數(shù)據(jù)同步服務器mysql 雙向數(shù)據(jù)同步讀操作數(shù)據(jù)庫代理服務器2讀操作mysql 數(shù)據(jù)庫.1.2. 測試摘要測試摘要..查詢性能查詢性能mysql 4 個服務實例采用雙機互備 200 線程并發(fā)情況的指標:數(shù) 據(jù)量新 增 每 條查詢單每 秒 處 理每秒處理插入記錄用時(秒)條記錄耗時插
18、 入 并 發(fā) 數(shù)并發(fā)數(shù)(條)(秒)100 萬0.1640.142(條)2009.75609767904.22535300 萬0.1870.1721534.75935836081.39535第第 1111 頁,共頁,共 1414 頁頁500 萬2 億0.321.450.2130.5291312.5768.965517244669.483572089.03592mysql 4 個服務實例采用雙機互備 500 線程并發(fā)情況的指標:數(shù) 據(jù)量新 增 每 條查詢單每 秒 處 理每秒處理查詢記錄用時(秒)條記錄耗時插 入 并 發(fā) 數(shù)并發(fā)數(shù)(條)(秒)100 萬0.11640.142(條)3609.75609
19、7636904.22535300 萬0.1970.1722534.759358324081.39535500 萬2 億0.3421.650.2130.5291312.51658.9655172413669.483578089.0359.性能總結(jié)性能總結(jié) 代理中間件的性能在 500 并發(fā)以下,不存在性能瓶頸問題。 代理的性能和服務器的配置存在很大的關系。 節(jié)點的增加對于服務的讀性能有很大提高,基本成水平增長。 節(jié)點的寫性能在不開通事務的情況下也隨著節(jié)點數(shù)量的增加進行增加,在開通事務時,如果是多用戶處理,也可以有效的提高寫并發(fā)的性能。7. 7. 平臺環(huán)境要求平臺環(huán)境要求1.分布式數(shù)
20、據(jù)庫代理服務器: x86 pc 服務器或刀片服務器。第第 1212 頁,共頁,共 1414 頁頁 磁盤空間=100g。 內(nèi)存=16g。 100mbps 以上網(wǎng)絡連接。 數(shù)量 2 臺2.數(shù)據(jù)存儲服務器: x86 pc 服務器或刀片服務器。 14t=磁盤空間=1000g,根據(jù)數(shù)據(jù)量大小計算。 內(nèi)存=4g。 100mbps 以上網(wǎng)絡連接。 數(shù)量=4 臺軟件運行環(huán)境軟件運行環(huán)境 支持 unix、linux、windows 操作系統(tǒng); 支持 mysql、oracle 數(shù)據(jù)庫; 支持 jdk1.6 及以上版本 支持 java、c/c+、.net、php 等的客戶端訪問;8. 8. 附錄附錄soasoa:s
21、ervice oriented architecture,面向服務的體系架構(gòu)。分布式數(shù)據(jù)庫系統(tǒng)分布式數(shù)據(jù)庫系統(tǒng):分布式數(shù)據(jù)庫系統(tǒng)是在集中式數(shù)據(jù)庫系統(tǒng)的基礎上發(fā)展起來的,是計算機技術和網(wǎng)絡技術結(jié)合的產(chǎn)物。分布式數(shù)據(jù)庫系統(tǒng)適合于單位分散的部門,允許各個部門將其常用的數(shù)據(jù)存儲在本地,實施就地存放本地使用,從而提高響應速度,降低通信費用。分布式數(shù)據(jù)庫系統(tǒng)與集中式數(shù)據(jù)庫系統(tǒng)相比具有可擴展性,通過增加適當?shù)臄?shù)據(jù)冗余,提高系統(tǒng)的可靠性。在集中式數(shù)據(jù)庫中,盡量減少冗余度是系統(tǒng)目標之一其原因是,冗余數(shù)據(jù)浪費存儲空間,而且容易造成各副本之間的不一致性而為了保證數(shù)據(jù)的一致性,系統(tǒng)要付出一定的維護代價減少冗余度的目標是用數(shù)據(jù)共享來達到的。而在分布式數(shù)據(jù)庫中卻希望增加冗余數(shù)據(jù),在不同的場地存儲同一數(shù)據(jù)的多個副本,其原因是:提高系統(tǒng)的可靠性、可用性當某一第第 1313 頁,共頁,共 1414 頁頁場地出現(xiàn)故障時,系統(tǒng)可以對另一場地上的相同副本進行操作,不會因一處故障而造成整個系統(tǒng)的癱瘓。提高系統(tǒng)性能系統(tǒng)可以根據(jù)距離選擇
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合法壓車合同范本
- 和員工股合同范本
- 合作種植大蔥合同范例
- 員工提成合同范例
- 加工豎立桅桿合同范本
- 臺州市商品房出租合同范本
- 吳江區(qū)律師顧問合同范本
- 沖壓模具開發(fā)合同范本
- 代理記賬報稅 合同范本
- 傳媒公司聘用合同范本
- 2024年英德中小學教師招聘真題
- 2024年車險理賠保險知識試題庫(附含答案)
- 食品安全追溯管理體系制度
- 2024-2025學年新教材高中語文 第六單元 13.2 裝在套子里的人教案 部編版必修下冊
- 中央2024年中國醫(yī)學科學院血液學研究所血液病醫(yī)院招聘17人筆試歷年典型考題及考點附答案解析
- JBT 14732-2024《中碳和中碳合金鋼滾珠絲杠熱處理技術要求》
- 【直播帶貨發(fā)展前景探究:以抖音平臺為例6700字(論文)】
- 2024入贅協(xié)議書范本
- 2024屆江蘇省蘇北七市(南通)高三二模考試英語試題讀后續(xù)寫思路分析My best examination 講義
- 計算機系統(tǒng)原理13015習題答案
- 2024年益陽醫(yī)學高等專科學校單招職業(yè)技能測試題庫及答案解析
評論
0/150
提交評論