时序数据库系列(四)Timelyre应对时序数据游刃有余

系列文章链接
时序数据库系列(一)初识时序数据
时序数据库系列(二)时序数据库详解

时序数据库系列(三)时序数据库相关技术点、LSM-Tree数据架构、Delta压缩算法
时序数据库系列(四)Timelyre应对时序数据游刃有余
时序数据库系列(五)
时序数据案例集


通过前三个章节对时序数据、时序数据库以及时序数据相关技术的分析。时序数据库可以为众多生产型企业、汽车驾驶相关行业、电力行业、地震监测机构、金融领域、智能穿戴领域等等多种行业创造数据存储、分析价值。同时选择一款高性能、分布式、存算分离、高压缩率的时序数据非常重要,星环科技
Timelyre时序数据库作为一款专为时序数据存储治理的数据库产品映入眼帘。

 

Transwarp TimeLyre是星环科技自主研发的企业级分布式时序数据库,采用原生分布式架构实现分布式水平扩展,同时具有5-20倍无损数据压缩率,可以支持海量时序数据的存储,提供每秒千万级数据高吞吐实时写入、时序精确查询、多维检索等功能,可以有效支撑物联网、能源制造、金融量化交易领域等多种时序数据业务场景。

 

 

Timelyre的核心组件包括:


  • Transwarp Quark星环分布式SQL引擎:分布式SQL产讯引擎模块,兼容多种方言的SQL编译器,包括HiveQL,Oracle,DB2,Teradata等方言,也包括了算子和类型系统。
  • Timelyre Engine分布式时序存储引擎:面向时序场景的存储引擎,具备高吞吐插入、低延迟检索的特点。主要采用列式存储方式,针对不同类型具有多种优化的编码压缩方式,面向时序数据提供极高的压缩率。支持高性能的数据读取,可支撑高性能时序分析能力。
  • Transwarp Crux分布式向量化计算引擎:向量化计算引擎,既可以快速读取批量存储文件,也可以高速地响应少量数据的简单查询和复杂查询。
  • TDDMS分布式数据管理系统:分布式数据管理系统,管理数据多副本间的强一致或最终一致;管理数据在存储介质上的合理分片分布,扩缩存储容量时,自动管理数据重分布,充分利用存储资源;保障数据高可用,在存储硬件故障时,保持数据存储服务不中断。


 

Timelyre技术优势 

 

分布式时序高压缩存储

时序数据压缩是提高数据库查询性能减少存储空间的一种技术,也是时序数据库的核心技术之一。TimeLyre采用行业领先的高水平数据压缩优化技术,在常见的时序数据上可实现5-20倍的压缩率,提高了资源的利用率,大幅降低用户硬件成本。TimeLyre提供多场景数据灵活、高效的压缩解决方案,不仅支持snapyy、gzip、lzo、zstd等常用压缩算法,还支持通过Delta编码将数据作为连续样本之间的差异来存储,同时也支持行业特征编码,根据检测值数据类型、分布范围,数据集中度进行特定的编码,通过内置多种数据压缩方式进一步提升时序数据压缩效果。

 

为什么使用无损压缩?

无损压缩是一种可逆性的压缩方式,它可以在不丢失任何数据的情况下减小文件大小,因此非常适合时序数据中的实时查询和历史分析等任务。在时序数据库和时间序列分析应用中,无损压缩被广泛采用,Delta编码方式是一种常见的无损压缩方式,同时也涵盖了诸如 RLE,哈夫曼编码,LZ等其他无损压缩方式。根据数据特点选取适当的压缩方式,可以大幅减小存储空间,提高数据处理性能,为应用带来了显著的好处。

 

Delta压缩方式

Delta 压缩是一种采用差异式存储的数据压缩方式,它通过存储相邻数据点之间的差异值来减小数据存储量。在一个数据点的时间序列中,如果相邻两个点非常相似,那么它们之间的差异就可能很小,这使得数据点之间的变化率常常是低的。利用 Delta 压缩方式,时序数据库可以将数据压缩到比较小的空间,并可以在压缩数据上进行高效的查询操作。对于第一个数据点,其数值本身就是一个完整的记录,因而不做差分编码。对于后续的数据点,取该数据点的数值与前一个数据点的数值的差值,然后仅仅存储差值即可。这样,就完成了该数据的 Delta 压缩。当需要查询某个时间范围内的原始数据时,可以根据 Delta 压缩的数据反推出存储在原始数据流中的数据点。

 

TimeLyre拥有超高的数据压缩率。无损数据压缩支持多种数据类型、多种编码方式、多种压缩算法,数据压缩率可以达到5-20倍,进一步提升了压缩率。超高的数据压缩率将为企业有效的节约硬件成本。

 

标准SQL支持,丰富的API支持

InfluxDB支持类SQL查询语言InfluxQL(竞品分析提及),仅支持简单查询。通过自身连续查询(CQ SQL)实现入库数据分析,不支持Python API,使用场景比较受限,尤其是在金融量化领域,无法支持一维或多维数据结构,无法灵活的对各类交易数据进行运算操作,不符合金融数据从业人员的数据处理习惯。

 

TimeLyre支持完备的SQL语法,支持C++与Java语言开发接口,同时支持RESTful API。 用户可以使用标准 SQL 进行数据分析,支持关联查询、聚合查询、嵌套查询等多种复杂 SQL 分析功能。在工业物联网领域,TimeLyre支持包括OPC-UA/DA,MQTT等多种标准化通信协议,可以支持多样化端传感器的数据采集工作,提供了从采集端到分布式时序数据库的一整套数据流转解决方案;在金融量化领域,TimeLyre支持Python API,并提供了对分布式文件系统格式数据的读取与入库支持,极大降低了从数据层到应用层的数据流转技术门槛,使更多的金融领域数据工作者可以快速上手TimeLyre。

 

分布式存算分离

 

星环科技Timelyre通过Kubernetes和Docker技术实现存算分离,在设计上,数据平台与服务总体抽象为四层:云操作系统层、数据存储层、计算层和数据应用服务层。

 

在数据存储层,为了支持高性能的数据存储,采用了本地存储卷的方式来支持数据存储,而没有使用分布式云存储。这样做的好处可以让存储服务的部署、运维都变得比较简单,扩缩容与跨节点迁移虽然不能像微服务那样平滑,但是操作因为容器化而相对比较标准化。

 

在分布式计算层,TDC将数据库计算节点和人工智能框架Spark、TensorFlow等相关计算服务容器化,实现在线的动态调度、弹性扩缩容等。为了保证数据分析性能,Timelyre延续存算一体的思想,尽量让计算贴近存储,这个优化的思路是分布式存储层直接提供元数据接口让计算引擎了解数据文件的分布情况,并将相关信息暴露给云操作系统调度器,调度器会通过为服务打tag等方式,将计算服务尽量贴近数据节点来运行,从而实现最优化的分析效率。

 

计算服务的动态弹性是存算分离架构的一个核心目标,由于TDC已经将内部计算引擎微服务化后以容器方式编排,基于K8S的调度编排能力就可以根据业务需求灵活的增删实例数量,保证秒级的扩缩容效率。我们设计了基于时间周期的计算单元弹性伸缩和基于工作负载的弹性伸缩两种调度策略。

 
下一篇:时序数据库系列(五)时序数据案例集

评论
登录后可评论
发布者
星小环分享号
官方
文章
193
问答
253
关注者
27
banner
关注星环科技
获取最新活动资讯

加入TDH社区版技术交流群

获取更多技术支持 ->

扫描二维码,立即加入