【一文讲透(番外篇)】如何编译安装KWDB v2.0.4数据库

KaiwuDB

浪潮集团是中国领先的云计算、大数据服务商,拥有浪潮信息、浪潮软件、浪潮数字企业三家上市公司。主要业务涉及计算装备、软件、云计算服务、新一代通信、大数据及若干应用场景。已为全球一百二十多个国家和地区提供IT产品和服务。

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

alt

8 月 23 日,KaiwuDB 2.0 开源,社区版本名字叫 KWDB,让更多用户企业和开发者有机会以低成本享受前沿数据库架构技术对业务系统的赋能,让产品在更广泛的应用场景中打磨优化,合力共建高性能、高可用、高兼容、高扩展的智能物联数字基座。

KWDB 是一款面向 AIoT 场景的分布式多模数据库产品,支持在同一实例同时建立时序库和关系库并融合处理多模数据,具备千万级设备接入、百万级数据秒级写入、亿级数据秒级读取等时序数据高效处理能力,具有稳定安全、高可用、易运维等特点,一站式满足 AIoT 等场景下数据管理需求及关键行业核心系统的自主可控需求。

9 月 25 日,开源项目 KWDB 捐赠给开放原子开源基金会。

开务数据库系统V2.0 已通过GB 18030-2022认证及测试,详情参阅:​新一批通过GB 18030-2022认证及测试产品发布!

KWDB 2.0.4

9 月 30 日,KWDB 2.0.4 发版。发版说明如下。

新增特性

  1. 分布式架构
  • 优化数据库高可用能力,分布式集群支持多个节点非同时宕机。
  1. DDL 操作
  • 在线增删改字段:支持在线增加、删除字段,支持在线转换数据类型。
  • comment 支持:支持为时序引擎下的库、表、列添加、删除注释(comment),并支持查看、导入、导出相关注释。
  1. 数据查询
  • 定时连续查询:支持创建定时连续查询任务,按计划定时计算数据并将计算结果存储到指定的位置;支持查看、暂停、恢复、删除定时连续查询任务。
  • INSERT INTO SELECT 语句:支持通过 INSERT INTO SELECT 语句将时序数据计算结果存入关系表。
  • 时间日期函数: time_buckettime_bucket_gapfill 函数支持秒、分、小时、日、周、月、年为时间单位。
  1. 数据存储
  • 数据压缩:支持通过参数配置选择数据库系统使用的压缩算法,包括:gzip、lz4、lzma、lzo、Xz、zstd;支持通过 df 语句查看总存储空间大小及 squashfs 文件挂载个数。
  • 数据重组:支持通过定期数据重组,真正删除数据、增删改字段及乱序数据排序。
  1. 数据库运维
  • 完善数据库内帮助信息,通过 help 命令查看语法时,提供更为详细的信息。

重要变更

  1. 操作系统和环境
  • 新增对鲲鹏、龙蜥环境的支持。
  1. 使用语言及数据库连接方式
  • 支持通过 ODBC 及 Hibernate 框架协议连接数据库。
  • 允许普通用户删除用户自身的 Restful API 连接。
  • 优化 Kafka 连接数据库的写入性能。
  1. 升级说明
  • 优化升级规则,新增跳过版本检查强制升级能力。

KWDB 编译安装

本节将介绍如何在 Rocky Linux 9.4 操作系统编译安装 KWDB v2.0.4 数据库。

系统版本信息如下:

[shawnyan@rl9 ~]$ hostnamectl
 Static hostname: rl9.shawnyan.cn
Operating System: Rocky Linux 9.4 (Blue Onyx)
          Kernel: Linux 5.14.0-427.37.1.el9_4.x86_64
    Architecture: x86-64

笔者尝试在云峦 KeyarchOS 5.8 和 OpenCloudOS 9.2 上安装,结果都遇到问题,期待官方尽快支持。

云峦 KeyarchOS 是浪潮信息基于 Linux Kernel、龙蜥 OpenAnolis 等开源技术自主研发的一款服务器操作系统,支持 x86、ARM 等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。[^1]

1: https://www.ieisystem.com/keyarchos/product.html

OpenCloudOS 9 是 OpenCloudOS 社区联合伙伴共同研发的全链路服务器操作系统社区版本。通过内核,用户态软件的全面优化和打磨,为用户和业务提供更先进、更高性能的基础环境和服务能力,解决 CentOS 断供的问题。OpenCloudOS 9.2 内置 Linux Kernel 6.6,是迄今为止最新的长期支持(LTS)版本,包含新功能、硬件支持、安全增强和性能改进等重大更新。

更多内容参考:

  • 初探 OpenCloudOS 操作系统

具体步骤如下。

  1. 安装依赖。
dnf install protobuf protobuf-devel openssl openssl-devel xz-libs squashfs-tools libgcc glibc ncurses-devel
dnf install ca-certificates go cmake autoconf libatomic libstdc++-static git
# 需配置 epel 源
dnf install rust-lzma-sys-devel golang-x-tools-goyacc geos
  1. 添加环境变量。
echo 'export GOPATH=/root/go' >> ~/.bashrc
echo 'export GO111MODULE=off' >> ~/.bashrc
source ~/.bashrc
  1. 检出源代码。
mkdir -p /root/go/src/gitee.com
git clone https://gitee.com/kwdb/kwdb.git --depth=1 /root/go/src/gitee.com/kwbasedb
cd /root/go/src/gitee.com/kwbasedb
git submodule update --init
git submodule update --remote

输出。

Submodule 'kwbase/c-deps' (https://gitee.com/kwdb/kw-cdeps.git) registered for path 'kwbase/c-deps'
Submodule 'kwbase/vendor' (https://gitee.com/kwdb/kw-vendor.git) registered for path 'kwbase/vendor'
Submodule 'kwdbts2/third_party' (https://gitee.com/kwdb/kw-third_party.git) registered for path 'kwdbts2/third_party'
Cloning into '/root/go/src/gitee.com/kwbasedb/kwbase/c-deps'...
Cloning into '/root/go/src/gitee.com/kwbasedb/kwbase/vendor'...
Cloning into '/root/go/src/gitee.com/kwbasedb/kwdbts2/third_party'...
Submodule path 'kwbase/c-deps': checked out 'b9daa4eff6186a9bb89a5a2a42430588b99ecca1'
Submodule path 'kwbase/vendor': checked out '850e84d4aefb051877d495daab1415f96f7ed316'
Submodule path 'kwdbts2/third_party': checked out 'a13ee97fda57b5da2f9c2af9432b56107606601e'
  1. 编译源码。
mkdir build && cd build/
cmake ..
make
make install

输出。

[ 81%] Built target kwdbts2
[ 97%] Built target common
[ 98%] compile kwbase
Running make with -j4
GOPATH set to /root/go
gitee.com/kwbasedb/kwbase/pkg/cmd/kwbase
[ 98%] Built target kwbase
[100%] Built target gtest
Install the project...
-- Install configuration: "Debug"
-- Installing: /root/go/src/gitee.com/kwbasedb/install/bin/df.sh
-- Installing: /root/go/src/gitee.com/kwbasedb/install/bin/err_inject.sh
-- Installing: /root/go/src/gitee.com/kwbasedb/install/bin/query_kwbase_status.sh
-- Installing: /root/go/src/gitee.com/kwbasedb/install/bin/query_status.sh
-- Installing: /root/go/src/gitee.com/kwbasedb/install/bin/setup_cert_file.sh
-- Installing: /root/go/src/gitee.com/kwbasedb/install/bin/utils.sh
-- Installing: /root/go/src/gitee.com/kwbasedb/install/bin/kwbase
-- Installing: /root/go/src/gitee.com/kwbasedb/install/lib/libcommon.so
-- Installing: /root/go/src/gitee.com/kwbasedb/install/lib/libkwdbts2.so
  1. 查看二进制文件版本。
cd /root/go/src/gitee.com/kwbasedb/install/bin
export LD_LIBRARY_PATH=../lib
./kwbase version

输出。

KaiwuDB Version:  V2.0.4
Build Time:       2024/10/01 09:51:54
Distribution:
Platform:         linux amd64 (x86_64-redhat-linux)
Go Version:       go1.21.13 (Red Hat 1.21.13-3.el9_4)
C Compiler:       gcc 11.4.1 20231218 (Red Hat 11.4.1-3)
Build SHA-1:      d8f2a8c6281b17a635acb9977cea42eabb37b113
  1. 以单实例模式启动数据库。
./kwbase start-single-node --insecure --listen-addr=:26257 --background
  1. 检查节点状态。
[root@rl9 bin]# ./kwbase node status --insecure --host=:26257
  id |        address        |      sql_address      | build  |            started_at            |            updated_at            | locality |    start_mode     | is_available | is_live
-----+-----------------------+-----------------------+--------+----------------------------------+----------------------------------+----------+-------------------+--------------+----------
   1 | rl9.shawnyan.cn:26257 | rl9.shawnyan.cn:26257 | V2.0.4 | 2024-10-01 10:05:03.341852+00:00 | 2024-10-01 10:05:21.514418+00:00 |          | start-single-node | true         | true
(1 row)
  1. 通过客户端连接 KWDB,并查看版本号。
[root@rl9 bin]# ./kwbase sql --insecure
#
# Welcome to the KWDB SQL shell.
# All statements must be terminated by a semicolon.
# To exit, type: \q.
#
# Server version: KaiwuDB V2.0.4 (x86_64-redhat-linux, built 2024/10/01 09:51:54, go1.21.13 (Red Hat 1.21.13-3.el9_4), gcc 11.4.1 20231218 (Red Hat 11.4.1-3)) (same version as client)
# Cluster ID: bd710239-3925-4ca7-aacd-284e9d3ae3ed
#
# Enter \? for a brief introduction.
#
root@:26257/defaultdb> select version();
                                                                    version
------------------------------------------------------------------------------------------------------------------------------------------------
  KaiwuDB V2.0.4 (x86_64-redhat-linux, built 2024/10/01 09:51:54, go1.21.13 (Red Hat 1.21.13-3.el9_4), gcc 11.4.1 20231218 (Red Hat 11.4.1-3))
(1 row)

Time: 606.042µs
  1. 查看帮助信息。
root@:26257/defaultdb> help
You are using 'kwbase sql', KwDB's lightweight SQL client.
Type:
  \? or "help"      print this help.
  \q, quit, exit    exit the shell (Ctrl+C/Ctrl+D also supported).
  \! CMD            run an external command and print its results on standard output.
  \| CMD            run an external command and run its output as SQL statements.
  \set [NAME]       set a client-side flag or (without argument) print the current settings.
  \unset NAME       unset a flag.
  \show             during a multi-line statement or transaction, show the SQL entered so far.
  \h [NAME]         help on syntax of SQL commands.
  \hf [NAME]        help on SQL built-in functions.
  \l                list all databases in the KwDB cluster.
  \dt               show the tables of the current schema in the current database.
  \du               list the users for all databases.
  \d [TABLE]        show details about columns in the specified table, or alias for '
\dt' if no table is specified.

参考资料

  • https://gitee.com/kwdb/kwdb/releases/tag/V2.0.4
  • https://www.kaiwudb.com/kaiwudb_docs/#/oss_v2.0.4/release-notes/release-notes.html

Have a nice day ~


🌻 往期精彩 ▼

  • 国产分布式数据库开启新篇章!详解安全可靠测评结果公告(2024年第2号)
  • 「合集」MySQL 8.x 系列文章汇总
  • 「合集」三年50篇,TiDB干货全收录
  • 国产基础软件“出海”标杆炼成记
  • 几张图带你了解 TiDB 架构演进
  • Oracle 数据库全面升级为 23ai
  • MySQL 9.0 的 VECTOR 文档更新
  • 星辰资讯:TiDB v8.1.0 发版!稳!
  • 敢于公布BUG的国产数据库才是好数据库
  • 一文带你了解 GB 18030-2022 字符集
  • MySQL 9.0.0 新鲜出炉!支持向量类型
  • 即将告别PG 12,建议升级到PG 16.3版本
  • 一文带你了解 KING BASE 金仓数据库
  • 人大金仓 更名为 电科金仓
  • 如何选择适合的 MySQL Connector/J 版本
  • python-oracledb 已率先支持 Oracle 23ai
  • 后 EL 7 时代,PG 16 如何在 CentOS 7 上运行
  • 一文带你了解 Oracle 23ai 新特性 Vector 的基础用法

-- / END / --

👉 这里可以找到我

  • 微信公众号: 少安事务所
  • ITPUB: 少安事务所
  • TiDB 专栏: @ShawnYan
  • PGFans: 严少安
  • 墨天轮: 严少安

如果这篇文章为你带来了灵感或启发,就请帮忙点『』or『在看』or『转发』吧,感谢!ღ( ´・ᴗ・` )~

本文由 mdnice 多平台发布

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【Power Compiler手册】13.UPF多电压设计实现(16)

Golden UPF流程 Golden UPF流程是维护设计中UPF多电压电源意图的可选方法。它在整个综合、物理实现和验证步骤中使用原始的“Golden”UPF文件,以及由Design Compiler和IC Compiler II工具生成的supplemental UPF文件。图122比较了传统的UPF流程与Golden UPF流程。 Golden UPF…

如何提高LabVIEW编程效率

提高LabVIEW编程效率对开发者来说非常重要,尤其是在处理复杂项目或紧迫的开发周期时。以下是一些可以显著提升LabVIEW编程效率的技巧,从代码结构、工具使用到团队协作的多个角度进行详细分析: 1. 模块化设计 模块化设计 是提高代码可维护性和…

KPaaS平台多系统权限统一管理的便利性

多系统权限管理的困境如同枷锁般束缚企业发展,导致管理效率低下、操作流程复杂且权限不一致,给员工和企业带来诸多不便与风险。 免费体验多系统权限管理系统 www.kpaas.net 多系统权限给企业带来的不便利 (一)繁琐的登录与操作流…

食堂订餐系统小程序的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,商品管理,论坛管理,攻略信息管理,公告信息管理,基础数据管理 微信端账号功能包括:系统首页,商品&#xf…

windows端口被占用但是查不到进程的问题排查

在开发环境上经常遇到端口被占用,但是 netstat -ano|findstr 3306 查不到进程号,没法强杀解决。 这种情况,很有可能端口被排除了,可用命令: netsh interface ipv4 show excludedportrange protocoltcp 可以看到mysql的…

[Git] Git下载及使用 从入门到精通 详解(附下载链接)

前言 目录 Git概述 简介 下载 Git代码托管服务 Git常用命令 Git全局配置 获取Git仓库 在本地初始化一个Git仓库 从远程仓库克隆 基本概念 工作区文件状态 本地仓库操作 远程仓库操作 分支操作 标签操作 在IDEA中使用Git 在IDEA中配置Git 本地仓库操作 远程仓…

前端基础(三十九):撤消与重做

效果 源码 <button id"undo" onclick"onHistory(-1)">撤消</button> <button id"redo" onclick"onHistory(1)">重做</button><button onclick"operation(Operation 1)">操作1</button>…

蓝牙定位的MATLAB程序,四个锚点、三维空间

目录 程序描述 运行结果 程序描述 这段代码通过RSSI信号强度实现了在三维空间中的蓝牙定位&#xff0c;展示了如何使用锚点位置和测量的信号强度来估计未知点的位置。代码涉及信号衰减模型、距离计算和最小二乘法估计等基本概念&#xff0c;并通过三维可视化展示了真实位置与…

0.0.0.0 127.0.0.1等几个特殊的IP地址

0.0.0.0 127.0.0.1 localhost 255.255.255.0 255.255.255.255 这都是些什么地址&#xff0c;代表了什么意思。 网络为系统服务器&#xff0c;系统需要网络。 这些地址在系统和网络都存在&#xff0c;作用和意思甚至基本相同。 一、0.0.0.0 在路由中&#xff1a;0.0.0.0表…

用了这么久Java,您知道什么是装箱和拆箱吗?

Java中的装箱和拆箱 在Java中&#xff0c;装箱&#xff08;Boxing&#xff09;和拆箱&#xff08;Unboxing&#xff09;是自动类型转换过程&#xff0c;它们涉及到基本数据类型&#xff08;如int、double、char等&#xff09;和它们对应的包装类&#xff08;如Integer、Double…

2024年最新详解项目管理系统:让你从小白到高手的蜕变

一、项目管理系统的重要性 项目管理系统在当今企业中发挥着至关重要的作用。首先&#xff0c;在提高工作效率方面&#xff0c;它通过自动化任务分配、进度跟踪和文档管理等功能&#xff0c;大幅减少手动操作和沟通成本。例如&#xff0c;禅道提供了强大的任务管理功能&#xf…

Vue 脚手架学习

1.使用 Vue 脚手架 1.1 初始化脚手架 1.1.1 具体步骤 第一步&#xff08;仅第一次执行&#xff09;&#xff1a;全局安装vue/cli。 npm install -g vue/cli 第二步&#xff1a;切换到你要创建项目的目录&#xff0c;然后使用命令创建项目 vue create xxxx 第三步&#xff1a;启…

C盘一红就卡顿到不行?为什么呢?

前言 有小伙伴最近来咨询电脑卡顿问题&#xff0c;一开始小白还以为只是寻常的硬盘坏了&#xff0c;并没有多想。 直到我问清楚之后&#xff0c;才发现他的电脑卡顿是因为C盘快爆了…… 好家伙&#xff0c;一个100GB的C盘用到只剩下8GB左右的空闲空间&#xff0c;这电脑不卡…

【优选算法】(第三十二篇)

目录 ⼆进制求和&#xff08;easy&#xff09; 题目解析 讲解算法原理 编写代码 字符串相乘&#xff08;medium&#xff09; 题目解析 讲解算法原理 编写代码 ⼆进制求和&#xff08;easy&#xff09; 题目解析 1.题目链接&#xff1a;. - 力扣&#xff08;LeetCode&a…

大厂养不起大模型?

身处于观望期的大模型赛道&#xff0c;似乎任何风吹草动&#xff0c;都让市场有了不同以往的波动。 近日&#xff0c;摩根士丹利发布报告称&#xff0c;中国AI正在面临更大的变现问题&#xff0c;文中直接指出AI应用先行者业绩不及预期&#xff0c;金山办公和万兴科技在推出AI…

大数据存储计算平台EasyMR:多集群统一管理助力企业高效运维

随着全球企业进入数字化转型的快车道&#xff0c;数据已成为企业运营、决策和增长的核心驱动力。为了处理海量数据&#xff0c;同时应对数据处理的复杂性和确保系统的高可用性&#xff0c;企业往往选择部署多个Hadoop集群&#xff0c;这样的策略可以将生产环境、测试环境和灾备…

USB 概述及协议基础

文章目录 1 USB 是什么&#xff1f;2 USB 的特点3 USB 的拓扑结构4 电气特性5 USB 的线缆、插头及插座6 插入检测机制7 描述符8 枚举过程9 USB 的包结构与传输过程9.1 USB的包结构及包的分类9.2 令牌包9.3 数据包9.4 握手包9.5 特殊包9.6 如何处理数据包 10 USB 四种传输类型10…

「OC」NSArray的底层逻辑和遍历方法

「OC」NSArray的底层逻辑和遍历方法 文章目录 「OC」NSArray的底层逻辑和遍历方法前言NSArray的底层逻辑占位符init后的空NSArray只有单个元素的NSArray大于一个元素的NSArray可变数组NSMutableArray总结图片 遍历NSArray1. for循环2. 枚举3.for—in4. 多线程1.for 循环&fo…

AIGC产品经理面试,看这里!送你20道高频面试题及分析PDF文件!

作者简介 小6&#xff0c;世界五百强产品出身&#xff0c;从0到1搭建公司IT团队&#xff0c;现任深圳某互联网公司IT负责人&#xff0c;<极客时间>课程讲师。 愿景&#xff1a;希望可以让你在这里从对产品经理的一无所知到至少能找份相关工作&#xff01; 聊点AI面试的&a…

MVS海康工业相机达不到标称最大帧率

文章目录 一、相机参数设置1、取消相机帧率限制2、修改相机图像格式3、调整相机曝光时间4、检查相机数据包大小&#xff08;网口相机特有参数&#xff09;5、 恢复相机默认参数6、 相机 ADC 输出位深调整 二、系统环境设置1、 网口相机设置2、 USB 相机设置 一、相机参数设置 …