• 分布式一致性解决分布式一致性问题用二阶段提交一个没有高可用组件的数据库不能依靠外部软件来实现高可用


    聊聊分布式数据库的那些事儿|InfoQ大咖说

    https://v.qq.com/x/page/r03631pv2j3.html


    数据库需要支持事务,事务需要ACID
    分布式数据库不一定需要支持事务,所以不一定支持ACID,只是提出了一个理论CAP,目前业界包括TiDB都普遍支持C和P,分布式数据库是比较新的技术,目前业界还没有相应标准,比如TPCC性能压测都是只针对单机数据库

    分布式数据库里的A和P没什么好说的,可以讨论的是C,一致性


    单机一致性:写入一条数据,再读出的时候,能不能读出刚才写入的最新那条数据


    分布式一致性:
    1、强一致性 2、最终一致性
    强一致性 :TiDB支持强一致性,各个副本都是同步模式
    最终一致性: 阿里的DRDS是最终一致性


    解决分布式一致性问题,用二阶段提交,two-phase commit
    队列或者其他技术本身都解决不了问题,只有两阶段提交是目前主流数据库采用的方案,包括SQL Server,PGSQL
    两阶段提交需要用分布式事务管理器来拒绝单点

    一个没有高可用组件的数据库,不能依靠外部软件来实现高可用,比较MySQL主从依靠zookeeper来做故障切换
    但是zookeeper只能知道master挂了,但是不知道主从数据是否一致!
    本质上无法解决问题

    例如packmaker+corosync 做SQL Server的主从切换,SQL Server只能用共享存储,否则也是无法知道主从数据是否一致

    tidb(AP和TP之间要做资源隔离,硬件级隔离
    https://cloud.tencent.com/developer/article/1496742
    https://mp.weixin.qq.com/s/laRHOlCqtMnse2cA4lSlDw
    这一套架构虽然很方便,但是同样也存在一些问题,最显而易见的就是AP和TP互相干扰,这在初期是HTAP系统无法避免的问题。在18年的时候TiDB就提出了TiFlash的项目



    f

  • 相关阅读:
    NVCC编译器
    BMP文件格式及读写
    Vim 命令 【转】
    NFS文件系统配置 和 GLIBC更新
    cuda vector addition
    hdu4758 Walk Through Squares 自动机+DP
    hdu4722 Good Numbers
    hdu4725 The Shortest Path in Nya Graph
    Anaconda-科学计算的 Python 发行版
    OUC_NewACMer_Personal_#1 题解
  • 原文地址:https://www.cnblogs.com/MYSQLZOUQI/p/6263388.html
Copyright © 2020-2023  润新知