原文链接:【KWDB 创作者计划】_KWDB的基本概念和使用指南-CSDN博客
作者:小黄编程快乐屋
KWDB 作为面向 AIoT 场景深度定制的数据库产品,凭借前沿的技术架构与创新功能,为智能物联网领域的数据管理带来了全新解决方案。
在架构设计上,KWDB 采用分布式架构,这种设计打破了传统数据库的性能瓶颈,能够灵活地根据业务规模动态扩展计算和存储资源,从容应对 AIoT 场景下海量数据的高并发读写需求。其最具突破性的是多模融合特性,突破了传统数据库单一数据模型的限制,支持在同一实例中同时构建时序库和关系库。这一特性实现了不同类型数据的融合处理,比如在智慧城市项目中,既能实时记录传感器采集的温度、湿度等时序数据,又能高效管理设备关联、用户信息等关系型数据,让数据之间的复杂关联得以清晰呈现与高效处理。
特别是在时序数据处理方面,KWDB 展现出无与伦比的高效性。它针对物联网场景中高频产生的时序数据,进行了深度优化,通过独特的数据压缩算法和高效的查询引擎,大幅降低存储成本的同时,提升了数据查询和分析的速度。无论是实时监测工业设备运行状态,还是分析智能家居的使用习惯,都能做到毫秒级响应,为实时决策提供有力支撑。
此外,KWDB 在稳定性、安全性、高可用性和易运维等方面同样表现出色。在稳定性与安全性上,它具备完善的容错机制和数据加密技术,可有效抵御数据丢失、网络攻击等风险;高可用性方面,通过多副本机制和自动故障切换,确保服务 7×24 小时不间断运行;易运维的特点则体现在其可视化的管理界面和自动化运维工具上,即使是复杂的数据库管理操作,也能轻松完成,显著降低运维成本和难度
在应用领域上,KWDB 深度聚焦于工业物联网、数字能源、车联网以及智慧产业等。它为这些领域提供一站式的数据存储、管理以及分析服务,如同稳固的基座,有力支撑着各领域数据相关业务的高效运转与发展 。
KWDB 具备以下特性:
数据存储:
采用行列混存架构,可支持固态硬盘、机械硬盘等各类存储设备。
数据副本:基于 Shared Nothing 架构,采用基于 Raft 协议的高可用、多副本架构,支持数据均衡及容错,确保数据服务不中断。
执行计算:融合多种数据计算引擎,依数据特征选存储、计算模式,提供统一接口和多种分析计算能力,提升查询效率。
自适应时序引擎:支持多种复杂时序查询和多维聚合,查询性能优异,具备 5-30 倍压缩能力,压缩后数据无需解压缩即可用。
事务处理引擎:
支持分布式事务和 MVCC,具备注释、视图等功能。
系统管理:
提供系统连接、身份认证等多种系统管理方式。
生态工具与兼容:
提供数据库操作等可视化工具,兼容 EMQX 等第三方工具。
下载地址: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。
时序数据库支持使用 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 系统多维度的介绍,能助力您深入理解其核心特性、运作机制及应用价值,为您在相关领域的探索与实践带来启发与帮助 。