时序数据库支持水平扩展的重要性

从 2016 年底到现在,大部分 Time Series Database 都不是分布式的,换句话说,它们不支持水平扩展。InfluxDB集群也只有企业版支持,开源版并不支持。而传统 Time Series Database 更是没有一个支持水平扩展,最多是双机热备。但是随着物联网、车联网的高速发展,IT 基础设施规模的增大,数据的采集量越来越大,单机是没有办法解决问题的,底层数据库必须具有水平扩展能力。

此外,在开源大势所趋的背景下,基础软件如果不将代码、特别是核心代码开源,想要赢得市场是完全不可能的事情。因此,我们才将 TDengine 完全开源,包括集群功能,而事实证明,开源使涛思数据获得了高速增长,这是一个完全正确的决定。

但从产品角度来看,开源是 TDengine 的一大优势吗?看起来是,但细想一下,其实不是,它只是取得成功的一个必要条件。因为全球市场上开源的的时序数据库产品很多,中国本土开源的 Time Series Database 也不止 TDengine 一家,大家不会由于 TDengine 是开源的就选择它,而是有其他特点才会选用它,诸如性能优势、支持 SQL 等。

如果市场上还没有开源的 Time Series Database,那么开源就是 TDengine 最大的亮点。我们决定将集群开源,根本的原因是由于 InfluxDB集群没有开源,这给了我们高速增长的机会。只有别人做不到或比不上你的功能或性能,那才是你需要宣传的特点。功能或性能指标的跟随者永远不值得做任何推广。

在进行客户调研时我们发现,很多企业在不了解一款产品时,不会轻易下定购买的决心,就说 InfluxDB,作为一款较早流行的 Time Series Database,基本都会被有时序数据处理需求的企业列为调研对象,但由于 InfluxDB集群功能需要高价购买才能使用,用户在不了解的情况下难以下定决心。其实,真正好的产品,是不怕因为核心功能都开源就会失去竞争力的,反而有全部开源来让用户全面检测的决心。

事实上,在早期 InfluxDB集群也是处于开源状态的,后面因为未知原因决定将集群进行闭源,而这一决定也确实在一定程度上降低了 InfluxDB集群的应用规模,流失了一部分集群客户。而对于国内的企业来说,除了对 InfluxDB集群不开源,无法支持水平扩展抱有担忧外,InfluxDB 糟糕的本地化服务也是让他们望而却步的原因之一。

相反,TDengine 之所以能够成为这些客户坚定的选择,除了集群开源外,还有其支持 SQL 等特性,而且 TDengine 各项功能的设计,是真正从 Time Series Database 的特点出发而设定的,对于时序大数据具有更强的处理性能。

时序数据及时序数据的应用有其典型特点(详细请看官网博客 ),如果充分利用时序数据的特点,我们可以将数据写入和查询性能大幅提高,数据压缩率也能大幅提高。 TDengine 之所以在 2016 年被研发出来,其中一个核心原因就是团队认为 InflxuDB 并没有充分利用时序数据特点。如果都是 Time Series Database,用户当然也会选择性能或效率更高的产品。因此从研发的第一天起,涛思数据整个团队就一直在追求极致的性能,幸运的是,TDengine 日益增进的功能效果,也让一众支持者不负众望。