数据一致性在时序数据库场景下的实践

Paxos、Raft,这些算法你应该都听过吧?但是它们的核心原理和具体逻辑,你是否清楚呢?

我们已经生活在大数据时代,纵向扩展已经无法满足日益增长的业务需求,任何系统都必须具有水平扩展的能力,分布式集群成为大数据以及数据库系统不可或缺的功能。为了提供高可用能力、避免数据丢失,在分布式数据库或存储系统中需要设立数据副本机制,而副本的引入,可以说是分布式存储中的“万恶之源”,一旦处理不好就很容易产生数据一致性问题。因此,数据一致性是每个分布式系统都需要考虑和衡量的问题。

作为一款时序数据库(Time Series Database,TSDB),TDengine 的设计就基于单个硬件、软件系统是不可靠的,基于任何单台计算机都无法提供足以支撑处理海量数据的计算能力和存储能力这一假设。因此 TDengine 从研发的第一天起,就按照分布式高可靠架构进行设计,支持水平扩展,这样任何单台或多台服务器发生硬件故障或软件错误都不影响系统的可用性和可靠性。

业内有多种用来保证分布式一致性的算法,如 Paxos、Raft、Zab 等。那么对于时序数据的场景,要保证数据一致性,应该选择哪种算法?是否可以拿来即用?

本视频为 TDengine 研发工程师李明昊分享《数据一致性在时序数据场景下的实践》。

TDengine Database
扫描二维码加小T,
进物联网大数据交流群