TDSQL·专家篇·租户侧安全功能

weixin_44020914 2022-03-17 11:13:29

本文为您介绍租户侧强同步复制、自动故障转移、数据安全加密等安全功能。

强同步复制(MAR)

背景

数据库中记录了数据,若要在多台数据库中切换,数据必须是同步的,所以数据同步技术是数据库高可用方案的基础。
目前,开源 MySQL 数据库数据复制包括异步复制、半同步复制两种类型。这两种复制技术的主要问题是,当出现节点故障时,将可能导致数据丢失或错乱,且这类复制技术以串行复制为主,性能相对比较低。

解决方案

腾讯云基于 MySQL 协议自主研发的并行多线程强同步复制方案(Multi-thread Asynchronous Replication,MAR),在应用层发起请求时,只有当从节点(Slave)返回信息成功后,主节点(Master)才向应用层应答请求成功,以确保主从节点数据完全一致。

使用强同步复制时,如果主库与备库自建的网络中断或备库出现问题,主库也会被锁住(Hang),此时如果只有一个主库或一个备库,将无法做高可用方案,因为单一服务器服务时,如果出现故障,将直接导致部分数据完全丢失,不符合金融级数据安全要求。
因此,MariaDB 在强同步技术的基础上,提供强同步可退化的方案,方案原理类似于半同步,但实现方案与 Google 的半同步技术不同。
另外,MariaDB 强同步将串行同步线程并行化,引入工作线程能力,大幅度提高性能;对比在跨可用区(IDC 机房,延迟约 10ms - 20ms)同样的测试方案下,MAR 技术性能优于 MySQL 5.6 的半同步约5倍,优于 MariaDB Galera Cluster 性能1.5倍;在 OLTP RW(读写混合,主从架构)下,MAR 技术性能是 MySQL 5.7 异步的1.2倍,具体由英特尔®技术团队测试的性能对比如下图所示:

自动故障转移与恢复

在生产系统中,通常都需要用高可用方案来保证系统不间断运行,数据库作为系统数据存储和服务的核心,其可用要求高于计算服务资源。

MariaDB 高可用方案原理是让多个数据库服务协同工作,当一台数据库故障,其余机器立即顶替工作,以使服务不中断或只中断很短时间,该方案简称主从高可用,也可称主备高可用。

在普通的主从高可用基础上,MariaDB 还支持如下功能:

  • 支持故障自动转移,集群成员自动控制,故障节点自动从集群中移除;如果是实例级的主从切换,换后 VIP(虚拟 IP)不变;基于强同步复制策略下,主从切换将保证主从数据完全一致,可满足金融级数据一致性要求。
  • 支持故障自动恢复,承载分片的物理节点故障,调度系统自动尝试恢复节点,如果原节点无法恢复,将在30分钟内自动申请新资源,并通过备份重建(Rebuild)节点,并将节点自动加入集群,以确保实例长期来保持完整的高可用架构。
  • 每个节点都包含完整的数据副本,可以根据数据库管理页需求切换。
  • 支持免切设置,即可以设置在某一特殊时期,不处理故障转移。
  • 可支持配置为 x86 的计算机设备,且无需共享存储设备。
  • 支持跨可用区部署,实例的主机和从机可分处于不同机房(无论是否同城),数据之间通过专线网络进行实时数据复制。若本地为主机,远程为从机,首先将访问本地节点,若本地实例发生故障或访问不可达,则访问远程从机。若配合腾讯 VPC 网络环境,可支持同城双活架构,即业务系统可以直接在两个中心读写数据库。
    跨可用区部署特性为 MariaDB 提供了多可用区容灾的能力,以避免单 IDC(Internet Data Center)部署的运营风险。

MariaDB 的每一个分片都支持基于强同步的高可用方案,如果主数据库故障时,系统将立即自动选举出最优备机顶替工作,切换过程对用户透明,不改变访问 IP,并且对数据库和底层物理设备提供7 x 24小时持续监控。
如果发生故障,系统将自动重启数据库及相关进程;如果节点崩溃无法恢复,将通过备份文件自动重建节点,具体流程如下所示:

·····

更多请见:https://cloud.tencent.com/document/product/237/46504

...全文
314 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

87

社区成员

发帖
与我相关
我的任务
社区描述
TDSQL开发者
其他 企业社区
社区管理员
  • csdnsqst0015
  • kikokingzz
  • karina17
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

社区初立,为了鼓励小友们在社区中积极互动,现在有一个活动如下:

试试用AI创作助手写篇文章吧