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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/76834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go:接口

接口既约定 Go 语言中接口是抽象类型 ,与具体类型不同 ,不暴露数据布局、内部结构及基本操作 ,仅提供一些方法 ,拿到接口类型的值 ,只能知道它能做什么 ,即提供了哪些方法 。 func Fprintf(w io.Writer, …

一、Appium环境安装

找了一圈操作手机的工具或软件,踩了好多坑,最后决定用这个工具(影刀RPA手机用的也是这个),目前最新的版本是v2.17.1,是基于nodejs环境的,有两种方式,我只试了第一种方式,第二种方式应该是比较简…

【玩转全栈】—— Django 连接 vue3 保姆级教程,前后端分离式项目2025年4月最新!!!

本文基于之前的一个旅游网站,实现 Django 连接 vue3,使 vue3 能携带 CSRF Token 发送 axios 请求给后端,后端再响应数据给前端。想要源码直接滑倒底部。 目录 实现效果 解决跨域 获取 csrf-token 什么是 csrf-token ? CSRF攻击的…

dify部署,ollama部署,拉取模型,创建ai聊天应用

dify下载安装 dify1.0.1 windos安装包百度云盘地址 通过网盘分享的文件:dify-1.0.1.zip 链接: 百度网盘 请输入提取码 提取码: 1234 dify安装包 linux安装包百度云盘地址 通过网盘分享的文件:dify-1.0.1.tar.gz 链接: 百度网盘 请输入提取码 提取码…

docx文档转为pdf文件响应前端

1、转换文件&#xff08;docx~pdf&#xff09; 1.引入pom依赖 <dependency><groupId>com.aspose</groupId><artifactId>aspose-words</artifactId><version>20.12.0</version> </dependency>2.读取docx文档数据-转换 // 初…

网络安全中信息收集需要收集哪些信息了?汇总

目录 1. 域名信息 2. IP地址与网络信息 3. 备案与注册信息 4. Web应用与中间件信息 5. 操作系统与服务器信息 6. 敏感文件与配置文件 7. 社交工程信息 8. 证书与加密信息 9. API与接口信息 10. 外部威胁情报 11. 历史数据与缓存 常用工具与技术&#xff1a; 在网络…

【锂电池SOH预测】PSO-BP锂电池健康状态预测,锂电池SOH预测(Matlab完整源码和数据)

预测效果 基于PSO-BP算法的锂电池健康状态预测研究 一、引言 1.1 研究背景与意义 在当今社会&#xff0c;锂电池凭借其高能量密度、长寿命及环境友好等特性&#xff0c;在现代能源系统中占据着举足轻重的地位。从消费电子领域如智能手机、笔记本电脑&#xff0c;到动力领域中…

智能车摄像头开源—9 动态权、模糊PID、速度决策、路径优化

目录 一、前言 二、动态权 1.概述 2.偏差值加动态权 三、模糊PID 四、速度决策 1.曲率计算 2.速度拟合 3.速度控制 五、路径 六、国赛视频 一、前言 在前中期通过识别直道、弯道等元素可进行加减速操作实现速度的控制&#xff0c;可进一步缩减一圈的运行速度&#xff…

过往记录系列 篇五:市场黑天鹅事件历史梳理

文章目录 系列文章文章地址文章摘要文章预览系列文章 过往记录系列 篇一:牛市板块轮动顺序梳理 过往记录系列 篇二:新年1月份(至春节前)行情历史梳理 过往记录系列 篇三:春节行情历史梳理 过往记录系列 篇四:年报月行情历史梳理 文章地址 原文审核不通过(理由:“违反…

Mysql--基础知识点--85.1--Innodb自适应哈希索引

1. 自适应哈希索引的用途 InnoDB 的自适应哈希索引&#xff08;Adaptive Hash Index, AHI&#xff09;是 MySQL 数据库引擎中一项智能优化查询性能的功能。其核心作用如下&#xff1a; 加速等值查询 哈希索引通过哈希函数将键映射到固定位置&#xff0c;实现 O(1) 时间复杂度的…

SQL优化技术分享:从 321 秒到 0.2 秒的性能飞跃 —— 基于 PawSQL 的 TPCH 查询优化实战

在数据库性能优化领域&#xff0c;TPC-H 测试集是一个经典的基准测试工具&#xff0c;常用于评估数据库系统的查询性能。本文将基于 TPCH 测试集中的第 20个查询&#xff0c;结合 PawSQL 自动化优化工具&#xff0c;详细分析如何通过 SQL 重写和索引设计&#xff0c;将查询性能…

SpringBoot3-web开发笔记(下)

内容协商 实现&#xff1a;一套系统适配多端数据返回 多端内容适配&#xff1a; 1. 默认规则 SpringBoot 多端内容适配。 基于请求头内容协商&#xff1a;&#xff08;默认开启&#xff09; 客户端向服务端发送请求&#xff0c;携带HTTP标准的Accept请求头。 Accept: applica…

Graylog 索引配置详解与优化建议

Graylog 索引配置详解与优化建议 &#x1f680; 前言一、索引集基础信息 &#x1f4da;二、分片&#xff08;Shards&#xff09;与副本&#xff08;Replicas&#xff09;设置 ⚙️1. 分片 (Shards)2. 副本 (Replicas) 三、 字段类型刷新间隔&#xff08;Field Type Refresh Int…

数据结构*包装类泛型

包装类 什么是包装类 在讲基本数据类型的时候&#xff0c;有提到过包装类。 基本数据类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean 我们知道&#xff1a;基本数据类型并不是对象&#xff0c;没有对象所具有的方法和属…

【JDBC-54.1】MySQL JDBC连接字符串常用参数详解

在Java应用程序中连接MySQL数据库时&#xff0c;JDBC连接字符串是建立连接的关键。一个配置得当的连接字符串不仅能确保连接成功&#xff0c;还能优化性能、增强安全性并处理各种连接场景。本文将深入探讨MySQL JDBC连接字符串的常用参数及其最佳实践。 1. 基本连接字符串格式…

[ctfshow web入门] web37

信息收集 题目有了变化&#xff0c;include$c if(isset($_GET[c])){$c $_GET[c];if(!preg_match("/flag/i", $c)){include($c);echo $flag;}}else{highlight_file(__FILE__); }解题 通过协议解题 参考[ctfshow web入门] web31 同样是include&#xff0c;之前的方…

Linux 调试代码工具:gdb

文章目录 一、debug vs release&#xff1a;两种程序形态的本质差异1. 什么是 debug 与 release&#xff1f;2. 核心差异对比 二、为什么需要 debug&#xff1a;从项目生命周期看调试价值1. 项目开发流程中的调试闭环&#xff08;流程图示意&#xff09;2. Debug 的核心意义与目…

Python设计模式:命令模式

1. 什么是命令模式&#xff1f; 命令模式是一种行为设计模式&#xff0c;它将请求封装为一个对象&#xff0c;从而使您能够使用不同的请求、队列或日志请求&#xff0c;以及支持可撤销操作。 命令模式的核心思想是将请求的发送者与请求的接收者解耦&#xff0c;使得两者之间的…

nlp面试重点

深度学习基本原理&#xff1a;梯度下降公式&#xff0c;将损失函数越来越小&#xff0c;最终预测值和实际值误差比较小。 交叉熵&#xff1a;-p(x)logq(x)&#xff0c;p(x)是one-hot形式。如果不使用softmax计算交叉熵&#xff0c;是不行的。损失函数可能会非常大&#xff0c;…

Leetcode:二叉树

94. 二叉树的中序遍历 class Solution {public List<Integer> inorderTraversal(TreeNode root) {TreeNode cur root;Stack<TreeNode> stack new Stack<>();List<Integer> list new ArrayList<>();while (!stack.isEmpty() || cur ! null) {…