成章数据库安装体验

对标Redis的国产数据库

一位来自国产数据库的朋友想请我试用一下他们的产品。并且直言早期问题比较多,还请多多包涵。一般对于这种比较客观和友好的我都愿意试试。对于怼天怼地吊打谁的我个人就不尝试了。

他们中文名字叫“成章数据库“我就尝试从一个不了解产品的人的角度去安装尝试一下。我也和他们反馈了说这个怎么一个汉字都没有啊。(同样的话我以前对PingCAP的CTO黄东旭老师说过,后来TiDB的就都有中文了。不过是不是因为我说的就不知道了)官方意思这个产品主打海外。对于不在国内卷,而出去的产品我是赞赏的。

先说一下该产品对标Redis以及兼容Redis的KV的,我听到这个以后我就不解。我说Redis的流行度挺高、在他所适配的场景中没什么短板。你们这个产品的优势在哪里?原厂说我们是多线性读写支持SQL、持久化的。听到这里我就明白了这个产品的发力点在哪里。

那么等下就和Redis比较一下吧。根据原厂给的地址下载压缩包。

下载安装

  https://d143xau9fe26d8.cloudfront.net/eloqkv/centos7/rocksdb/eloqkv-1.0.10-amd64.tar.gz这个产品是二进制解压安装。

image.png

    这里我个人建议,其实rpm的安装更加友好一些。因为熟悉Redis的朋友只要rpm -ihv redis-7.0.8-1.el7.remi.x86_64.rpm这样一个命令就好了。这样一个好处是连环境变量的事情也解决了。而现在的方式,需要用户手工去配置。当然这些不是大问题,只是如果改良会更加好。(安装体验简单会让用户喜欢)数据库届堪称最复杂的Oracle,看看他23AI的安装。就两步(我实测可以运行的)

image.png

说回这个数据库,按照文档要建立一个ini配置文件,我于是给他建立了一个conf目录。(虽然有点强迫症的感觉,但是其他软件的目录管理都是这样,应该说这是一种约定俗成的规矩吧)

image.png

 然后再conf目录中我手工建立ini文件,把官网内容贴进去。我建议这里日后这个目录自己有,配置文件直接放进去。然后用户再按照文档要求,设置环境变量等。其实这里就回到我第一个问题,如果是rpm的安装这些都指定的话,这里就省略了。也不用指定路径启动。

启动数据库

然后就是启动这个数据库。

image.png

对了这种启动方式还有一个问题,就是我当前在那个目录运行log就在哪里。这样变成动态了,实际使用过程中导致了我好几个目录下都出现了log。所以这种应该指定到一个路径下为好。
然而这种启动会随着会话断开而关闭。那么最好是改成nohup eloqkv --config=/opt/EloqKV/conf/eloqkv.ini > log 2>&1 & 其实这种方式类似Kafka或者zookeeper的方式了。一般数据库很少这种操作。我更加倾向于systemctl start|status|stop service这种方式管理。

访问数据库

接下来要到激动人心的访问了。我看到这里有eloqkv-client。以为用这个访问。

image.png

不过原厂研发告诉我eloqkv-client下个版本会删除掉,我应该使用Redis的客户端 redis-cli来连接。这个操作很像mysql客户端连接StarRocks,所以我也习惯了。

image.png

我在同一台机器上既有Redis也有eloqkv,作为对比。Redis保持6379的默认端口。Eloqkv用16379以示区别。

image.png

一上来info的内容就不一样。只有这一点。对此原厂说,不是基于redis内核二次开发的,基本重写。也非常坦言比如类似monitor这种命令暂时还没支持。
最后在命令兼容性文档中看到了,几乎redis有的这里都有了。(我截图部分)

image.png

总体来说安装上面能改进不少,改进之后至少能让更多人用起来。随后原厂的CTO亲自下场,远程给我演示了并行的读写能力。看到整体CPU充分的调度了起来。在32核的机器上,成章KV的吞吐可以达到150万OPS,对比Redis只有30万OPS。我们探讨了Redis的单工作线程局限,和使用Redis Cluster提高CPU利用率的方案。

成章CTO介绍Redis Cluster虽然可以提高CPU利用率,但是存在易用性和可扩展性的问题。易用性是指Redis Cluster不支持跨节点数据访问和跨节点事务(MultiExec),往往需要业务指定HashTag。可扩展性是指Redis Cluster采用Gossip协议,集群性能随分片数增多而下降。最后又和另外一款基于RocksDB的持久化Redis产品进行了对比(这个我没用过),成章KV的性能也有明显优势,成章CTO从架构上解释了性能优势的原因,基于RocksDB的Redis产品需要同步写入RocksDB,性能同样受限于RcoksDB。而成章KV和Redis一样的直接操作内存结构,通过Checkpoint的方式把增量变化写入RocksDB,因而性能更好。

看上去是集合了两者优点,那么我觉得安装上再友好一点就好了。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值