青海时间序列化数据库案例询问报价「美信科技」
作者:美信时代2021/11/19 13:36:53
企业视频展播,请点击播放
视频作者:北京美信时代科技有限公司









高性能物联网时序数据库

近几年,借助高速移动网络的发展与普及,物联网行业的发展可谓走上了“快车道”,物联网项目遍地开花。

工业物联网云平台产品正是诞生在这样一个物联网蓬勃发展的时代,“物联网工业云”主要为工业现场数据采集、传输以及在云端的数据存储、处理及分析等各个环节提供基础技术支持和解决方案,使用云计算模式为工业企业提供软件服务,使工业企业的社会资源实现共享化。



BlueSky高性能时序数据库的数字模型

上面介绍了时序数据的基本概念,也说明了分析时序数据的意义。那么时序数据该怎样存储呢?数据的存储要考虑其数学模型和特点,时序数据当然也不例外。所以这里先介绍时序数据的数学模型和特点。

下图为一段时序数据,记录了一段时间内的某个集群里各机器上各端口的出入流量,每半小时记录一个观测值。这里以图中的数据为例,介绍下时序数据的数学模型(不同的时序数据库中,基本概念的称谓有可能不同,这里以腾讯CTSDB为准):

measurement: 度量的数据集,类似于关系型数据库中的 table;point: 一个数据点,类似于关系型数据库中的 row;timestamp: 时间戳,表征采集到数据的时间点;tag: 维度列,代表数据的归属、属性,表明是哪个设备/模块产生的,一般不随着时间变化,供查询使用;field: 指标列,代表数据的测量值,随时间平滑波动,不需要查询。




时序数据场景下传统数据库存在的问题

很多人可能认为在传统关系型数据库上加上时间戳一列就能作为时序数据库。数据量少的时候确实也没问题。但时序数据往往是由百万甚至千万终端设备产生的,写入并发量比较高,属于海量数据场景。

MySQL在海量的时序数据场景下存在如下问题:

存储成本大:对于时序数据压缩不佳,需占用大量机器资源;

维护成本高:单机系统,需要在上层人工的分库分表,维护成本高;

写入吞吐低:单机写入吞吐低,很难满足时序数据的写入压力;

查询性能差:适用于交易处理,海量数据的聚合分析性能差。

Hadoop生态(Hadoop、Spark等)存储时序数据会有以下问题:

数据延迟高:离线批处理系统,数据从产生到可分析,耗时数小时、甚至天级;

查询性能差:不能很好的利用索引,依赖MapReduce任务,查询耗时一般在分钟级。

可以看到时序数据库需要解决以下几个问题:

时序数据的写入:如何支持每秒钟上千万上亿数据点的写入。

时序数据的读取:如何支持在秒级对上亿数据的分组聚合运算。

成本敏感:由海量数据存储带来的是成本问题。如何更低成本的存储这些数据,将成为时序数据库需要解决的重中之重。

基于上面的这些问题,时序数据库的诞生就是为了解决传统关系型数据库在时序数据存储和分析上的不足和缺陷的。




时间序列数据库垂直(纵向)切分垂直切分

常见有垂直分库和垂直分表两种。

垂直分库就是根据业务耦合性,将关联度低的不同表存储在不同的数据库。做法与大系统拆分为多个小系统类似,按业务分类进行***划分。与"微服务治理"的做法相似,每个微服务使用单独的一个数据库。垂直分表是基于数据库中的"列"进行,某个表字段较多,可以新建一张扩展表,将不经常用或字段长度较大的字段拆分出去到扩展表中。在字段很多的情况下(例如一个大表有100多个字段),通过"大表拆小表",更便于开发与维护,也能避免跨页问题,MySQL底层是通过数据页存储的,一条记录占用空间过大会导致跨页,造成额外的性能开销。另外数据库以行为单位将数据加载到内存中,这样表中字段长度较短且访问频率较高,内存能加载更多的数据,命中率更高,减少了磁盘IO,从而提升了数据库性能。



商户名称:北京美信时代科技有限公司

版权所有©2025 产品网