首页 > 数据库 > 国内数据库 > KWDB 时序引擎核心能力——存储与读写
本期直播我们邀请到 KaiwuDB 高级研发工程师管延信为大家分享 《揭秘 KWDB 时序引擎核心能力——存储与读写》,点击下方视频观看完整版回放 ↓↓↓
📍以下重点内容节选,建议配合视频观看更佳。
在数字化浪潮席卷的万物互联时代,物联网设备与智能应用正以指数级速度催生海量时序数据。突破数据存储瓶颈、实现高效快速查询,已成为企业构建数据基础设施的关键议题。本次直播我们重点剖析了 KWDB 时序标签存储模型,从底层存储架构的优化策略到时序 SQL 语法语义的设计逻辑,从高性能读写功能的技术实现到复杂查询场景的应对方案,全方位带领大家了解 KWDB 如何实现数据的高速写入与毫秒级查询,助力高效数据管理。
时序数据(Time Series Data)是指按照时间顺序记录的数据序列,其中每个数据点都有一个时间戳。该类型数据在各领域都非常常见,如金融(股票价格)、气象(每日温度)、工业(传感器数据)等。
时序数据的主要特点是以
时间为索引,数据点之间存在时间上的连续性和相关性,采集频率存在高低差异。
这些时序数据一般被发送至服务器进行汇总并进行实时分析和处理,对系统的运行做出实时监测或预测、预警,这些数据也可以被长期保存下来,用以进行离线数据分析。
• 数据是时序的,带有时间戳。
• 数据是结构化的。
• 写多读少。
• 数据较少有更新删除操作。
• 一个数据采集点就是一个数据流。
• 一般是周期性产生/采集数据。
• 数据是有保留期限的。
• 需要实时分析、预测、诊断。
• 也需要离线分析能力。
• 数据不强制依赖于事务。
• 节省存储空间(大量冗余 vs 持续变化)。
• 独立索引设计(Hash & B+ 树 vs 稀疏)。
• 独立并发控制机制(数据一致性 vs 尽量无锁)。
• 支持高效写入与查询。
• 灵活的生命周期管理机制。
• 分布式节点间快速均衡。
-- 创建含复合主标签的表CREATE TABLE smart_meter (
ts timestamptz
NOT NULL
,
power_usage
FLOAT
) TAGS (
region
VARCHAR
(
6
)
NOT NULL
,
meter_no
BIGINT
NOT NULL
)
PRIMARY
TAGS (region, meter_no);
-- 动态维护标签示例ALTER TABLE sensor
ADD
TAG firmware_version
VARCHAR
(
20
);
-- 新增固件版本标签 ALTER TABLE sensor
ALTER
TAG firmware_version TYPE
VARCHAR
(
50
);
-- 修改标签类型 ALTER TABLE sensor
RENAME TAG group_id
TO
cluster_id;
-- 重命名标签 ALTER TABLE sensor
DROP
TAG location;
-- 删除标签
• 可以通过 insert 自动创建对应设备。
• 减少标签数据冗余存储。
KWDB 自动为主标签创建 Hash 索引,针对精确查询实现 O(1) 时间复杂度:
-- 高效查询示例
SELECT
*
FROM
sensor
WHERE
sensor_id
=
1005
;
4.2.1 对于高频查询的非主标签,建议手动创建索引:
-- 创建普通标签索引
CREATE
INDEX idx_sensor_group
ON
sensor (group_id);
-- 带过滤条件的查询
SELECT
*
FROM
sensor
WHERE
group_id
=
10
;
4.2.2 索引选择原则:
最后,欢迎大家 在 Gitee/Github 检索“KWDB” ,体验我们的项目并参与 互动 。
atomgit>> https://atomgit.com/kwdb
链接合集
开源仓库地址:
Gitee: https://gitee.com/kwdb/kwdb
Github: https://github.com/KWDB/KWDB
atomgit: https://atomgit.com/kwdb
官网地址:
https://www.kaiwudb.com/
Docker 镜像:
官方仓库: kwdb/kwdb:latest
国内镜像: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/kwdb/kwdb:latest
Github Docker 镜像: ghcr.io/kwdb/kwdb:latest
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70027415/viewspace-3090998/ ,如需转载,请注明出处,否则将追究法律责任。