【KWDB创作者计划】_KWDB部署与使用详细版本

news/2025/4/22 1:29:32

KWDB发展历程

介绍KWDB前,先介绍下KaiwuDB, KaiwuDB 是浪潮控股的数据库企业,该企业提供的KaiwuDB数据库是一款分布式多模数据库产品,主要面向工业物联网、数字能源、车联网、智慧产业等行业领域。

在2024年7月, KaiwuDB 2.0版本正式发布,KaiwuDB2.0的单节点支持 50 万测点/秒实时数据写入, 批量写入支持千万测点/秒, TSBS 基准写入速度达 200 万记录/秒, 数据压缩比最高可达 30 倍 。 单节点的这个速度还是很给力的, 在国际时序数据库性能基准测试排行榜 benchANT 最新一期榜单中,KaiwuDB 写入吞吐、查询吞吐、查询延迟、成本效益 4 项指标刷新榜单原纪录。
在这里插入图片描述

在2024年8月, KaiwuDB 宣布在 Gitee 开源,社区版命名为 KWDB ,9月25日宣布将社区版本捐赠至开放原子开源基金会。 在《2024 中国开源开发者报告》中,KWDB 社区获评 “ 最受开发者关注的开源组织 ”。 作为国内开源分布式多模数据库,KWDB 由开放原子开源基金会孵化,成功入选 “2024 全球新势力项目 OpenRank 排行榜 Top”,成 为 2024 年度榜上有名的中国项目, 如下。
在这里插入图片描述

该榜单的第一位 UV(全称 Universal Virtual ),该项目是由 Astral 团队基于 Rust 语言开发的下一代 Python 包管理工具,旨在替代传统工具链(如 pip、virtualenv、poetry 等),提供 一站式解决方案 。其核心目标是通过 极速性能 和 功能集成 ,解决 Python 开发中的依赖管理、环境隔离、多版本切换等痛点。Python作为人工智能时代友好语言,UV项目有着天然的使用者人群。

第二位的 Open WebUI 是一个开源、可扩展、功能丰富、用户友好的自托管Web界面,旨在完全离线运行,用于管理和操作各种本地和云端的大型语言模型(LLM)及其他人工智能功能。 Open WebUI 提供直观的图形化界面,无需深入了解复杂的命令行操作或后端技术,即可轻松与大型语言模型进行交互。大语言模型的出现, Open WebUI 项目也是时代的弄潮儿。

第十位的 KWDB就是本文主要介绍的技术产品, 一个集成了时序数据库与关系数据库的 国内开源分布式多模数据库。

KWDB简介

KWDB 是由开放原子开源基金会孵化及运营的开源项目,是一款 面向 AIoT 场景的分布式多模数据库 产品,支持在同一实例同时建立时序库和关系库并融合处理多模数据,具备千万级设备接入、百万级数据秒级写入、亿级数据秒级读取等时序数据高效处理能力,具有稳定安全、高可用、易运维等特点。

KWDB架构图

在这里插入图片描述

KWDB安装文档
KWDB 的官方文档如下, https://www.kaiwudb.com/kaiwudb_docs/#/oss_v2.2.0/

单击快速上手,可以看到安装KWDB的文档。

在这里插入图片描述

环境准备

针对硬件资源的要求如下:
在这里插入图片描述

操作系统要求如下:

KWDB 支持在以下服务器操作系统进行安装部署。
在这里插入图片描述

软件依赖要求如下:
在这里插入图片描述

端口要求如下:
在这里插入图片描述

安装过程:

准备云服务器:

按照要求,搭建KWDB本地版本,需要 4核8G以上的服务器。个人可以本地准备一个ubuntu22.04的环境,也可以通过云厂商购买一个对应的环境,我这里采用在腾讯云购买4核8G以上的服务器,记住如果是VCPU,最好选择8核。对于长期使用可以通过云厂商的代理购买,会优惠一些。个人可以按月份购买,或是按量购买,我这里选择按量购买。

进入腾讯云的控制台,选择全部云产品中的云服务器,
在这里插入图片描述

单击云服务器,进入云服务器的选择页面

在这里插入图片描述

单击立即选购,在弹出的页面,现在自定义配置
在这里插入图片描述

选择8核8G的配置,ubuntu22.04的镜像,选择带宽模式,设置安全组,登录方式,主机名后,然后购买即可。

在这里插入图片描述

然后设置安全组,添加8080和26257端口
在这里插入图片描述

查看访问KWDB服务器的公网地址
在这里插入图片描述

打开xshell或fineshell等工具,连接服务器。输入用户ubuntu和密码
在这里插入图片描述

到此,说明服务器配置完毕。下面进行KWDB的安装。

安装KWDB-云服务器版本:

KWDB2.2的下载页面如下: https://gitee.com/kwdb/kwdb/releases/tag/V2.2.0

在这里插入图片描述

下载地址: https://gitee.com/kwdb/kwdb/releases/download/V2.2.0/KWDB-2.2.0-ubuntu22.04-x86_64-debs.tar.gz

安装的参考过程如下: https://gitee.com/kwdb/kwdb

安装的参考过程如下: https://blog.itpub.net/69947868/viewspace-3081066

  1. 准备初始安装的cmake与go

更新源

sudo apt update

安装cmake

sudo apt install cmake -y

安装go

sudo snap install go --classic

2.升级libprotobuf-dev到最新版本

sudo apt install libprotobuf-dev

3.进入KWDB服务器中,下载并解压安装包

通过wget命令下载安装包

wget https://gitee.com/kwdb/kwdb/releases/download/V2.2.0/KWDB-2.2.0-ubuntu22.04-x86_64-debs.tar.gz

解压压缩包

tar zxvf KWDB-2.2.0-ubuntu22.04-x86_64-debs.tar.gz

解压后的目录如下
在这里插入图片描述

  1. 进入到kwdb与修改配置
cd kwdb_install/

kwdb_install目录如下
在这里插入图片描述

编辑安装包目录下的 deploy.cfg 配置文件,设置安全模式、管理用户、服务端口等信息。

说明
默认情况下, deploy.cfg 配置文件中包含集群配置参数。请删除或注释 [cluster] 集群配置项。
这里只对单机进行安装,填写一下ip地址即可、将node_addr中的127.0.0.1更换成你的服务器IP地址

sudo vi deploy.cfg

编辑如下:注意[cluster]也需要用#注释掉
在这里插入图片描述

5.修改~/.bashrc 与 /etc/profile 禁用Go模块功能,并生效设置。

个人用户设置:修改 ~/.bashrc 文件

sudo vi ~/.bashrc

添加

export GO111MODULE=off

立即生效

source ~/.bashrc

修改系统设置 /etc/profile 文件

sudo vi /etc/profile

添加

export GO111MODULE=off

立即生效

source ~/.bashrc

6.安装kwdb·要输入密码

./deploy.sh install --single

我的密码为123456
在这里插入图片描述

  1. 重新加载系统服务的配置文件
systemctl daemon-reload

输出如下:

8.启动kwdb

systemctl start kaiwudb.service

输出如下:
在这里插入图片描述

查看状态:

systemctl status kaiwudb.service

输出如下
在这里插入图片描述

9.登录到命令行的kwdb

执行 add_user.sh 脚本创建数据库用户。如果跳过该步骤,系统将默认使用 root 用户,且无需密码访问数据库。

sudo /usr/local/kaiwudb/bin/kwbase sql --host=114.132.214.246:26257 --certs-dir=/etc/kaiwudb/certs

输出如下:
在这里插入图片描述

给kwdb创建用户
在这里插入图片描述

执行 add_user.sh 脚本创建数据库用户

./add_user.sh

输出如下:
在这里插入图片描述

测试使用:

创建数据库

以下示例创建一个名为 ts_db 的数据库。

CREATE TS DATABASE ts_db;

创建数据表

创建 t1 时序表并写入数据。

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

输出如下:
在这里插入图片描述

向表中写入数据。

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);

输出如下:
在这里插入图片描述

查看表的内容。

SELECT * FROM ts_db.t1;

输出如下:
在这里插入图片描述

以上提供了KWDB的发展,安装与测试使用过程,撒花完结

最后附上KWDB相关参考链接
KWDB参考地址如下:
下载地址: https://gitee.com/kwdb/kwdb/releases/tag/V2.2.0

安装部署文档: https://www.kaiwudb.com/kaiwudb_docs/#/oss_v2.2.0/quickstart/overview.html

视频参考B站地址: https://space.bilibili.com/1533338997


https://dhexx.cn/news/show-5496896.html

相关文章

Android WebView深度性能优化方案

一、启动阶段优化 预初始化策略 冷启动优化:在Application或后台线程提前初始化WebView new Thread(() -> {WebView preloadWebView new WebView(getApplicationContext());preloadWebView.loadUrl("about:blank"); }).start();WebView复用池 private…

Missashe考研日记-day20

Missashe考研日记-day20 1 高数 学习时间:2h30min学习内容: 今天当然是刷题啦,做不等式的证明板块的真题,证明题懂的都懂,难起来是真的一点思路都没有,这个板块还没做完,做完再总结题型。 2…

UE5 Chaos :官方文献总结 + 渲染网格体 (Render Mesh) 和模拟网格体 是如何关联的?为什么模拟网格体 可以驱动渲染网格体?

官方文献:https://dev.epicgames.com/community/learning/tutorials/pv7x/unreal-engine-panel-cloth-editor 1. 流程概述 本文档介绍了如何通过面板编辑器(Panel Editor)在Unreal Engine中生成基于面板的布料资源。流程主要包含从Marvelou…

【NLP】 自然语言处理笔记

NLP的全称是Natuarl Language Processing,中文意思是自然语言处理,是人工智能领域的一个重要方向。自然语言处理(NLP)就是在机器语言和人类语言之间沟通的桥梁,以实现人机交流的目的。 人类语言是抽象的信息符号,其中蕴含着丰富的语义信息,人类可以很轻松地理解其中的含…

(2)VTK C++开发示例 --- 绘制多面锥体

文章目录 1. 概述2. CMake链接VTK3. main.cpp文件4. 演示效果 更多精彩内容👉内容导航 👈👉VTK开发 👈 1. 概述 VTK C开发示例程序; 使用C 和VTK绘制一个多面锥体。 环境说明系统ubuntu22.04、windows11cmake3.22、3.2…

python每日一练

题目一 输入10个整数,输出其中不同的数,即如果一个数出现了多次,只输出一次(要求按照每一个不同的数第一次出现的顺序输出)。 解题 错误题解 a list(map(int,input().split())) b [] b.append(a[i]) for i in range(2,11):if a[i] not in b:b.append(a[i]) print(b)但是会…

第七届浙江省大学生网络与信息安全竞赛决赛Unserialize深度解析 1.0

花还会重新开,不同的春来了又来。 - 2025.4.11 0x01 声明 仅作为个人学习使用,仅供参考,欢迎交流 可能是新生赛缘故,突发奇想,想好好梳理此题,顺便写成参考,于是有了这篇文章 当然很多理解可…

记录一次TDSQL网关夯住故障

环境信息: TDSQL-MySQL同城双中心集群,集中式实例,一主三副本,每个中心两个db副本,每个中心一个VIP,V每个IP通过硬件做负载均衡指向该中心两个proxy,操作系统为麒麟v10 arm。 故障描述&#xf…

案例-索引对于并发Insert性能优化测试

前言 最近因业务并发量上升,开发反馈对订单表Insert性能降低。应开发要求对涉及Insert的表进行分析并提供优化方案。   一般对Insert 影响基本都在索引,涉及表已按创建日期做了分区表,索引全部为普通索引未做分区索引。 优化建议: 1、将UNIQUE改为HASH(64) GLOBAL IND…

【Python爬虫】简单案例介绍4

本文继续接着我的上一篇博客【Python爬虫】简单案例介绍3-CSDN博客 目录 3.4 完整代码 3.4 完整代码 此小节给出上述案例的完整代码, # encodingutf-8 import re, json, requests, xlwt, csv import pandas as pd from lxml import etree from bs4 import Beauti…