[TcaplusDB知识库]TcaplusDB的高可用性和数据安全性介绍「终于解决」

[TcaplusDB知识库]TcaplusDB的高可用性和数据安全性介绍「终于解决」随着信息化的发展,数据库已经是企业正常运营必不可少的工具,企业的所有数据都存储在数据库上,因此可以说数据库的可靠与否关系着企业的生死存亡。 因此,数据的保护和备份是数据库业务的重中之重,系统的可用性…

[TcaplusDB知识库]TcaplusDB的高可用性和数据安全性介绍

随着信息化的发展,数据库已经是企业正常运营必不可少的工具,企业的所有数据都存储在数据库上,因此可以说数据库的可靠与否关系着企业的生死存亡。

因此,数据的保护和备份是数据库业务的重中之重,系统的可用性以及数据的可靠性对数据库来说都是至关重要的。

数据库的可用性是指数据库在规定的条件下使用时维持其正常功能的能力。其量化参数为可用度,表示数据库产品在规定的条件下使用时,在某时刻维持其正常业务功能的概率。高可用性的数据库提供自动快速地转移到备份的全自动故障转移,这样,用户和应用程序可以继续工作,而不会中断。

而数据一致性指数据库的关联数据之间的逻辑关系是否正确和完整,数据一致性可以确保用户所取的数据结果的一致。

而对于TcaplusDB而言,设计数据库系统的可用性和数据一致性,最重要的是满足用户的需求,从用户的需要出发,才能够设计出最好的数据库。

下面TcaplusDB君将介绍TcaplusDB的高可用性和数据安全性以及灾备机制。

高可用

TcaplusDB组件默认采用高可用部署:

  • 管理节点tcapcenter采用Master/Slave模式部署,当Master故障时自动切换到Slave。
  • 管理节点tcapdir会部署多个进程。
  • 接入层tcaproxy采用冗余方式,单个接入层节点故障不会导致用户请求处理异常。
  • 存储层tcapsvr,采用Master/Slave模式,主从切换无损。 存储层tcapsvr Master/Slave和接入层tcaproxy部署优先采用同城跨机房部署,也支持跨机架、跨交换机、跨楼层等部署方式。

数据一致性保障

对于TcaplusDB来说,有完善的数据一致性保障措施,具体如下所示:

  • 正常读写场景:主备通过binlog来保证数据一致性,主备会按严格一致的时间顺序执行binlog;主备时间差约10ms; 业务读写请求均在主节点执行。
  • 主备切换: 系统主动切换会先等待数据完全同步后,再进行切换。故障切换若因master进程已不存在, 可能丢失10ms左右数据,此时因老请求还连在原master上,TcaplusDB主备同步目前采用的是异步写的机制,当数据写主过程中故障,有可能数据还未来得及同步备机连接就断了,此时数据就可能会丢失,目前所使用的内外客户对这种损失程度还处于可接受范围,不会对业务造成太大影响。目前针对这个情况,项目组也在计划设计强同步机制,确保数据不会丢,不过带来的就是会牺牲一定的吞吐量。
  • 周期性主备数据一致性全量对比: 根据用户需要,在低峰期对全量数据做一致性对比。对比过程因前端读写产品的不一致会根据记录修改时间自动判断并重复校验, 以发现系统潜在的不一致风险。 通常做法是抽查一些核心表的部分数据分片来进行全量比对,以保障比对效率。
  • 冷备数据一致性保障: 备节点在做全量冷备时,冷备开始时间点全量数据文件处于完全静止状态,此时全量数据采用字节copy来进行备份, 完全无一致性问题。 且在冷备期间,前端读写完全不受影响,新请求会写入小的修改集,请求会合并全量数据和小修改集。
  • 数据落地安全保障: 业务数据在存储节点落地时有CRC校验, 若因数据被篡改, CRC校验会失败, 不会因此返回给用户错误的数据。

灾难恢复

TcaplusDB API维护了一致性Hash环,当增加或者减少接入层节点时,TcaplusDB API会自动调整接入层tcaproxy的信息。

  • 接入层异常:TcaplusDB每秒会向接入层tcaproxy发送心跳,若接入层节点在10s内没有返回响应,则TcaplusDB API会主动标注该节点不可用,使用其他节点。
  • 存储层异常:tcapsvr Slave发生异常时会被一个新的Slave节点替换。如果tcapsvr master发生异常, Slave会切换成Master,切换过程中的用户请求失败,建议开发者增加重试逻辑代码。Master/Slave支持亚健康切换,读写错误率达到阈值时(默认80%)即进行主从切换,如下图:

[TcaplusDB知识库]TcaplusDB的高可用性和数据安全性介绍「终于解决」

灾难恢复示意图

接入层tcaproxy和存储层tcapsvr均有过载保护功能,超过预留读写的请求会触发错误码返回。

最后

我们已经了解了 TcaplusDB 的高可用性和数据安全性以及灾备机制,后续我们将揭开更多TcaplusDB设计的特殊奥秘。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6397.html

(0)
上一篇 2023-04-10 18:00
下一篇 2023-04-10

相关推荐

  • bin压缩文件_php新特性

    bin压缩文件_php新特性作者:王福祥 爱可生 DBA 团队成员,负责客户的数据库故障处理以及调优。擅长故障排查及性能优化。对数据库相关技术有浓厚的兴趣,喜欢分析各种逻辑。 本文来源:原创投稿 *爱可生开源社区出品,原创内容…

    2023-03-03
    149
  • 修改MSSQL的排序规则(最好先备份)「建议收藏」

    修改MSSQL的排序规则(最好先备份)「建议收藏」1. 查看当前安装数据库默认排序规则 select SERVERPROPERTY('Collation') 2. 找到默认安装目录 例如: C:Program FilesMicr…

    2023-02-21
    151
  • 使用Flask开发多线程应用

    使用Flask开发多线程应用Flask是一款轻量的Web框架,易于学习和使用。它既可以用来编写小型应用程序,也可以用于构建大型的Web应用。随着Web应用越来越复杂,多线程编程也成为一个需要考虑的问题。在本文中,我们将介绍如何使用Flask开发多线程应用,来提高程序的处理性能。

    2024-06-04
    46
  • Python中的break关键字及其应用

    Python中的break关键字及其应用在Python中,break是一个关键字,主要用于终止循环语句。当程序执行到此关键字时,立即终止当前循环,并跳出循环代码块继续向下执行程序。

    2024-03-23
    75
  • Pycharm一键注释快捷键

    Pycharm一键注释快捷键Pycharm是Python语言最受欢迎的集成开发环境之一。Pycharm的快捷键对于提高开发效率具有重要意义,在这些快捷键中,最常用的一个就是一键注释。Pycharm的一键注释快捷键,可以快速注释代码行或者取消注释,极大地提高了编程效率。在本篇文章中,我们将详细介绍如何使用Pycharm一键注释快捷键。

    2024-08-10
    29
  • Python的成长助力程序员飞跃

    Python的成长助力程序员飞跃伴随着互联网的发展,编程语言也在不断地演进和更新。作为一种高级编程语言,Python一直受到程序员的青睐。Python的诞生已经有三十年的历史,它的简洁、易学、易用、易读、健壮等特点,使得Python进入了数据分析、人工智能、机器学习、自然语言处理等领域,成为了现代程序员必须掌握的编程语言之一。

    2024-03-20
    72
  • 用 Python 实现双星号妙用

    用 Python 实现双星号妙用在Python中,双星号是一种有趣而又神奇的操作符,它可以在不确定参数个数的时候传递参数。除此之外,** 双星号还有很多其他用途,这篇文章将着重介绍一下双星号在Python中的魔力。

    2024-07-13
    49
  • flink1.12 hive_flink docker

    flink1.12 hive_flink dockerApache Flink社区宣布Flink 1.10.0正式发布! 本次Release版本修复1.2K个问题,对Flink作业的整体性能和稳定性做了重大改进,同时增加了对K8S,Python的支持。

    2023-01-28
    149

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注