Uqbar 2.0.0
关于Uqbar
Uqbar是一款基于openGauss开源数据库构建的超融合时序数据库产品,专为物联网场景而设计。作为专业的时序数据库解决方案,Uqbar集成了高性能、低成本、稳定可靠和开放易用等多项优点,旨在满足物联网环境下对于大规模时序数据管理和高效查询的需求。
Uqbar在继承了openGauss强大OLTP能力的基础上,进一步加强了对时序数据的处理能力,并针对时序数据的特点进行了深入优化。时序数据是物联网领域中核心数据,通常需要持续不间断的高并发写入,以及海量数据高性能查询分析能力。Uqbar通过深度优化底层存储和查询引擎,提供卓越的性能和稳定性,确保能够处理海量的时序数据流。
Uqbar的优势不仅在于其强大的时序数据管理能力,同时还能够灵活应对传统的OLTP场景。它继承了openGauss的关系型数据库特性,使得用户可以在同一个平台上同时管理时序数据和关系数据。这种一体化的设计使得Uqbar成为一站式的物联网场景数据解决方案,为用户提供全方位的数据管理和查询支持。
版本说明
Uqbar 2.0.0 是 Uqbar时序数据库的首个长期支持(LTS)版本,此版本在保留openGauss的联机事务处理(OLTP)能力的基础上,针对时序数据处理场景进行了功能扩展和针对性优化。
基础功能
时序生命周期策略
时序生命周期策略用于时序数据的生命周期管理,通过定义时序生命周期策略可指定数据的保留期限和时间分区大小。时序生命周期策略管理功能包括:新建时序策略、修改时序策略、删除时序策略、设置数据库默认时序策略。
时序表管理
时序数据组织和存储的基本对象,与关系型数据库中表的定义类似。创建时序表时需要指定使用的时序策略,时序表按照时序策略中定义的时间分区对数据自动分区,并自动按时间对齐数据。时序表管理功能包括:新建时序表、修改时序表、删除时序表。
数据压缩
支持自动和手动压缩存储时序数据。Uqbar底层采用行列混合存储引擎存储时序数据,后台自动将行存数据转换为列存,同时对数据进行压缩。数据压缩功能包括:自动后台压缩、手动执行压缩命令。
过期删除
根据时序生命周期策略,对时序表上超出保留期限的数据,按照分区粒度自动删除。过期删除功能包括:自动后台删除、手动执行删除命令。
持续聚合管理
持续聚合功能是后台对时序数据执行周期性查询,并保存查询结果,可用于查询优化及时序数据降采样等场景。持续聚合管理包括:创建持续聚合、修改持续聚合、删除持续聚合。
高可用
本版本采用主备架构,最多支持一主七备,主机提供读写能力,备机提供查询能力,支持主备自动故障切换。
备份与恢复
支持数据备份恢复。支持使用备份恢复工具对数据进行备份和恢复。
运维工具
PTK安装工具、图形化管理工具。数据库安装工具PTK支持数据库自动化安装部署、图像化管理工具Manager提供数据库监控、备份恢复管理、告警管理等。
三方工具支持
- Kafka:支持对接Kafka消息组件,主动从Kafka消费时序数据;
- Grafana:支持对接可视化工具Grafana,通过Grafana对时序数据数据进行可视化展示;
- Prometheus:支持对接Prometheus,作为Prometheus的外置时序数据数据存储,提供更好的写入和查询性能。
时序场景优化
写入性能优化
针对时序数据特征优化时序数据写入性能,支持7*24小时不间断持续大压力写入,支持时序数据乱序写入; 不同场景下写入性能数据,参见性能白皮书;
查询优化
通过向量化查询引擎,以及并行查询能力,提供海量数据的高性能查询分析能力;
支持倒排索引,支持使用任意标签组合对时序数据进行查询;
压缩率优化
将标签与数据分离存储,避免标签数据重复存储;
根据数据类型和特征,使用时序专用压缩算法进行压缩,典型场景下可获得10倍以上的压缩率;
时序查询算子
除了关系表已支持的聚合算子,如 sum、avg、count等,新增支持时序场景常用的聚合算子:
-
First:数据中符合条件的时间戳最小的数据
-
Last:数据中符合条件的时间戳最大的数据
-
Time_bucket:按照指定的时间窗口对数据进行分组聚合
-
Time_bucket_gapfill:按照指定的时间窗口对数据进行分组聚合,并对缺失的数据按照指定规则插值填充
-
Histogram:对数据按照指定规则生成直方图数据
时序视图
- timeseries_views.bgw_job:后台任务视图,可用于查询时序表上有哪些后台任务在执行
- timeseries_views.compression_chunkgroup:压缩率视图,按chunkgroup统计,可用于展示时序表的压缩率
- timeseries_views.compression_table:压缩率视图,按时序表统计,可用于展示时序表的压缩率
- timeseries_views.continuous_aggregation:持续聚合视图,可用于查看时序表上的持续聚合
- timeseries_views.policies:时序策略视图,可用于查看当前数据库下的时序策略
- timeseries_views.tschunkgroup:时序表视图,按chunkgroup展示,可用于查看时序表的分区
- timeseries_views.tstable:时序表视图,按时序表展示,可用于查看当前数据库下的时序表
缺陷修复
- 数据过期删除偶现coredump问题
- copy数据过程中内存占用过高,疑似内存泄露问题
- guc参数timeseries_compression_delay重新设置后,数据库reload出现coredump问题
- 数据压缩后执行field或time列等值查询,偶现进程退出
平台支持
Uqbar 2.0.0支持以下操作系统及CPU架构组合:
操作系统 | CPU架构 | 备注 |
---|---|---|
CentOS 7.x | X86_64 (Intel,AMD,海光,兆芯) | |
Redhat 7.x | X86_64 (Intel,AMD,海光,兆芯) | |
openEuler 20.03LTS | ARM(鲲鹏)、X86_64 (Intel,AMD,海光,兆芯) | |
银河麒麟V10 | ARM(鲲鹏)、X86_64 (Intel,AMD,海光,兆芯) | OM组件暂不兼容Kylin V10 sp2升级补丁中的openssh-8.2p1-9.p06以上版本(包括p06、p07、p08、p09) |
统信UOS V20-D / V20-E | ARM(鲲鹏)、X86_64 (Intel,AMD,海光,兆芯) | |
统信UOS V20-A | X86_64 (Intel,AMD,海光,兆芯) |