双副本与双活:TDengine 为企业打造的高效数据管理利器

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介: 在现代数据管理中,企业对于可靠性、可用性和成本的平衡有着多样化的需求。为此,TDengine 在 3.3.0.0 版本中推出了两种不同的企业级解决方案:双活方案和基于仲裁者的双副本方案,以满足不同应用场景下的特殊需求。本文将详细探讨这两种方案的适用场景、技术特点及其最佳实践,让大家深入了解这两大方案如何帮助企业在高效可靠的数据存储和管理中取得成功。

在现代数据管理中,企业对于可靠性、可用性和成本的平衡有着多样化的需求。为此,TDengine 在 3.3.0.0 版本中推出了两种不同的企业级解决方案:双活方案和基于仲裁者的双副本方案,以满足不同应用场景下的特殊需求。本文将详细探讨这两种方案的适用场景、技术特点及其最佳实践,让大家深入了解这两大方案如何帮助企业在高效可靠的数据存储和管理中取得成功。

TDengine 双副本(+仲裁者)

为了满足部分客户在保证可靠性和可用性条件下尽可能压缩部署成本的需求,TDengine 提出了基于仲裁者的双副本方案。该方案通过提供“只有单个服务故障且不出现连续故障”的容错能力,成为客户降低成本和提高效率的有效选择。

相较于传统的三副本数据库,双副本数据库具有显著的优势。它在减少硬件成本的同时,依然能够保证一定的高可用性。具体来说,双副本数据库中每个 Vgroup 仅有两个 Vnode。当其中一个 Vnode 发生故障时,Mnode 可根据数据同步状态,裁定另一 Vnode 是否可以独自对外提供服务。这种机制确保了在某个副本节点故障时,数据不会丢失,并且系统能够持续进行写入和查询操作。

这一方案的适用场景广泛,面向有降低存储成本需求的、希望减少物理节点需求的客户,以及对高可用性要求稍低的客户。

从技术角度看,双副本方案具有以下几个显著特点:

  • 副本数目:时序数据的副本数目为 2,但集群内节点数目必须大于等于 3。
  • 自动切主:当时序数据的某个副本所在的物理节点宕机时,可以自动切换主节点,确保数据不丢失,并且能够持续写入和查询。
  • 选主机制:双副本选主由高可用的 Mnode 提供仲裁服务,而不是由 Raft 组内决定。

仲裁者 (Arbitrator) 在双副本方案中发挥关键作用。它提供仲裁服务但不存储数据。当 Vgroup 因某一 Vnode 故障而无法提供服务时,Arbitrator 可以根据同步情况指定同组另一 Vnode 成为 Assigned Leader,无论其他副本 Vnode 是否存活,均可一直响应用户请求。这一机制确保了即使在某个副本节点故障的情况下,Assigned Leader 仍然能够一直响应用户请求,从而提高系统的可靠性和可用性。
image.png

TDengine 双活

部分用户由于部署环境的特殊性,只能部署两台服务器,同时希望实现一定的服务高可用和数据高可靠。针对这些需求,TDengine 提出了双活方案。双活方案不仅适用于一些资源受限的环境,也能在两套TDengine 集群之间的灾备场景中发挥重要作用。

在业务系统中,双活架构通常包括两台服务器,各自部署一套服务。在业务层看来,这两台机器和两套服务组成了一个完整的系统。双活中的两个节点通常被称为 Master-Slave,即“主从”或“主备”。

双活方案在多个场景中都有广泛应用。首先,对于因部署环境特殊性只能部署两台服务器的客户,双活方案是理想选择。这些客户希望在有限的硬件资源下,仍然能够实现服务高可用和数据高可靠。其次,双活方案在工业控制领域中尤为适用。由于这些领域对系统可靠性和数据准确性有着极高的要求,双活架构能够很好地满足这些需求。此外,双活方案还适用于灾备场景,无论是资源受限的环境还是不限节点数目的两套 TDengine 集群之间的灾备场景,都能提供有效的解决方案。

双活方案通过一系列技术机制实现高可用性和数据可靠性:

  • 首先,系统通过 Client Driver 实现双系统的 Failover,即在主节点发生故障时,能够自动切换到从节点,确保服务不中断。
  • 其次,taosX 实现了主节点到从节点的数据复制,通过数据订阅的写接口在写入复制过来的数据时,在 WAL 中加入特殊标记。
  • 第三,数据订阅的读接口在读取数据时,会自动过滤掉带有特殊标记的数据,从而避免数据重复复制和无限循环。
    QQ截图20241024112113.jpg
    当前,双活方案仅支持 JDBC 连接器和 WebSocket 连接方式,不支持 Native 连接。双活两端集群必须同构,即数据库的命名和所有配置参数必须完全相同,以确保系统的正确运行。

双副本 VS 双活,区别与实践

在 TDengine 的双副本和双活方案中,虽然它们都旨在提升数据可靠性和服务可用性,但两者在架构设计和实际应用中有着显著的区别。了解这些差异,对于选择合适的方案并实现最佳实践至关重要。

双活方案和双副本方案在集群架构上有明显的差异。双活方案需要部署两个独立的集群,每个集群内部的节点数可以任意多,而双副本方案只需部署一个集群,但集群内的节点数目必须大于等于三。这样一来,双活方案在集群内部节点数目上的灵活性更大,但同时也增加了部署和管理的复杂性。双活系统内的最小节点数为两个,也就是说每个集群至少有一个节点;相比之下,双副本系统的最小节点数为三个,以确保数据的可靠性和高可用性。

在同步原理上,双活方案通过 taosX 实现数据同步,依赖于 taosX 的同步速度,通常在秒级别。双副本方案则通过 Arbitrator 仲裁选主,由 Raft 协议保证数据的一致性,因此在同步延迟上表现更好,没有延迟。数据安全性方面,双活方案依赖于 WAL 的保存时长,而双副本方案则能确保无数据丢失。高可用性上,双活方案只要有一个节点存活即可提供服务,而双副本方案在连续宕机后,只有一个节点存活时,可能无法提供服务。

双副本最佳实践

  1. 全新部署
    双副本的主要价值在于节省存储成本的同时能够有一定的高可用和高可靠能力。在实践中,推荐配置为:
  • N 节点集群 (其中 N>=3)
  • 其中 N-1 个 dnode 负责存储时序数据
  • 第 N 个 dnode 不参与时序数据的存储和读取,即其上不保存副本;可以通过 supportVnodes 这个参数为 0 来实现这个目标
  • 不存储数据副本的 dnode 对 CPU/Memory 资源的占用也较低,可以使用较低配置服务器
  1. 从单副本升级
    假定已经有一个单副本集群,其节点数为 N (N>=1)。将集群的节点数目扩展至 3 个以上,修改 Mnode 的副本数目为 3,在使用 alter database replica 2 的命令修改某个特定数据库的副本数。

双活最佳实践

双活系统通过数据复制实现双系统之间的数据同步,但这种同步只能保证最终一致性,无法确保实时一致性。主节点可能在任意时刻宕机,宕机时可能会有数据差集,尤其是元数据差集。在完成主备切换后,业务层可能会发起重复的建表请求,但 schema 可能不相同,导致元数据不一致。因此,建议在系统启动后集中完成所有建库建表操作,后续只写入时序数据,尽量避免再进行元数据操作。

结语

无论是双副本还是双活方案,TDengine 都为用户提供了强大的数据存储和管理解决方案。双副本方案在节省存储成本的同时,保证了一定的高可用性和数据可靠性,非常适合资源有限且需要高效数据管理的企业。双活方案则通过其灵活的架构和强大的灾备能力,为特殊部署环境和高可靠性需求的应用场景提供了理想的解决途径。通过理解这两种方案的区别和最佳实践,用户可以根据自身需求选择最适合的方案,充分利用 TDengine 的技术优势,打造稳定、高效的数据库系统。这不仅提升了业务连续性和数据安全性,更为企业的数字化转型提供了坚实的基础。

相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
目录
相关文章
|
存储 数据管理 数据处理
阿里云对象存储OSS价格_云存储服务_企业数据管理_存储
阿里云对象存储OSS价格_云存储服务_企业数据管理_存储,阿里云对象存储OSS收费有两种计费模式,即包年包月和按量付费,包年包月是指购买存储包、流量包来抵扣OSS产生的存储费核流量费,OSS标准(LRS)存储包100GB优惠价33元、500GB存储包半年162元、OSS存储包40GB一年9元,OSS流量包100G 49元/月
616 0
|
7月前
|
存储 人工智能 安全
阿里云网盘与相册服务(简称PDS)是阿里云为客户提供的面向企业、团队与个人的数据管理开放平台
阿里云网盘与相册服务(简称PDS)是阿里云为客户提供的面向企业、团队与个人的数据管理开放平台
288 1
|
3月前
|
数据采集 人工智能 数据管理
数据管理进化论:DMS助力企业实现智能Data Mesh
Gartner分析师认为Data Mesh对企业提升数据价值交付效率具有重要意义,阿里云数据管理服务DMS给出了对于Data Mesh的核心思考,包括企业什么时候应该考虑实施Data Mesh,如何解决业务团队素养和意愿问题。结合这些思考,DMS提出了企业可行的落地策略,即企业应以数据价值不断提升为导向,基于元数据驱动的Fabric、AI等能力实现智能Data Mesh,最终形成分布式和集中化的动态平衡,以达到企业数据驱动的最佳状态。
520 6
数据管理进化论:DMS助力企业实现智能Data Mesh
|
3月前
|
缓存 负载均衡 数据管理
深入探索微服务架构的核心要素与实践策略在当今软件开发领域,微服务架构以其独特的优势和灵活性,已成为众多企业和开发者的首选。本文将深入探讨微服务架构的核心要素,包括服务拆分、通信机制、数据管理等,并结合实际案例分析其在不同场景下的应用策略,旨在为读者提供一套全面、深入的微服务架构实践指南。**
**微服务架构作为软件开发领域的热门话题,正引领着一场技术革新。本文从微服务架构的核心要素出发,详细阐述了服务拆分的原则与方法、通信机制的选择与优化、数据管理的策略与挑战等内容。同时,结合具体案例,分析了微服务架构在不同场景下的应用策略,为读者提供了实用的指导和建议。
|
4月前
|
JSON 数据管理 关系型数据库
【Dataphin V3.9】颠覆你的数据管理体验!API数据源接入与集成优化,如何让企业轻松驾驭海量异构数据,实现数据价值最大化?全面解析、实战案例、专业指导,带你解锁数据整合新技能!
【8月更文挑战第15天】随着大数据技术的发展,企业对数据处理的需求不断增长。Dataphin V3.9 版本提供更灵活的数据源接入和高效 API 集成能力,支持 MySQL、Oracle、Hive 等多种数据源,增强 RESTful 和 SOAP API 支持,简化外部数据服务集成。例如,可轻松从 RESTful API 获取销售数据并存储分析。此外,Dataphin V3.9 还提供数据同步工具和丰富的数据治理功能,确保数据质量和一致性,助力企业最大化数据价值。
215 1
|
数据采集 XML 运维
什么是主数据管理?企业主数据管理方法论
主数据又被称为黄金数据,其价值高也非常重要。对企业来说,主数据的重要性如何强调都不为过,主数据治理是企业数据治理中最为重要的一环。主数据管理的内容包括 主数据管理标准、主数据应用标准 和 主数据集成服务标准 三大类。
|
7月前
|
存储 机器学习/深度学习 运维
数据仓库与数据湖:解析企业数据管理的两大利器
在信息时代,企业数据的管理和分析变得至关重要。数据仓库和数据湖作为两种不同的数据管理模式,各自具有独特的特点和应用场景。本文将深入探讨数据仓库与数据湖的概念、优势和应用,帮助读者更好地理解和运用这两个工具。
184 0
|
SQL 人工智能 Cloud Native
玖章算术获评“浙江省创新型中小企业”,开启数据管理新时代
近日,浙江省工业和信息化厅开展了 2023 第二季度创新型中小企业评价工作,经企业自评、地市审核、抽查、市经信局审核评价等程序,玖章算术以优秀的自主创新能力通过认定,成为浙江省 2023 年度创新型中小企业。
128 0
|
弹性计算 运维 安全
企业运维训练营之数据库原理与实践— 数据管理DMS—数据管理 DMS 概述
企业运维训练营之数据库原理与实践— 数据管理DMS—数据管理 DMS 概述
313 1
|
SQL 运维 数据管理
企业运维训练营之数据库原理与实践— 数据管理DMS—企业级数据库管理痛点
企业运维训练营之数据库原理与实践— 数据管理DMS—企业级数据库管理痛点
157 0

热门文章

最新文章

下一篇
DataWorks