作者: ShunWah(顺华)
公众号: "顺华星辰运维栈"主理人。持有认证: OceanBase OBCA/OBCP、MySQL OCP、OpenGauss、崖山 DBCA、金仓KingBase KCA/KCP、KaiwuDB KWCA/KWCP、 亚信 AntDBCA、翰高 HDCA、GBase 8a/8c/8s、Galaxybase GBCA、Neo4j ScienceCertification、NebulaGraph NGCI/NGCP、东方通 TongTech TCPE 等多项权威认证。
获奖经历: 崖山YashanDB YVP、浪潮KaiwuDB MVP、墨天轮 MVP,担任 OceanBase 社区版主及布道师。曾在OceanBase&墨天轮征文大赛、OpenGauss、TiDB、YashanDB、Kingbase、KWDB、Navicat Premium × 金仓数据库征文等赛事中多次斩获一、二、三等奖,原创技术文章常年被墨天轮、CSDN、ITPUB 等平台首页推荐。
- CSDN_ID: shunwahma
- 墨天轮_ID:shunwah
- ITPUB_ID: shunwah
- IFClub_ID:shunwah

2025年11月12日,国产数据库领域迎来重要里程碑——KaiwuDB正式发布3.0版本。在国产数据库百花齐放的今天,这家背景雄厚却行事稳健的玩家,终于选择不再低调。此次发布绝非简单的产品迭代,而是一次整合了数据库核心、智能体工具、行业大模型大脑的"王炸式"战略进击,意在重新定义物联网数据基座的市场格局。
作为KaiwuDB推出的多模数据库,KWDB 3.0以"多模一库"为核心突破,实现了关系数据与时序数据的统一存储、管理与查询。传统方案中需要跨库同步的复杂操作,如今只需一条SQL即可完成跨模关联分析,实现毫秒级结果返回,彻底改变了多模数据处理的游戏规则。
本文我将从实战出发,通过从 核心特性深度解读 → 单节点容器化部署 → 设备故障风险预警 这一典型工业场景,完整演示KWDB 3.0的单节点部署、开发者中心使用及跨模查询能力,体验多模数据融合分析的高效玩法,探索全能型数据库的终极形态。
核心亮点:性能的质的飞跃
KaiwuDB 3.0在性能层面实现了碾压级的突破:

这些数字的背后,是KaiwuDB 3.0用技术实力击穿"高性能必然高成本"的行业痛点,让企业能够以更少的硬件资源承载更大的业务量,处理更复杂的查询需求。
在物联网数据呈爆炸式增长的时代,KaiwuDB 3.0 新版本的发布不仅是一次技术升级,更是对数据处理范式的一次重新定义。接下来,我通过实际部署和场景验证,深入探索这一"多模一库"全新体验。
在进入实战前,我先按PPT了解 KWDB 3.0 支撑跨模分析的核心特性,理解其技术底层逻辑。
KWDB 3.0 采用"统一内核 + 专用引擎"架构,底层共享存储与计算资源,上层为关系数据和时序数据提供专用处理引擎:
两类数据存储在同一数据库实例中,通过"rdb.XXX"(关系库前缀)和"tsdb.XXX"(时序库前缀)区分,天然支持跨模关联,无需额外数据同步组件。
KWDB 3.0 优化了跨模 JOIN 执行计划,针对"关系表主键 + 时序表标签"的关联场景,建立专用索引加速匹配。相比传统"导出+JOIN"的分钟级延迟,KWDB 跨模查询响应时间控制在毫秒级,完全满足设备故障实时预警的业务需求。
KaiwuDB Developer Center 3.0 支持关系库、时序库的可视化管理,从库表创建、数据写入到 SQL 编辑、结果导出全流程图形化操作,大幅降低多模数据管理门槛,即使是非专业 DBA 也能快速上手。
本次实战采用 Docker Compose 部署 KWDB 3.0 单节点,无需复杂环境配置,快速搭建测试环境。
| 环境要求 | 具体规格 |
|---|---|
| 硬件配置 | 4 核 8G 以上,SSD 硬盘(IOPS ≥ 500,读写速度 ≥ 30MB/s) |
| 操作系统 | CentOS 7(x86_64)、Ubuntu 22.04 等支持 Docker 的系统 |
| 软件依赖 | Docker 20.10+、Docker Compose 1.20.0+ |
| 端口要求 | 开放 8080(Web 服务端口)、26257(数据库连接端口) |
通过以下命令拉取官方镜像(或从 KWDB 官网下载离线镜像导入):
https://gitee.com/kwdb/kwdb/releases/tag/v3.0.0

容器名 KWDB-3.0.0-ubuntu22.04-x86_64-docker.tar.gz 安装包
[root@worker3 kwdb]# ls docker-compose.yml KWDB-3.0.0-ubuntu22.04-x86_64-docker.tar.gz kwdb-tsbs [root@worker3 kwdb]#

[root@worker3 kwdb]# tar -zxvf KWDB-3.0.0-ubuntu22.04-x86_64-docker.tar.gz kwdb_install/ kwdb_install/deploy.sh kwdb_install/add_user.sh kwdb_install/.construction_var kwdb_install/deploy.cfg kwdb_install/packages/ kwdb_install/packages/.version kwdb_install/packages/KaiwuDB.tar kwdb_install/utils/ kwdb_install/utils/kaiwudb_upgrade.sh kwdb_install/utils/kaiwudb_operate.sh kwdb_install/utils/kaiwudb_log.sh kwdb_install/utils/utils.sh kwdb_install/utils/kaiwudb_install.sh kwdb_install/utils/kaiwudb_cluster.sh kwdb_install/utils/process_bar.sh kwdb_install/utils/kaiwudb_common.sh kwdb_install/utils/container_shell.sh kwdb_install/utils/kaiwudb_hardware.sh kwdb_install/utils/kaiwudb_uninstall.sh [root@worker3 kwdb]#

在 kaiwudb_install/packages 目录下导入 KaiwuDB.tar 文件,获取镜像名称。
[root@worker3 kwdb]# ls docker-compose.yml KWDB-3.0.0-ubuntu22.04-x86_64-docker.tar.gz kwdb_install kwdb-tsbs [root@worker3 kwdb]# cd kwdb_install/ [root@worker3 kwdb_install]# cd packages/ [root@worker3 packages]# ls KaiwuDB.tar [root@worker3 packages]# docker load < KaiwuDB.tar 3cc982388b71: Loading layer 80.42MB/80.42MB 80483dab05e2: Loading layer 87.23MB/87.23MB f5b2559aa2e6: Loading layer 235.9MB/235.9MB Loaded image: kwdb-x86_64:3.0.0 [root@worker3 packages]#
查看镜像
[root@worker3 packages]# docker images kwdb-x86_64:3.0.0 REPOSITORY TAG IMAGE ID CREATED SIZE kwdb-x86_64 3.0.0 cca153fde039 12 days ago 400MB [root@worker3 packages]#

创建
docker-compose.yml 文件,配置如下(非安全模式,适合测试环境):
[root@worker3 kwdb]# vim docker-compose.yml version: '3.3'services: kaiwudb-container: image: "kwdb-x86_64:3.0.0" container_name: kaiwudb-3.0 hostname: kaiwudb-3.0 ports: - 8080:8080 - 26257:26257 ulimits: memlock: -1 networks: - default restart: on-failure ipc: shareable privileged: true environment: - LD_LIBRARY_PATH=/kaiwudb/lib tty: true working_dir: /kaiwudb/bin command: - /bin/bash - -c - | /kaiwudb/bin/kwbase start-single-node --insecure --listen-addr=0.0.0.0:26257 --advertise-addr=127.0.0.1:26257 --http-addr=0.0.0.0:8080 --store=/kaiwudb/deploy/kaiwudb
在
docker-compose.yml 所在目录执行以下命令,后台启动容器:
# 创建数据目录# 启动服务[root@worker3 kwdb]# mkdir kwdb-data[root@worker3 kwdb]# docker-compose up -dCreating network "kwdb_default" with the default driver Creating kaiwudb-3.0 ... done[root@worker3 kwdb]## 查看容器状态(确保状态为 Up)docker ps | grep kaiwudb-3.0

通过查看容器日志验证服务状态:
[root@worker3 kwdb]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5641387de630 kwdb-x86_64:3.0.0 "/kaiwudb/bin/kwbase…" 40 seconds ago Up 39 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:26257->26257/tcp, :::26257->26257/tcp kaiwudb-3.0 [root@worker3 kwdb]# docker logs -f kaiwudb-3.0 * * WARNING: RUNNING IN INSECURE MODE! * * - Your cluster is open for any client that can access 0.0.0.0. * - Any user, even root, can log in without providing a password. * - Any user, connecting as root, can read or write any data in your cluster. * - There is no network encryption nor authentication, and thus no confidentiality. * * Check out how to secure your cluster on KWDB website * * * INFO: Replication was disabled for this cluster. * When/if adding nodes in the future, update zone configurations to increase the replication factor. * KWDB node starting at 2025-11-23 03:30:56.553971229 +0000 UTC (took 0.5s) build: 3.0.0 @ 2025/11/11 02:23:47 (go1.21.13) sql: postgresql://root@127.0.0.1:26257?sslmode=disable RPC client flags: /kaiwudb/bin/kwbase <client cmd> --host=127.0.0.1:26257 --insecure logs: /var/lib/kwdb/logs temp dir: /var/lib/kwdb/kwbase-temp724004501 external I/O path: /var/lib/kwdb/extern store[0]: path=/var/lib/kwdb storage engine: rocksdb status: initialized new cluster clusterID: a72219d6-0162-43eb-b62a-bcc2cc8d705a nodeID: 1

恭喜!到这里 KaiwuDB 3.0 已成功启动,从日志可以看到数据库已成功启动,运行在 insecure 模式下。
kwbase sql 命令行(推荐用于测试)# 在容器内执行root@kaiwudb-3:/kaiwudb/bin# ./kwbase sql --insecure --host=127.0.0.1
你会看到类似输出:
## Welcome to the KWDB SQL shell.# All statements must be terminated by a semicolon.# To exit, type: \q.## Server version: KaiwuDB 3.0.0 (x86_64-linux-gnu, built 2025/11/11 02:23:47, go1.21.13, gcc 11.4.0) (same version as client)# Cluster ID: a72219d6-0162-43eb-b62a-bcc2cc8d705a## Enter \? for a brief introduction.#root@127.0.0.1:26257/defaultdb>

SELECT version(); root@127.0.0.1:26257/defaultdb> SELECT version(); version -------------------------------------------------------------------------------------- KaiwuDB 3.0.0 (x86_64-linux-gnu, built 2025/11/11 02:23:47, go1.21.13, gcc 11.4.0) (1 row) Time: 603.13µs root@127.0.0.1:26257/defaultdb>

root@127.0.0.1:26257/defaultdb> \q root@kaiwudb-3:/kaiwudb/bin#

部署完成后,通过 KaiwuDB 开发者中心进行可视化操作,无需记忆复杂命令,高效管理多模数据。
操作系统:Windows 10

软件依赖:OpenJRE 8+;

硬件:24G 内存、500G 硬盘空间。

KaiwuDB_Developer_Center-3.0.0-win-x86_64.zip);
KaiwuDB_Developer_Center-3.0.0-win-x86_64.zip

KaiwuDB-Developer-Center.exe(Windows)或对应可执行文件启动;




连接后,左侧"数据库导航区"会显示默认的数据库连接,即可开始创建库表和数据操作。

本次通过 KaiwuDB Developer Center 进行可视化操作实战模拟“风机设备故障预警”场景:通过关系表存储风机基础信息,时序表存储传感器实时数据,再通过跨模查询关联两类数据,筛选出温度过高或振动异常的设备,实现故障风险预警。
WindTurbine-X3 的风机中,平均温度超过 75℃ 或最大振动值超过 4.5 的设备,输出设备名称、型号、异常指标及安装位置。关系数据库 → 选择“新建关系数据库”;

rdb.device_manage,点击“确定”;

rdb 根节点下,继承系统默认权限。

右键单击
rdb.device_manage → 选择public模式,“新建表”;

在表设计界面,填写表名
devices,添加以下字段:
| 字段名 | 数据类型 | 长度 | 是否非空 | 主键 | 描述 |
|---|---|---|---|---|---|
| id | VARCHAR | 32 | 是 | 是 | 设备唯一 ID |
| name | VARCHAR | 100 | 是 | 否 | 设备名称 |
| model | VARCHAR | 50 | 是 | 否 | 设备型号 |
| install_date | DATE | - | 是 | 否 | 安装日期 |
| loc | VARCHAR | 50 | 是 | 否 | 安装位置(经纬度) |

devices 表,切换到“数据”页签;

| id | name | model | install_date | loc |
|---|---|---|---|---|
| WT-001 | 风机A | WindTurbine-X3 | 2023-01-15 | 39.908823, 116.397470 |
| WT-002 | 风机B | WindTurbine-X3 | 2023-02-20 | 39.918823, 116.407470 |
| WT-003 | 风机C | WindTurbine-X4 | 2023-03-10 | 39.928823, 116.417470 |


时序数据库 → 选择“新建时序数据库”;

tsdb.sensor_data,点击“确定”,时序库创建完成。

tsdb.sensor_data → 选择“新建时序表”;

sensors;| 字段名 | 数据类型 | 是否非空 | 描述 |
|---|---|---|---|
| ts | TIMESTAMP | 是 | 数据采集时间戳 |
| device_id | VARCHAR | 是 | 关联设备 ID |
| temperature | FLOAT | 否 | 设备温度(℃) |
| vibration | FLOAT | 否 | 设备振动值 |

device_id;

CREATE TABLE sensors ( "ts" timestamp NOT NULL DEFAULT 'now()', temperature float NULL, vibration float NULL ) TAGS ( device_id varchar(32) NOT NULL ) PRIMARY TAGS ( device_id ) RETENTIONS 0DAY ACTIVETIME 1DAY PARTITION INTERVAL 10DAY; COMMENT ON TABLE "tsdb.sensor_data".sensors IS '存储传感器数据'; -- Column comments COMMENT ON COLUMN "tsdb.sensor_data".sensors."ts" IS '数据采集时间戳'; COMMENT ON COLUMN "tsdb.sensor_data".sensors.temperature IS '设备温度(℃)'; COMMENT ON COLUMN "tsdb.sensor_data".sensors.vibration IS '设备振动值'; -- Tag comments COMMENT ON COLUMN "tsdb.sensor_data".sensors.device_id IS '关联设备 ID';

sensors 表 → 选择“编辑数据”;

| ts | device_id | temperature | vibration |
|---|---|---|---|
| NOW() - INTERVAL ‘1 hour’ | WT-001 | 76.2 | 4.6 |
| NOW() - INTERVAL ‘50 minutes’ | WT-001 | 77.8 | 4.8 |
| NOW() - INTERVAL ‘2 hours’ | WT-002 | 73.5 | 4.2 |
| NOW() - INTERVAL ‘1.5 hours’ | WT-002 | 74.1 | 4.3 |
| NOW() - INTERVAL ‘3 hours’ | WT-003 | 68.9 | 3.9 |


刚才已经使用 Developer Center 可视化实战体验:跨模分析设备故障风险,接下来本次命令行实战模拟"风机设备故障预警"场景:通过关系表存储风机基础信息,时序表存储传感器实时数据,再通过跨模查询关联两类数据,筛选出温度过高或振动异常的设备,实现故障风险预警。
WindTurbine-X3 的风机中,平均温度超过 75℃ 或最大振动值超过 4.5 的设备,输出设备名称、型号、异常指标及安装位置。首先通过命令行创建关系数据库:
root@127.0.0.1:26257/defaultdb> CREATE DATABASE rdb_device_manage; CREATE DATABASE Time: 5.623904ms root@127.0.0.1:26257/defaultdb>

创建设备信息表并插入测试数据:
– 创建 devices 表
root@127.0.0.1:26257/defaultdb> CREATE TABLE rdb_device_manage.public.devices ( id VARCHAR(32) PRIMARY KEY, name VARCHAR(100) NOT NULL, model VARCHAR(50) NOT NULL, install_date DATE NOT NULL, loc VARCHAR(50) NOT NULL ); CREATE TABLE Time: 4.3448ms root@127.0.0.1:26257/defaultdb>

– 插入测试数据
root@127.0.0.1:26257/defaultdb> INSERT INTO rdb_device_manage.public.devices (id, name, model, install_date, loc)
VALUES
('WT-001', '风机A', 'WindTurbine-X3', '2023-01-15', '39.908823, 116.397470'),
('WT-002', '风机B', 'WindTurbine-X3', '2023-02-20', '39.918823, 116.407470'),
('WT-003', '风机C', 'WindTurbine-X4', '2023-03-10', '39.928823, 116.417470');
INSERT 3
Time: 4.174616ms
root@127.0.0.1:26257/defaultdb>

– 验证关系表
root@127.0.0.1:26257/defaultdb> SELECT * FROM rdb_device_manage.public.devices; id | name | model | install_date | loc ---------+-------+----------------+---------------------------+------------------------ WT-001 | 风机A | WindTurbine-X3 | 2023-01-15 00:00:00+00:00 | 39.908823, 116.397470 WT-002 | 风机B | WindTurbine-X3 | 2023-02-20 00:00:00+00:00 | 39.918823, 116.407470 WT-003 | 风机C | WindTurbine-X4 | 2023-03-10 00:00:00+00:00 | 39.928823, 116.417470 (3 rows) Time: 1.045043ms root@127.0.0.1:26257/defaultdb>

创建时序数据库用于存储传感器数据:
– 创建时序数据库
root@127.0.0.1:26257/defaultdb> CREATE TS DATABASE tsdb_sensor_data; CREATE TS DATABASE Time: 4.891201ms root@127.0.0.1:26257/defaultdb>

创建传感器数据表并插入测试数据:
-- 创建 sensors 表 root@127.0.0.1:26257/defaultdb> CREATE TABLE tsdb_sensor_data.sensors ( ts TIMESTAMP NOT NULL, temperature FLOAT, vibration FLOAT ) TAGS ( device_id VARCHAR(32) NOT NULL ) PRIMARY TAGS ( device_id ); CREATE TABLE Time: 12.280812ms root@127.0.0.1:26257/defaultdb>

-- 插入测试数据 root@127.0.0.1:26257/defaultdb> INSERT INTO tsdb_sensor_data.sensors (ts, device_id, temperature, vibration) -> -> SELECT -> -> NOW() - INTERVAL '1 hour', 'WT-001', 76.2, 4.6 -> -> UNION ALL -> -> SELECT -> -> NOW() - INTERVAL '50 minutes', 'WT-001', 77.8, 4.8 -> -> UNION ALL -> -> SELECT -> -> NOW() - INTERVAL '2 hours', 'WT-002', 73.5, 4.2 -> -> UNION ALL -> -> SELECT -> -> NOW() - INTERVAL '1.5 hours', 'WT-002', 74.1, 4.3 -> -> UNION ALL -> -> SELECT -> -> NOW() - INTERVAL '3 hours', 'WT-003', 68.9, 3.9; INSERT 5 Time: 52.501082ms root@127.0.0.1:26257/defaultdb>

-- 验证时序表 root@127.0.0.1:26257/defaultdb> SELECT * FROM tsdb_sensor_data.sensors ORDER BY ts DESC LIMIT 5; ts | temperature | vibration | device_id --------------------------------+-------------+-----------+------------ 2025-11-23 06:02:15.306+00:00 | 77.8 | 4.8 | WT-001 2025-11-23 05:52:15.306+00:00 | 76.2 | 4.6 | WT-001 2025-11-23 05:22:15.306+00:00 | 74.1 | 4.3 | WT-002 2025-11-23 04:52:15.306+00:00 | 73.5 | 4.2 | WT-002 2025-11-23 03:52:15.306+00:00 | 68.9 | 3.9 | WT-003 (5 rows) Time: 2.852642ms root@127.0.0.1:26257/defaultdb>

执行核心的跨模查询,关联关系数据和时序数据,实现设备故障风险预警:
-- 跨模查询:分析设备故障风险 root@127.0.0.1:26257/defaultdb> SELECT d.name AS "设备名称", d.model AS "设备型号", d.loc AS "安装位置", ROUND(AVG(s.temperature), 1) AS "近24小时平均温度(℃)", MAX(s.vibration) AS "近24小时最大振动值", CASE WHEN MAX(s.vibration) > 4.5 AND AVG(s.temperature) > 75 THEN '高风险' WHEN MAX(s.vibration) > 4.5 OR AVG(s.temperature) > 75 THEN '中风险' ELSE '正常' END AS "风险等级" FROM tsdb_sensor_data.sensors s JOIN rdb_device_manage.public.devices d ON s.device_id = d.id WHERE s.ts > NOW() - INTERVAL '24 hours' AND d.model = 'WindTurbine-X3' GROUP BY d.name, d.model, d.loc HAVING MAX(s.vibration) > 4.5 OR ROUND(AVG(s.temperature), 1) > 75 ORDER BY "风险等级" DESC; 设备名称 | 设备型号 | 安装位置 | 近24小时平均温度(℃) | 近24小时最大振动值 | 风险等级 -----------+----------------+-----------------------+---------------------+--------------------+----------- 风机A | WindTurbine-X3 | 39.908823, 116.397470 | 77 | 4.8 | 高风险 (1 row) Time: 3.305424ms root@127.0.0.1:26257/defaultdb>

跨模查询成功执行并返回了预期的结果。
查询结果解读:
CASE 语句的逻辑,风险等级被判定为
高风险。这个结果完美验证了 KWDB 3.0 “多模一库” 的核心能力: 在一个查询中无缝关联关系型数据(设备信息)和时序型数据(传感器读数),并通过标准的 SQL 语法进行聚合、过滤和分析。
通过子查询获取异常温度发生的具体时间点及对应振动值:
root@127.0.0.1:26257/defaultdb> SELECT d.name AS 设备名称, s.ts AS 异常温度采集时间, s.temperature AS 异常温度值, s.vibration AS 对应振动值 FROM tsdb_sensor_data.sensors s -- 使用新的时序数据库名称 tsdb_sensor_data JOIN rdb_device_manage.public.devices d -- 使用新的关系数据库名称 rdb_device_manage ON s.device_id = d.id WHERE s.temperature = ( -- 子查询中同样需要使用新的数据库名称 SELECT MAX(temperature) FROM tsdb_sensor_data.sensors WHERE device_id = 'WT-001' AND ts > NOW() - INTERVAL '24 hours' ) AND d.id = 'WT-001'; 设备名称 | 异常温度采集时间 | 异常温度值 | 对应振动值 -----------+-------------------------------+------------+------------- 风机A | 2025-11-23 06:02:15.306+00:00 | 77.8 | 4.8 (1 row) Time: 3.341938ms root@127.0.0.1:26257/defaultdb>

执行结果示例:
| 设备名称 | 异常温度采集时间 | 异常温度值 | 对应振动值 |
|---|---|---|---|
| 风机A | 2024-05-20 09:10:00 | 77.8 | 4.8 |
使用变量定义查询参数,提升 SQL 的复用性和可维护性:
root@127.0.0.1:26257/defaultdb> SET @target_model = 'WindTurbine-X3'; -- 定义自定义变量:温度阈值 SET @temp_threshold = 75; -- 定义自定义变量:振动阈值 SET @vib_threshold = 4.5; -- 使用变量执行跨模查询 SELECT d.name AS 设备名称, ROUND(AVG(s.temperature), 1) AS 平均温度, MAX(s.vibration) AS 最大振动值 FROM tsdb_sensor_data.sensors s -- 使用新的时序数据库名称 JOIN rdb_device_manage.public.devices d -- 使用新的关系数据库名称 ON s.device_id = d.id WHERE s.ts > NOW() - INTERVAL '24 hours' AND d.model = @target_model GROUP BY d.name HAVING AVG(s.temperature) > @temp_threshold OR MAX(s.vibration) > @vib_threshold; SET Time: 534.714µs SET Time: 446.008µs SET Time: 242.498µs 设备名称 | 平均温度 | 最大振动值 -----------+----------+------------- 风机A | 77 | 4.8 (1 row) Time: 3.079654ms root@127.0.0.1:26257/defaultdb>

查看所有数据库列表 root@127.0.0.1:26257/defaultdb> SELECT datname FROM pg_database WHERE datistemplate = false; datname --------------------- defaultdb postgres rdb_device_manage system tsdb_sensor_data (5 rows) Time: 1.220281ms root@127.0.0.1:26257/defaultdb>

通过查询数据反向验证表结构:
-- 查询 devices 表的一行数据,通过返回的列名来确认表结构SELECT * FROM rdb_device_manage.public.devices LIMIT 1; root@127.0.0.1:26257/defaultdb> SELECT * FROM rdb_device_manage.public.devices LIMIT 1; id | name | model | install_date | loc---------+-------+----------------+---------------------------+------------------------ WT-001 | 风机A | WindTurbine-X3 | 2023-01-15 00:00:00+00:00 | 39.908823, 116.397470 (1 row) Time: 721.23µs root@127.0.0.1:26257/defaultdb>

执行结果示例:
这个结果会清晰地显示出表中的所有列名:
id,
name,
model,
install_date,
loc。
-- 查询 sensors 表的一行数据,通过返回的列名来确认表结构SELECT * FROM tsdb_sensor_data.sensors LIMIT 1; root@127.0.0.1:26257/defaultdb> SELECT * FROM tsdb_sensor_data.sensors LIMIT 1; ts | temperature | vibration | device_id--------------------------------+-------------+-----------+------------ 2025-11-23 03:52:15.306+00:00 | 68.9 | 3.9 | WT-003 (1 row) Time: 1.259845ms root@127.0.0.1:26257/defaultdb>

执行结果示例:
这个结果会显示出时序表的普通列和标签列:
ts,
temperature,
vibration,
device_id。其中,
device_id 是我们定义的标签。
本次"设备故障风险预警"实战,充分验证了新版 KWDB 3.0 "多模一库"的核心优势:
在 AIoT 数据爆发的时代,"多模一库"已成为数据库发展的核心趋势。KWDB 3.0 的发布不再局限于单一数据类型的存储与查询,而是以业务场景为核心,提供"一站式"多模数据解决方案。
无论是设备故障预警、能源消耗分析,还是智慧交通监控,KWDB 3.0 都能通过跨模分析能力,挖掘数据深层价值,为企业数字化转型提供高效支撑。其 开箱即用的便捷性、 毫秒级的查询性能和 完整的企业级功能,使其成为多模数据处理场景下的理想选择。
作为数据库国产化替代的重要力量,KWDB 3.0 的发布不仅在产品能力上达到了业界先进水平,更在用户体验和生态建设方面展现了强大的竞争力。
本次体验环境信息
参考相关资源
作者注:
——本文所有操作及测试均基于 CentOS 系统 Docker Compose 部署的 KaiwuDB v3.0.0 完成,核心围绕"多模一库"核心特性展开数据库实操与性能验证等关键环节。建议实际应用时参考 KaiwuDB 官方文档及对应版本适配指南。请注意,KaiwuDB 版本处于持续迭代中,部分语法或功能可能随更新发生变化,请以 KaiwuDB 官方文档最新内容为准。
——以上仅为个人思考与建议,不代表行业普遍观点。以上所有操作均需在具备足够权限的环境下执行,涉及生产环境时请提前做好备份与测试。文中案例与思路仅供参考,若与实际情况巧合,纯属无意。期待与各位从业者共同探讨更多可能!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70042915/viewspace-3104443/ ,如需转载,请注明出处,否则将追究法律责任。