TSDB和OLAP的引擎详细区别是什么

什么样的场景对应什么引擎合适?

请先 登录 后评论

最佳答案 2022-08-24 22:25

DolphinDB的OLAP引擎,是列式存储。文件组织上,以列为单位,一个分区里的每一列,是一个文件。对于宽表只读取某列做聚合分析时,列式存储的优势能体现出来。但是对于数据的点查,OLAP引擎依旧需要把整列文件读取出来,并在内存里做计算,这个会存在点查性能差的情况。同时,对于数据的写入,假设1个表50列,一次写入涉及10个分区,就是涉及500个列文件的写入。在HDD上,会存在写入慢(寻址时间过长)的情况(当然,实际上有RedoLog和CacheEngine存在,不会那么糟糕)。

历史上,LSMT的存储结构,就是为了适应磁盘硬件特性而开发的一种存储结构。通过新增数据的方式,来提高数据写入和更新的速度。DolphinDB的TSDB引擎就是基于LSMT结构来进行存储的。在文件结构上,采用了PAX的存储格式,内部也加了一些预聚合和索引。大部分查询场景会比OLAP快。

TSDB引擎主要针对以下场景:

  • 千万级设备高频写入

  • 数据去重

  • 少量设备毫秒级点查

  • 大量设备秒级统计分析


请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,960 浏览
  • Kaka 提出于 2022-08-24 15:50

相似问题