强大而又简单易用的数据分析能力

强大而又简单易用的数据分析能力

对于数据分析师来说,花费大量时间处理数据并不罕见。因为关系型数据库可以提供复杂的分析能力,一种方法便是将时间序列数据存入关系型数据库进行分析。直接将实时数据写入关系数据库存在重大的写入性能瓶颈,因此往往先将时序数据写入时序数据库(Time Series Database, TSDB),然后从时序数据库批量导出数据,格式化并转换数据后,将其加载到关系数据库或数据仓库中进行分析。这种解决方案完全可以工作,但复杂且成本高昂。

另外一种方法就是使用支持 SQL 查询语言的时序数据库。SQL 是一种用于选择、过滤和将数据连接在一起进行数据分析的强大工具。TDengine 是支持 SQL 的时序数据库,对于数据分析师而言,使用 TDengine 就像在使用一个关系型数据库。而且通过超级表、存储和计算分离、数据按时间分区、预计算等多种手段,TDengine 提供了强大而又简单易用的分析能力。具体而言,TDengine 的分析能力具有以下显著特点:

  1. 多个数据采集点之间的高效聚合:TDengine 针对时序数据的特点,提出创新的超级表概念,将时序数据与标签数据分离存储。无需 JOIN,只需要指定超级表的标签过滤条件,就可将同类型的数据采集点进行高效的聚合操作,这使得组织和查找数据更加简单。此外,TDengine 允许向每个数据采集点添加多达 128 个标签,也支持在以后删除和更新这些标签。TDengine 提供了一种将数据切割成多维立方体以进行多维分析的强大方法。
  2. 计算存储分离:从 3.0 起,TDengine 支持存算分离,系统可以根据需要,启动一个或多个计算节点,增加计算资源,加快复杂查询的速度,减小 Latency。对于云平台,计算节点可以是一个容器,可以快速地启动或停止,计算存储分离将充分利用云平台的弹性计算资源。
  3. 历史与实时数据的分析完全统一:TDengine 按时间段对数据自动进行分区,即使是 10 年的数据,也无需分库分表,不存在档案数据一说。为降低存储成本,按照数据的新老程度,实行多级存储,但对用户而言是完全透明的。无论是查询最新数据还是 10 年前的数据,只是查询的起止时间不同。
  4. 时序数据分析的特有功能:TDengine 在标准 SQL 的基础上,针对时序数据的处理进行扩展,提供累计求和、时间加权平均、移动平均、变化率、时间窗口,session 窗口、state 窗口、插值等众多时序数据分析功能。通过时间窗口和插值,可以将不同数据采集点的数据按固定时间间隔将数据的时间戳对齐,便于后续的进一步分析。可以参考 SQL手册了解更多信息。
  5. 实时数据分析:TDengine 既提供了时间驱动的流式计算(连续查询),也提供了事件驱动的流式计算。不仅可以对单个数据采集点生成的数据流进行流式计算,也可以对多个采集点的数据流聚合后进行流式计算。对自定义函数的支持更是让流计算能方便地提供对数据的前置处理、转换或任何其他复杂计算。关于流式计算,请看用户文档流式计算
  6. 支持Python:不仅提供 Python 连接器,还支持 Pandas 及 data frame,让喜爱 Python 的数据分析师可以很方便地利用各种 Python 库做时序数据分析。
  7. 其他便捷的数据访问、分析手段:利用 TDengine 提供的命令行程序,可以在终端执行各种即席查询、或者导入导出数据。提供 R 与 Matlab 以及多种编程语言的连接器,支持与 Grafana、Google Data Studio 的无缝集成。

在一般的场景下,TDengine 可以作为时序数据仓库(Time-Series Data Warehouse) 使用,不再需要将时序数据导入到专门的数据仓库或数据湖进行处理分析,数据平台的成本将大幅降低。

更多亮点 >>