zoukankan      html  css  js  c++  java
  • 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和自动分析事物的读写分离:
    

    分布式实践,扩展性、分布式事物

    多源同步:

  • 相关阅读:
    Android应用四大组件和应用程序的生命周期
    DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义
    Web前端灰框技术
    用JS实现在页面关闭或刷新时触发特定的事件
    style.display的全部属性值
    Android SDK更新的问题
    页面灰框模式精彩实现
    解决sql 语句中truncate语句不支持变量的问题
    获取网页中图片链接的路径的正则表达式
    web页面自动保存本页面的内容到本地
  • 原文地址:https://www.cnblogs.com/baozexu/p/12508864.html
Copyright © 2011-2022 走看看