写点什么

KWDB 技术架构解析:多模融合、时序引擎与分布式设计的创新实践

作者:KaiwuDB
  • 2025-07-04
    重庆
  • 本文字数:1824 字

    阅读完需:约 6 分钟

KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践

作者:SerenZhang


原文链接:https://blog.itpub.net/70045850/viewspace-3084747/

前言

KWDB 是专为 AIoT(物联网人工智能)场景设计,支持统一存储与高效处理时序数据,关系数据以及非结构化数据的分布式


多模数据库,它凭借其多模架构、高效时序数据处理、分布式等亮点技术在众多数据库中脱颖而出,那我就从这三方面,跟


你们聊聊我眼中的 KWDB。

一、 多模融合架构

首先呢,什么是多模融合架构?官方一点来说呢,多模融合架构就是通过混合存储引擎、跨模关联机制与统一元数据层,实现


时序数据、关系数据及非结构化数据的统一存储和高效处理。简单来说,就是将诸多设备产生的时间序列数据(例如机器的实时


数据),关系型数据(例如数据表格),非结构化数据(像照片,视频记录等)统一结合到一个大的平台上,让不同的数据能够合理


存储在一起,让它们相互参考,“联动”起来。比如在一场交通事故中,通过同时分析该车辆的实时速度,位置信息,行驶记


录视频等,能够快速判断出这种复杂场景的具体情况。


那么,多模融合架构是如何实现的呢?它主要通过 Outside-In(从外向内)和 Inside-Out(从内向外)两种方式实现。


Outside-In 方式是先处理关系数据,然后再处理时序数据,处理逻辑如下:



在 Outside-In 方式中,为了优化查询过程,使用了特殊的 BatchLookupJoin 操作来连接关系数据与时序


数据:



Inside-Out 方式首先处理时序数据,然后再处理关系数据。这通常需要对时序数据库进行预聚合处理:



在数据源被建立时,KWDB 能通过识别不同的表类型选择适当的处理方法,即多模表处理:



KWDB 的多模融合架构依靠 Outside-In 和 Inside-Out 两种优化方式,根据不同查询选择高效的数据处理路径,并通过特殊操作(如 BatchLookupJoin)连接不同数据,从而高效处理 AIoT 场景下的大量复杂数据查询。

二、高效时序数据处理

KWDB 通过很多技术和优化来完成高效的时间序列数据处理,以下是一些方法的概述:



由以上注释可以知道,KWDB 对时间序列数据使用列式存储格式,这能大大提高分析,存储,查询的性能。


同时,将数据按时间分区,这不但能使查询工作更高效,还更有利于管理:



KWDB 还包含热/冷数据分层系统,它能将不常访问的冷数据迁移到另一个存储层:



这是 KWDB 在实现不断寻找并删除重复数据:



并通过将数据批量插入来优化性能:



为了使数据有持久性,KWDB 实现了设有不同级别的预写日志记录系统,通过 switch-case 结构控制不同模式下的表创建类型:



KWDB 的高效时序数据处理系统可以处理高吞吐量的写入操作,并通过列式存储、基于时间的分区以及多种优化技术来保持快速查询性能。

三,分布式架构

KWDB 实现了专为 AIoT 场景设计的分布式多模型数据库架构。该架构支持高性能时间序列数据和关系数据处理。


KWDB 的分布式架构围绕几个关键组件构建:


1.节点系统:KWDB 集群中的每个实例都由一个 Node 对象表示,该对象管理该实例的生命周期和作 :



2.Gossip 协议:KWDB 采用基于 Gossip 协议的方式实现集群成员资格管理、元数据传播和节点发现,让节点无需集中协调即可维护集群状态的一致视图。


3.服务器组件:主服务器组件编排节点的所有方面,包括通信、存储和查询处理:



4.分布式发送方:处理跨集群到适当节点的路由请求 :



5.RPC 系统:通过基于 gRPC 的协议 促进节点间通信。


上述组件在 KWDB 架构中深度互连。Node 系统管理本地数据,Gossip 协议共享集群状态,分布式发送方路由请求,RPC 系统提供通信。

总结

KWDB 以多模融合架构为基座,高效时序处理为核心,分布式弹性设计为扩展,构建了面向物联网时代的全场景数据管理平台。其技术亮点不仅体现在性能指标,更在于架构的系统性与前瞻性。相信再未来随着生态架构完善,KWDB 能够引领国产数据库在工业智能化与数字化转型中的深度应用。


本文所有代码引用皆来源于: https://github.com/KWDB/KWDB


主要代码来源地址:


https://github.com/KWDB/KWDB/blob/f6327b5e/kwbase/pkg/sql/opt/exec/execbuilder/relational.go


https://github.com/KWDB/KWDB/blob/f6327b5e/kwbase/pkg/sql/opt/optbuilder/select.go


https://github.com/KWDB/KWDB/blob/f6327b5e/kwdbts2/storage/src/ts_table.cpp


https://github.com/KWDB/KWDB/blob/f6327b5e/kwdbts2/storage/include/ts_table.h


https://github.com/KWDB/KWDB/blob/f6327b5e/kwdbts2/engine/engine.cpp


https://github.com/KWDB/KWDB/blob/f6327b5e/kwbase/pkg/server/node.go


https://github.com/KWDB/KWDB/blob/f6327b5e/kwbase/pkg/gossip/gossip.go


https://github.com/KWDB/KWDB/blob/f6327b5e/kwbase/pkg/server/server.go


发布于: 刚刚阅读数: 4
用户头像

KaiwuDB

关注

还未添加个人签名 2021-04-29 加入

KaiwuDB 是浪潮集团控股的数据库企业,公司汇聚了全球顶尖的数据库人才,以多模数据库为核心产品,面向工业物联网、数字能源、交通车联网、智慧产业等各大行业领域,提供领先创新的数据服务软件。

评论

发布
暂无评论
KWDB技术架构解析:多模融合、时序引擎与分布式设计的创新实践_数据库_KaiwuDB_InfoQ写作社区