KaiwuDBKaiwuDB

KWDB 创作者计划 | KWDB的基本概念和使用指南

2025-05-18

原文链接:【KWDB 创作者计划】_KWDB的基本概念和使用指南-CSDN博客

作者:小黄编程快乐屋


1.什么是KWDB

KWDB 作为面向 AIoT 场景深度定制的数据库产品,凭借前沿的技术架构与创新功能,为智能物联网领域的数据管理带来了全新解决方案。

在架构设计上,KWDB 采用分布式架构,这种设计打破了传统数据库的性能瓶颈,能够灵活地根据业务规模动态扩展计算和存储资源,从容应对 AIoT 场景下海量数据的高并发读写需求。其最具突破性的是多模融合特性,突破了传统数据库单一数据模型的限制,支持在同一实例中同时构建时序库和关系库。这一特性实现了不同类型数据的融合处理,比如在智慧城市项目中,既能实时记录传感器采集的温度、湿度等时序数据,又能高效管理设备关联、用户信息等关系型数据,让数据之间的复杂关联得以清晰呈现与高效处理。

特别是在时序数据处理方面,KWDB 展现出无与伦比的高效性。它针对物联网场景中高频产生的时序数据,进行了深度优化,通过独特的数据压缩算法和高效的查询引擎,大幅降低存储成本的同时,提升了数据查询和分析的速度。无论是实时监测工业设备运行状态,还是分析智能家居的使用习惯,都能做到毫秒级响应,为实时决策提供有力支撑。

此外,KWDB 在稳定性、安全性、高可用性和易运维等方面同样表现出色。在稳定性与安全性上,它具备完善的容错机制和数据加密技术,可有效抵御数据丢失、网络攻击等风险;高可用性方面,通过多副本机制和自动故障切换,确保服务 7×24 小时不间断运行;易运维的特点则体现在其可视化的管理界面和自动化运维工具上,即使是复杂的数据库管理操作,也能轻松完成,显著降低运维成本和难度

KWDB 创作者计划 | KWDB的基本概念和使用指南(图1)



在应用领域上,KWDB 深度聚焦于工业物联网、数字能源、车联网以及智慧产业等。它为这些领域提供一站式的数据存储、管理以及分析服务,如同稳固的基座,有力支撑着各领域数据相关业务的高效运转与发展 。


KWDB 具备以下特性:

  • 数据存储:

    采用行列混存架构,可支持固态硬盘、机械硬盘等各类存储设备。

  • 数据副本:基于 Shared Nothing 架构,采用基于 Raft 协议的高可用、多副本架构,支持数据均衡及容错,确保数据服务不中断。

  • 执行计算:融合多种数据计算引擎,依数据特征选存储、计算模式,提供统一接口和多种分析计算能力,提升查询效率。

  • 自适应时序引擎:支持多种复杂时序查询和多维聚合,查询性能优异,具备 5-30 倍压缩能力,压缩后数据无需解压缩即可用。

  • 事务处理引擎:

    支持分布式事务和 MVCC,具备注释、视图等功能。

  • 系统管理:

    提供系统连接、身份认证等多种系统管理方式。

  • 生态工具与兼容:

    提供数据库操作等可视化工具,兼容 EMQX 等第三方工具。

2.安装下载部署

下载地址:https://gitee.com/kwdb/kwdb/releases/tag/V2.2.0


 1.下载和解压 CMake 安装包。

tar -C /usr/local/ -xvf cmake-3.23.4-linux-x86_64.tar.gz 
mv /usr/local/cmake-3.23.4-linux-x86_64 /usr/local/cmake


 2.下载代码压缩包,并将其解压缩到指定目录


1.创建并切换到构建目录:

在项目目录下执行以下命令,进入构建目录。

cd /home/go/src/gitee.com/kwbasedb
mkdir build && cd build


2.运行 CMake 配置:

执行以下命令进行配置,可根据需要指定构建类型(Release 或 Debug,首字母大写,默认为 Debug)。

cmake .. -DCMAKE_BUILD_TYPE= [Release | Debug]


3.禁用 Go 模块功能:

个人用户设置:修改~/.bashrc文件,添加以下内容。

export GO111MODULE=off

 

然后使设置立即生效:

source ~/.bashrc


系统全局设置(需 root 权限):修改/etc/profile文件,添加以下内容。

export GO111MODULE=off


然后使设置立即生效:

source /etc/profile


4.编译和安装项目:

  • 如果编译时因遗留的 protobuf 自动生成的文件报错,可先使用make clean清理编译目录。

  • 如果需要额外指定 protobuf 的文件路径,请使用make PROTOBUF_DIR=<protobuf_directory>。

执行以下命令进行编译和安装:

make
make install


5.验证安装是否成功:

编译和安装成功后的文件清单如下:

/home/go/src/gitee.com/kwbasedb
├── install
│   ├── bin
│   │   ├── err_inject.sh
│   │   ├── query_kwbase_status.sh
│   │   ├── query_status.sh
│   │   ├── setup_cert_file.sh
│   │   ├── utils.sh
│   │   └── kwbase
│   └── lib
│       ├── libcommon.so
│       └── libkwdbts2.so


进入kwbase脚本所在目录,执行以下命令查看数据库版本,验证安装情况:

./kwbase version


6.启动数据库:

进入kwbase脚本所在目录:

设置共享库的搜索路径:

启动数据库:

cd /home/go/src/gitee.com/kwbasedb/install/bin
export LD_LIBRARY_PATH=../lib
./kwbase start-single-node --insecure --listen-addr=:26257 --background


 

数据库启动后即可通过kwbase CLI工具、KaiwuDB 开发者中心或 JDBC 等连接器连接和使用 KWDB,具体连接和使用内容见使用kwbase CLI工具连接 KWDB、使用 KaiwuDB 开发者中心连接 KWDB 和使用 JDBC 连接 KWDB。

 3.时序数据查询

时序数据库支持使用 SQL 语句执行简单查询、嵌套查询、关联查询、联合查询和插值查询。


前提条件


用户拥有目标表的 select 权限。


步骤 1:创建时序表

在 ts_db 数据库中创建名为 t1 的时序表,表结构包含时间戳列 ts、整数列 a 和 b,以及标签列 tag1 和 tag2,并指定 tag1 为主标签。


CREATE TABLE ts_db.t1(ts timestamp not null,a int, b int) tags(tag1 int not null, tag2 int) primary tags(tag1);

步骤 2:向表中写入数据

使用 insert INTO 语句向 ts_db.t1 表中插入多条数据,每次插入的数据包含当前时间戳、整数 a 和 b 的值,以及标签 tag1 和 tag2 的值,部分数据中 a 和 b 的值为 NULL。


insert INTO ts_db.t1 VALUES(now(),11,11,33,44);
insert INTO ts_db.t1 VALUES(now(),22,22,33,44);
insert INTO ts_db.t1 VALUES(now(),11,33,33,44);
insert INTO ts_db.t1 VALUES(now(),22,44,33,44);
insert INTO ts_db.t1 VALUES(now(),33,55,44,44);
insert INTO ts_db.t1 VALUES(now(),22,44,44,44);
insert INTO ts_db.t1 VALUES(now(),33,44,55,44);
insert INTO ts_db.t1 VALUES(now(),null,null,66,66);
insert INTO ts_db.t1 VALUES(now(),null,null,66,77);


步骤 3:查看表的内容

使用 select 语句查询 t1 表中的所有数据,并显示查询结果。


select * FROM t1;
 
         ts              |  a   |  b   | tag1 | tag2
--------------------------------+------+------+------+-------
  2024-02-26 01:28:28.867+00:00 |   11 |   11 |   33 |   44
  2024-02-26 01:28:28.874+00:00 |   22 |   22 |   33 |   44
  2024-02-26 01:28:28.877+00:00 |   11 |   33 |   33 |   44
  2024-02-26 01:28:28.88+00:00  |   22 |   44 |   33 |   44
  2024-02-26 01:28:28.883+00:00 |   33 |   55 |   44 |   44
  2024-02-26 01:28:28.885+00:00 |   22 |   44 |   44 |   44
  2024-02-26 01:28:28.888+00:00 |   33 |   44 |   55 |   44
  2024-02-26 01:28:28.89+00:00  | NULL | NULL |   66 |   66
  2024-02-26 01:28:28.893+00:00 | NULL | NULL |   66 |   66
(9 rows)


综上所述,KWDB 作为一款依托深度信念网络的先进知识库系统,在知识表示层面展现出极高的精准性与全面性,推理能力更是强劲有力,能够高效解析复杂知识逻辑 。其应用范畴极为广泛,无论是知识密集型的企业知识管理场景,还是追求智能化升级的多元智能应用领域,KWDB 都能凭借自身优势提供有力支撑。我们期望通过本文对 KWDB 系统多维度的介绍,能助力您深入理解其核心特性、运作机制及应用价值,为您在相关领域的探索与实践带来启发与帮助 。 



体验全新的分布式多模数据库解决方案

企业版 社区版

KaiwuDB 是浪潮控股的数据库企业,面向工业物联网、数字能源、车联网、智慧产业等行业领域,提供稳定安全、高性能、易运维的创新数据软件与服务。

关注官方微信

友情链接:浪潮  

© 上海沄熹科技有限公司 Shanghai Yunxi Technology Co., Ltd.    沪ICP备2023002175号-1    网站服务协议   |   隐私政策
400-624-5688-7
服务与支持
marketing@kaiwudb.org.cn