天天看點

傳統應用層邏輯分庫DB遷移阿裡雲DRDS+RDS分布式資料庫

随着網際網路快速發展,我們的結構化關系資料庫在高并發、海量資料的情況下面臨單機擴充性問題,首先是單機資料庫容量瓶頸,單機資料庫在業務高速增長的情況下依賴硬體更新也會到達天花闆,并且使用成本變得非常高,而且擴充性的複雜性也是比較高,傳統資料庫擴容往往意味着服務中斷,很難做到業務無感覺或者少感覺。

    通過資料水準切換來現實分庫可以幫助提升資料庫整體性能、橫向擴充性,切分後有效的降低了單台機器的通路負載,同時最大限度的降低了資料庫服務節點當機後的損失。

<b>傳統應用業務層邏輯或元件分庫實作方式</b>

<b></b>

傳統應用層邏輯分庫DB遷移阿裡雲DRDS+RDS分布式資料庫

                               <b> </b><b>應用和資料庫按業務地域水準拆分</b>     

傳統應用層邏輯分庫DB遷移阿裡雲DRDS+RDS分布式資料庫

                                <b>應用JDBC驅動層元件封裝實作水準拆分</b>

<b> </b>

傳統模式的分庫我們看以看到有把系統應用及資料庫按業務屬性(比如城市、區域、類型等)水準拆分為多個獨立分系統,通過在接入層做路由;另外就是在應用通過封裝JDBC Driver元件來實作通路分庫,類似于通過MySQL的JDBC驅動通路MySQL。傳統模式的分庫方式雖然使用簡單實用容易上手,但是版本難以控制/問題難以追蹤排除,并且DB連接配接仍然和傳統資料庫一樣無法收斂。

<b>阿裡雲DRDS+RDS分布式資料庫功能及優勢</b>

傳統應用層邏輯分庫DB遷移阿裡雲DRDS+RDS分布式資料庫

基于阿裡雲DRDS+RDS實作的分布式資料庫資料讀寫存儲叢集化,不受單機限制,業務使用的連接配接數也無限制,DRDS中間件服務節點及後端RDS存儲服務點都可以支援橫向和縱向更新擴充,支援多種拆分模式規則,實作資料水準拆分;相容 MySQL 協定和大部分 MySQL SQL 文法,無業務侵入式使用讀寫分離,提供全面的運維和監控能力:

<b>     分庫分表:</b>支援

RDS/MySQL 的分庫分表,在建立分布式資料庫後,隻需選擇拆分鍵,DRDS 就可以按照拆分鍵生成拆分規則,實作資料水準拆分。

<b>透明讀寫分離:</b>通過使用

RDS 隻讀執行個體或者 MySQL 備機實作讀寫分離,幫助應用解決事務、隻讀執行個體或者備機挂掉、指定主備通路等細節問題,對應用無侵入,在 DRDS 控制台即可完成讀寫分離相關操作。

<b>資料存儲平滑擴容:</b>當出現資料存儲容量和通路量瓶頸時,DRDS 支援線上存儲容量擴充,擴容無需應用改造,擴容進度支援可視化跟蹤

<b>服務升降配:</b>DRDS 執行個體可以通過改變資源數量實作服務能力的彈性擴充。

<b>分布式運維指令集:</b>DRDS 提供獨有分布式資料庫運維指令集,如 SHOW SLOW、TRACE、SHOW

NODE 等指令,快速發現和定位問題。

<b>全局唯一數字序列:</b>DRDS 支援分布式全局唯一且有序遞增的數字序列。滿足業務在使用分布式資料庫下對主鍵或者唯一鍵以及特定場景的需求。

<b>資料庫賬号權限體系:</b>DRDS 支援類單機

MySQL 賬号和權限體系,確定不同角色使用的賬号操作安全。

<b>分布式事務:</b>DRDS 結合分布式事務套件 GTS,可以支援分布式事務,保證分布式資料庫資料一緻性。

<b>監控報警:</b>DRDS 支援對核心資源名額和資料庫執行個體名額的實時監控和報警,如執行個體 CPU、網絡 IO、活躍線程等,實時發現資源和性能瓶頸。

<b>資料遷移-多分庫DB資料遷移到DRDS+RDS分布式單個邏輯庫</b>

     目前阿裡雲提供資料遷移工具DTS或資料內建等産品,另外資料內建開源版Datax可以下載下傳部署支援更靈活的方式;

     資料傳輸(資料傳輸(Data Transmission)是阿裡雲提供的一種支援RDBMS(關系型資料庫)、NoSQL、OLAP等多種資料源之間資料互動的資料服務。它提供了資料遷移、實時資料訂閱及資料實時同步等多種資料傳輸能力。通過資料傳輸可實作不停服資料遷移、資料異地災備、跨境資料同步、緩存更新政策等多種業務應用場景)是阿裡雲提供的一種支援RDBMS(關系型資料庫)、NoSQL、OLAP等多種資料源之間資料互動的資料服務。它提供了資料遷移、實時資料訂閱及資料實時同步等多種資料傳輸能力。通過資料傳輸可實作不停服資料遷移、資料異地災備、跨境資料同步、緩存更新政策等多種業務應用場景

<b>Mysql</b><b>到DRDS資料遷移指導手冊:</b> https://help.aliyun.com/document_detail/48470.html

資料內建是穩定高效、彈性伸縮的資料同步平台,提供豐富的異構資料源之間資料高速穩定的資料移動及同步能力。豐富的資料源支援:文本存儲(FTP/SFTP/OSS/多媒體檔案 等)、資料庫(RDS/DRDS/MySQL/PostgreSQL 等)、NoSQL(Memcache/Redis/MongoDB/HBase 等)、大資料(MaxCompute/ AnalyticDB/HDFS 等) 、MPP資料庫(HybridDB

for MySQL等)

<b>遷移工具</b>

<b>部署方式</b>

<b>遷移方式</b>

<b>優勢</b>

<b>DTS</b>

PAAS雲服務

全量+增量

不停服遷移/白屏化操作

<b>資料內建</b>

全量

支援資料庫類型豐富/白屏化操作/同步任務管理

<b>Datax</b>

自建部署

靈活,可滿足複雜資料遷移場景

1.    

對于傳統分庫方式往DRDS+RDS的資料遷移,分庫數比較少/要求不停服的情況下可以使用DTS,主要是因為每個源分庫需要建立一個資料遷移任務,如果分庫數較多,那麼建立遷移任務的工作量也是很大的;另外對于目标資料源結構變化大,需要源資料庫多表合并jion遷移到目标庫的場景不适應DTS,可以使用資料內建

2.    

分庫數較多和需要源資料庫多表合并jion遷移到目标庫,比如幾十上百分庫數的,建議使用資料內建或datax來遷移資料;但不支援增量遷移,要實作增量遷移的需要源表有insert或update時間戳