在测试浪潮 KaiwuDB-lite 后,留下几个大字 "你别挨骂了"
❝开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,可以解决你的问题。加群请联系 liuaustin3 ,(共3300人左右 1 + 2 + 3 + 4 +5 + 6 + 7 + 8 +9)(1 2 3 4 5 6 7群均已爆满,开8群近400 9群 300+,开10群PolarDB专业学习群100+)
下面是我和KaiwuDB的社区的老师的对话
我: 什么上次我想了解的国产时序KaiwuDB-lite版本可以试用了,为什么,我没兴趣了。上次问完想了解一下,就没声音了,这都几个月了,啊!
KaiwuDB老师:不是刘老师,上次是有原因的,没有给您回复,是......我: 别说了,是这个原因对吗? 和XXXX原因对吗
我:呵呵,废话不说了,这次是什么版本,我要最新的。怎么说XXXX如果是真的,那我可就写出来,可别怪我,嘴毒,心狠,刺头刘。
KaiwuDB老师:可以没有问题,一定不会的。我:好,那就测试.
看懵了吧! 懵了就对了,别问和一个KaiwuDB-lite谣言有关,上次就有人在我文章下面留言区说KaiwuDB是XXXX。对了这次要干嘛来着,对了这次要试试KaiwuDB-lite 3.0 的客户端。
是呀,现在的数据库厂商,不是和云靠边,就是弄AI的,不过搞线下客户端的没几家,但要布局搞大的,都弄线下客户端,别问为什么,问你就是外行。另外呢,国产数据库厂商容易出名,比如一些谣言什么的,那传得可快了。
这次我想试试国产时序KaiwuDB-lite 3.0,上次我问的是2.0,没搭理我,我是有点生气,我想谣言XXXX是真的,他们不敢让我测,所以这次我就是要找茬。
当下搞数据库的厂家基本都杀疯了,但搞单机客户端轻量级的数据库产品,一个手5根手指头就够了,至于哪些,SQLite算一个,还有之前那个谁,还有后那个谁谁,你们懂得。
这次是KaiwuDB-lite 3.0 ,测试这个部分也是有原因的,现在客户端的数据库产品太少了,除了大面积嵌入式SQlite,也就没有太多产品,国内更是少了又少。所以KaiwuDB-lite 3.0 我是非常有兴趣试试,当然也和那个谣言有关。
系统不是随便谁都能获得的,这个产品他能卖钱,且已经中标了(看上面的图),产品我拿到的是带license的版本, 另外就是那个谣传就是,一些人谣传KaiwuBD-lite 是套壳PostgreSQL。
为什么有的数据库公司,要开发客户端的数据库产品,或者叫嵌入式的数据库产品,这在一个数据库企业里面象征着更多的客户需求,更广的数据库适用范围,尤其在一些严苛的环境,在一些网络部署并不发达的工业制造,生产型企业,有着大量的使用场景,一些移动的客户端,集成客户端等一体化产品,更是需要线下的独立的小型数据库系统来服务这些设备。
所以这样的数据库产品,签单就是的大单。但如果是套壳的,那就...... 废话不说了,先试试这个移动客户端的数据库产品KaiwuDB-lite3.0 是怎么回事。
1 解压产品,设置好license
Inspur.lic Y kaiwu kaiwudb-lite-v3.1.0-linux-amd64.tar.gz
root@kaiwudb:~# cd kaiwu
root@kaiwudb:~/kaiwu# ls
data kaiwudb_lite-3.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl kaiwudb_lite-3.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
include kaiwudb_lite-3.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl libkaiwudb_lite.so
kaiwudb-lite.conf kaiwudb_lite-3.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
kaiwudb_lite kaiwudb_lite-3.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
root@kaiwudb:~/kaiwu#
我以为这个数据库需要编译,想多了,因为PG安装大多都是要编译的,解压后,直接一条命令,启动通过数据库。
root@kaiwudb:~/kaiwu# ls
data kaiwudb_lite-3.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl kaiwudb_lite-3.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
include kaiwudb_lite-3.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl libkaiwudb_lite.so
kaiwudb-lite.conf kaiwudb_lite-3.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
kaiwudb_lite kaiwudb_lite-3.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
root@kaiwudb:~/kaiwu# ./kaiwudb_lite
[LOG] 2025-12-23 18:20:41.29 UTC+8, INFO, kaiwudb.Server.ParseStartupConfig, SERVER, start from config file: '/root/kaiwu/kaiwudb-lite.conf'
listening on "ip = 127.0.0.1;port = 36257;"
工作了,咱们也得登录上去看看是不是PG套壳的,如果是那就二话不说曝光他。文档上写着,需要通过PG的psql客户端来登录,安装完PG客户端,马上登录KaiwuDB-lite3.0.
root@kaiwudb:~/kaiwu# psql -h 127.0.0.1 -p 36257 -U admin
psql (16.1 (Ubuntu 16.1-1.pgdg22.04+1), server 9.5.0)
Type "help"forhelp.
admin=# create database test;
ERROR: SqlException occured with severity = ERROR, sqlstate = 22000, message = Parser Error: syntax error at or near "database"
LINE 1: create database test;
^
admin=# CREATE DATABASE TEST;
ERROR: SqlException occured with severity = ERROR, sqlstate = 22000, message = Parser Error: syntax error at or near "DATABASE"
LINE 1: CREATE DATABASE TEST;
^
admin=# create schema test;
CREATE
admin=# CREATE TABLE test.orders (
order_id BIGINT,
user_id BIGINT,
amount DECIMAL
);
CREATE
admin=# select * from schema
admin-# ;
ERROR: SqlException occured with severity = ERROR, sqlstate = 22000, message = Catalog Error: Table with name schema does not exist!
Did you mean "information_schema.schemata"?
LINE 1: select * from schema
^
admin=# show tables from test;
table_name
------------
orders
(1 row)
admin=# select sql from kaiwudb_tables() where table_name = 'orders';
sql
----------------------------------------------------------------------------------
CREATE TABLE test.orders(order_id BIGINT, user_id BIGINT, amount DECIMAL(18,3));
(1 row)
admin=#
弄到这里,我本来想着轻轻松松就能证明,KaiwuDB-Lite是一个PG套壳的数据库,可惜了上面的操作大家也都看到了,不能说是一点和PG不一样,只能说这根本不是PG。
我仔细阅读了用户手册,数据库的理念和管理,我似曾相识,有点SQLite的小影子,也有点MySQL的小痕迹,可这字段类型怎么又和PG一样,我彻底凌乱了,这是自研的,否则我得不出套壳能套出3种不同的风格的数据库产品。
但是我还是不死心,想从数据库文件中找出点痕迹,说明他是套壳的,可打开数据库系统文件,我又凌乱了,这和我见过的数据库都不一样,SQLite,PG,MySQL没有一个系统文件里面是这样的。
那我找找配置文件,按照文档我找到了KaiwuDB-Lite.conf,
root@kaiwudb:~/kaiwu# cat kaiwudb-lite.conf
# kaiwudb-lite find config file 'kaiwudb-lite.conf' first from dirtecory provide by commond parameters, i.e., -D or --data,
# then the directory same as program kaiwudb_lite, last the working directory.
# if no config file found in these path, then start kaiwudb-lite server use default value.
# for kaiwudb-lite server:
[server]
ip = 127.0.0.1 # ip
port = 36257 # default 36257, should in range [1024, 65535]
# if -D or --data provide in commond, then the corresponding value here with be disabled
# supports relative and absolute paths, with relative paths generated in the current execution directory
data_dir = /data
log_dir = /data/log
# threads = 16 # [1, 2147483647 (2^31-1)]
# KB, MB, GB, TB for 1000^i units or KiB, MiB, GiB, TiB for 1024^i units
# memory_limit = 32 GiB # [32 MiB, 9007199254740991 (2^53-1) bytes]
# for logging
enable_logging = true# false, true
logging_mode = LEVEL_ONLY # LEVEL_ONLY, DISABLE_SELECTED, ENABLE_SELECTED
# disabled_log_types = '' #
# enabled_log_types = '' #
logging_level = WARN # TRACE, DEBUG, INFO, WARN, ERROR, FATAL
logging_storage = file # memory, stdout, file
auto_prune = false# if comment out this line, default value for "auto_prune" is true
enable_uds = false
:uds_file_path = /tmp/kaiwudb_lite # uds_file for accept req
ignore_db_noexists = true
看完,我又懵了,这和PG,MySQL,Sqlite,还是哪里都不挨着,完了我这找人茬,没找到呀!那我在配置文件中找一些可能的蛛丝马迹,我随即整理了一个配置信息表
KaiwuDB-Lite 日志配置信息表
| enable_logging | truefalse | true | true 表示开启日志记录,false 表示关闭日志记录。 |
| logging_mode | LEVEL_ONLYDISABLE_SELECTED / ENABLE_SELECTED | • LEVEL_ONLY:仅按日志级别过滤• DISABLE_SELECTED:黑名单模式,需配合 disabled_log_types 使用• ENABLE_SELECTED:白名单模式,需配合 enabled_log_types 使用 | |
| disabled_log_types | kaiwudb.FileSystem.LocalFileSystem.OpenFile,kaiwudb.ClientContext.BeginQuery | DISABLE_SELECTED 模式使用,指定需要排除的日志类型。 | |
| enabled_log_types | kaiwudb.FileSystem.LocalFileSystem.OpenFile,kaiwudb.ClientContext.BeginQuery | ENABLE_SELECTED 模式使用,指定需要保留的日志类型。 | |
| logging_level | TRACEDEBUG / INFO / WARN / ERROR / FATAL | WARN | TRACE 到最严重的 FATAL。 |
| logging_storage | filememory / stdout | file | • file:写入日志文件• memory:写入内存(适合嵌入式 / 调试)• stdout:输出到标准输出 |
在整理完这个配置表后,我越看越没有底气,或者不在想在找茬,找出谣传的KaiwuDB-lite是PG套壳的产品。因为看到logging_storage中,其中可以将日志设置存储到内存中,这样的设置在PG,MYSQL,SQLite都没有,同时从日志可以配置的一些参数的概念我也找不到数据库套壳的蛛丝马迹。
最后我打开了KaiwuDB-lite的日志,想碰碰运气,看看能不能幸运的发现他是套壳的。不过没有给我任何的运气,找不到,日志里面的格式没有和任何的数据库日志里面的相似的地方。
最后这个是KaiwuDB-lite版本的数据目录,也就是存放数据的目录。
KaiwuDB老师:刘老师,您这边2个礼拜,测的怎么样,您觉得我们国产时序KaiwuDB-lite是套壳的吗?
我:我嘛时候说你们是套壳的了,但你们这个语句一部分像PG。
KaiwuDB老师:刘老师,借用您天津相声经典,我也送您一句,别挨骂了!和架构师沟通那种“一坨”的系统,推荐只能是OceanBase,Why ?
OceanBase Hybrid search 能力测试,平换MySQL的好选择
写了3750万字的我,在2000字的OB白皮书上了一课--记 《OceanBase 社区版在泛互场景的应用案例研究
OceanBase 6大学习法--OBCA视频学习总结第六章
OceanBase 6大学习法--OBCA视频学习总结第五章--索引与表设计
OceanBase 6大学习法--OBCA视频学习总结第五章--开发与库表设计
OceanBase 6大学习法--OBCA视频学习总结第四章 --数据库安装
OceanBase 6大学习法--OBCA视频学习总结第三章--数据库引擎
OceanBase 架构学习--OB上手视频学习总结第二章 (OBCA)
OceanBase 6大学习法--OB上手视频学习总结第一章
没有谁是垮掉的一代--记 第四届 OceanBase 数据库大赛
跟我学OceanBase4.0 --阅读白皮书 (OB分布式优化哪里了提高了速度)
跟我学OceanBase4.0 --阅读白皮书 (4.0优化的核心点是什么)
跟我学OceanBase4.0 --阅读白皮书 (0.5-4.0的架构与之前架构特点)
跟我学OceanBase4.0 --阅读白皮书 (旧的概念害死人呀,更新知识和理念)
OceanBase 学习记录-- 建立MySQL租户,像用MySQL一样使用OB
“合体吧兄弟们!”——从浪浪山小妖怪看OceanBase国产芯片优化《OceanBase “重如尘埃”之歌》
MongoDB “升级项目” 大型连续剧(3)-- 自动校对代码与注意事项
MongoDB “升级项目” 大型连续剧(2)-- 到底谁是"der"
MongoDB “升级项目” 大型连续剧(1)-- 可“生”可不升
MongoDB 大俗大雅,上来问分片真三俗 -- 4 分什么分
MongoDB 大俗大雅,高端知识讲“庸俗” --3 奇葩数据更新方法
MongoDB 大俗大雅,高端的知识讲“通俗” -- 2 嵌套和引用
MongoDB 大俗大雅,高端的知识讲“低俗” -- 1 什么叫多模
MongoDB 合作考试报销活动 贴附属,MongoDB基础知识速通
MongoDB 使用网上妙招,直接DOWN机---清理表碎片导致的灾祸 (送书活动结束)
MongoDB 2023年度纽约 MongoDB 年度大会话题 -- MongoDB 数据模式与建模
MongoDB 麻烦专业点,不懂可以问,别这么用行吗 ! --TTL
免费PolarDB云原生课程,听课“争”礼品,重塑云上知识,提高专业能力
非“厂商广告”的PolarDB课程:用户共创的新式学习范本--7位同学获奖PolarDB学习之星
“当复杂的SQL不再需要特别的优化”,邪修研究PolarDB for PG 列式索引加速复杂SQL运行
“PostgreSQL” 高性能主从强一致读写分离,我行,你没戏!
POLARDB 添加字段 “卡” 住---这锅Polar不背
PolarDB 版本差异分析--外人不知道的秘密(谁是绵羊,谁是怪兽)
PolarDB 答题拿-- 飞刀总的书、同款卫衣、T恤,来自杭州的Package(活动结束了)
PolarDB for MySQL 三大核心之一POLARFS 今天扒开它--- 嘛是火
PostgreSQL 新版本就一定好--由培训现象让我做的实验
说我PG Freezing Boom 讲的一般的那个同学,专帖给你,看看这次可满意
PostgreSQL 无服务 Neon and Aurora 新技术下的新经济模式 (翻译)
“PostgreSQL” 高性能主从强一致读写分离,我行,你没戏!
全世界都在“搞” PostgreSQL ,从Oracle 得到一个“馊主意”开始
PostgreSQL 加索引系统OOM 怨我了--- 不怨你怨谁
PostgreSQL “我怎么就连个数据库都不会建?” --- 你还真不会!
PostgreSQL 稳定性平台 PG中文社区大会--杭州来去匆匆
PostgreSQL 分组查询可以不进行全表扫描吗?速度提高上千倍?
POSTGRESQL --Austindatabaes 历年文章整理
PostgreSQL 查询语句开发写不好是必然,不是PG的锅
这个 PostgreSQL 让我有资本找老板要 鸡腿 鸭腿 !!
MySQL相关文章
一篇为MySQL用户,分析版本核心差异的文章--8.028-8.4的差异
那个MySQL大事务比你稳定,主从延迟低,为什么? Look my eyes! 因为宋利兵宋老师