TDengine 集群容错与灾备

简介

为了防止数据丢失、误删操作,TDengine 提供全面的数据备份、恢复、容错、异地数据实时同步等功能,以保证数据存储的安全。本节简要说明 TDengine 中的容错与灾备。

容错

TDengine 支持 WAL 机制,实现数据的容错能力,保证数据的高可靠。TDengine 接收到应用程序的请求数据包时,会先将请求的原始数据包写入数据库日志文件,等数据成功写入数据库数据文件后,再删除相应的 WAL。这样保证了 TDengine 能够在断电等因素导致的服务重启时,从数据库日志文件中恢复数据,避免数据丢失。涉及的配置参数有如下两个:

  • wal_level:WAL 级别,1 表示写 WAL,但不执行 fsync;2 表示写 WAL,而且执行 fsync。默认值为 1。
  • wal_fsync_period:当 wal_level 设置为 2 时,执行 fsync 的周期;当 wal_fsync_period 设置为 0 时,表示每次写入,立即执行 fsync。

如果要 100% 保证数据不丢失,则需要将 wal_level 设置为 2,wal_fsync_period 设置为 0。这时写入速度将会下降。但如果应用程序侧启动的写数据的线程数达到一定的数量(超过 50),那么写入数据的性能也会很不错,只会比 wal_fsync_period 设置为 3000ms 下降 30% 左右。

灾备

主从热备集群

在异地的两个数据中心中部署两个 TDengine Enterprise 集群,利用其数据复制能力即可实现数据灾备。假定两个集群为集群 A 和集群 B,其中集群 A 为源集群,承担写入请求并提供查询服务。集群 B 可以实时消费集群 A 中新写入的数据,并同步到集群 B。如果发生了灾难,导致集群 A 所在数据中心不可用,可以启用集群 B 作为数据写入和查询的主节点。

以下步骤描述了如何轻松在两个 TDengine Enterprise 集群之间搭建数据灾备体系:

  • 第 1 步,在集群 A 中创建一个数据库 db1,并向该数据库持续写入数据。

  • 第 2 步,通过 Web 浏览器访问集群 A 的 taosExplorer 服务,访问地址通常 为 TDengine 集群所在 IP 地址的端口 6060,如 http://localhost:6060

  • 第 3 步,访问 TDengine 集群 B,创建一个与集群 A 中数据库 db1 参数配置相同的数据库 db2。

  • 第 4 步,通过 Web 浏览器访问集群 B 的 taosExplorer 服务,在"数据浏览器"页面找到 db2,在"查看数据库配置"选项中可以获取该数据库的 DSN,例如 taos+ws://root:taosdata@clusterB:6041/db2

  • 第 5 步,在 taosExplorer 服务的"系统管理 - 数据同步"页面新增一个数据同步任务,在任务配置信息中填写需要同步的数据库 db1 和目标数据库 db2 的 DSN,完成创建任务后即可启动数据同步。

  • 第 6 步,访问集群 B,可以看到集群 B 中的数据库 db2 源源不断写入来自集群 A 数据库 db1 的数据,直至两个集群的数据库数据量基本保持一致。至此,一个简单的基于 TDengine Enterprise 的数据灾备体系搭建完成。

多副本

TDengine 集群提供多副本功能,可以设置集群为双副本与三副本模式,副本之间也是实时同步,保证数据的安全性。

访问官网

更多内容欢迎访问 TDengine 官网

相关推荐
KKKlucifer7 分钟前
运营商全域安全运维支撑体系落地实践
运维·安全
赤壁小虾32 分钟前
【渲染流水线】[逐片元阶段]-[透明度测试]以UnityURP为例
java·前端·数据库
EAIReport33 分钟前
工业电气自动化数据治理破局:多Agent大模型赋能全景智能决策
大数据·运维·自动化
MC皮蛋侠客40 分钟前
SQLAlchemy 系列(七):高级建模与高效写入——批量 DML、方言与扩展
数据库·python
会编程的土豆1 小时前
Go 模板初识
linux·运维·服务器
腾讯蓝鲸智云1 小时前
标杆客户实践提炼:CFlow 版本价值流模板实战指南
运维·服务器·自动化·云计算·devops
一名普通的电源工程师2 小时前
E0512XT-1WR3 适配优选 钡特电源 DF1-05D12XT|1W 隔离5V转±12V模块电源选型参数技术解析
大数据·网络·人工智能
SelectDB2 小时前
Apache Doris 2026 Roadmap:AI 时代数据基础设施如何选型?Doris 给出了三层架构答案
大数据
abcy0712132 小时前
scala 多线程写入tdengine实例
时序数据库·tdengine
Think_Higher2 小时前
CID行业趋势周报|7.27—8.02:大盘表现、重点赛道与投测建议
大数据·人工智能