TDSQl


TDSQL

TDSQL(Tencent Distributed MySQL)是騰訊針對金融級 聯機交易場景推出的高一致性,分布式數據庫集群解決方案

核心特性

高一致性、高可用性、高性能

TDSQL核心架構:

實例:從業務視角看到的一個具有完整能力的數據庫

分片(sharding):**是由數據庫節點組(SET)和支撐系統組成一主多從數據庫,也是水平拆分后承載數據的基本單元

節點(DataNode):承載分片的五里界店,一個SET通常包括一個主節點和多個從節點。

Proxy:賬號鑒權、管理連接、SQL解析、分配路由的網關模塊

調度集群、決策集群:作為幾群的管理調度中心,主要保證數據庫及誒單組、接入網關集群的正常運行;

ADS節點:擴展的計算節點,采用只讀的方式與SET連接,以JDBC的方式獲取數據,以spark作為基礎

主備數據復制方式:

主要分為:異步復制、半同步復制、強同步復制

半同步復制的不足:超時后退化成異步,金融場景不合適;跨IDC的情況下性能不樂觀

為了解決這個問題:

通過用戶線程異步化,在等待返回應答時保存THD會話,讓線程可以去處理別的連接,不會做無用的等待

高一致性容災——如何保證沒有臟數據

原則:

1.主機可讀可寫,備機只讀,備機可以開放給業務查詢使用

2.任何時刻同一個SET不能有兩個主機

3.寧願拒絕服務,不提供錯誤的服務,追求CAP中的C,必要的時候犧牲掉部分A

1. 主DB降級為備機

2. 參與選舉的備機上報最新的binlog點

3. Scheduler收到binlog點之后,選擇出binlog最大的節點

4. 重建主備關系

5. 修改路由

6. 請求發給新的主機

數據高可用性的保障機制(恢復):

注:為了保障數據高可用性,一般用三個副本

數據備份:

物理備份:

  1. 1. 利用xtrabackup備份物理文件。
    
    2. 每天凌晨或者指定時間點備份一次
    
    3. 壓縮備份到HDFS。
    
    4. 可配置。
    

邏輯備份:

  1. 1. 利用mydumper備份工具
    
    2. 每天備份一次
    
    3. 壓縮備份到HDFS
    
    4. 每個庫、表結構、表數據獨立備份,恢復時可以單獨恢復
    

binlog備份

  1. 實時備份binlog到hdfs。Lz4壓縮。
    

全面安全防護:

事前:IP白名單;SSL連接加密;SQL防火牆

事中:文件透明加密;網絡隔離;運維安全保障

事后:數據庫審計;操作日志審計;服務器審計

讀寫分離:

基於數據庫賬號的讀寫分離:

基於Hint和自動分析事物的讀寫分離:

分布式實踐,擴展性、分布式事物

多源同步:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM