成章数据库安装体验

对标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,因而性能更好。

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华为数通——OSPF

正掩码:/24 255.255.255.0 反掩码: 255.255.255.255 -255.-255.-255.0 0.0.0.255 例如掩码:255.255.252.0 反掩码:0.0.3.255 在反掩码里面,0 bit 表示精确匹配,1…

STM32上实现spwm调制原理分析

在STM32微控制器上实现SPWM(正弦脉宽调制,Sinusoidal Pulse Width Modulation)调制的核心是利用高频载波(三角波)与低频基波(正弦波)作比较得出。 那么在STM32里三角波和正弦波分别是什么&…

热电阻温度计的测量电路

热电阻温度计的测量电路,为达到高精度测量,通常会采用电桥测量原理,并结合适当的热电阻类型和连接方式。 惠斯通电桥是用于测量一组电阻式元件阻值变化的电路。该电路具有两个并联电阻支路,充当激励电压 VEXCITATION 的分压器。每…

无霍尔BLDC驱动

目前主要的无霍尔控制方案是基于反电势检测信 息判断换相点,本文研究反电势在 PWM - OFF 点的检 测方案确定换相点。 1. 反电动势检测方案 BLDC 的模型做等效,将线圈阻抗看成是一个 线性电阻和一个储能电感的等效,其等效电路图如图 1所示。 电机三相绕组输出端电压的电压…

【Java】已解决java.io.UnsupportedEncodingException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.io.UnsupportedEncodingException异常 在Java编程中,java.io.UnsupportedEncodingException异常通常发生在尝试使用java.nio.charset.Charset或者它的旧版本…

如何去除VisualStudioCode最新版本出现的两条横线

作为一个对频繁更新有些抗拒的人,我曾多次遇到在更新后出现莫名问题的情况。然而,由于最近一次更新已经有一段时间了,我觉得或许这次会带来一些更好的设计或其他改进。于是,我决定更新Visual Studio Code,并分享一下我…

R语言 | 绘制带P值的差异柱状图

原文链接:R语言 | 绘制带P值的差异柱状图 本期教程 小杜的生信笔记,自2021年11月开始做的知识分享,主要内容是R语言绘图教程、转录组上游分析、转录组下游分析等内容。凡是在社群同学,可免费获得自2021年11月份至今全部教程&…

CVE-2023-50563(sql延时注入)

简介 SEMCMS是一套支持多种语言的外贸网站内容管理系统(CMS)。SEMCMS v4.8版本存在SQLI,该漏洞源于SEMCMS_Function.php 中的 AID 参数包含 SQL 注入 过程 打开靶场 目录扫描,发现安装install目录,进入,…

2024全国各地高考录取分数线一览表(含一本、二本、专科)

2024年高考录取分数线陆续公布,上大学网(www.sdaxue.com)为大家整理全国31个省市高考录取分数线汇总,包括本科批、专科批和特殊类招生控制分数线汇总,来看看你的省份多少分能上大学吧。 一、2024年全国高考录取线一览表 1、宁夏 一本线&…

Adaboost集成学习 | Adaboost集成学习特征重要性分析(Python)

目录 效果一览基本介绍模型设计程序设计参考资料效果一览 基本介绍 Adaboost集成学习特征重要性分析(Python)Adaboost(自适应增强)是一种常用的集成学习方法,用于提高机器学习算法的准确性。它通过组合多个弱分类器来构建一个强分类器。在Adaboost中,每个弱分类器都被赋予…

利用ChatGPT辅助撰写课题申报书中的研究框架与内容设计全攻略指南

欢迎关注EssayBot,为大家带来最酷最有效的智能AI学术科研写作攻略。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥沟通:yida985 撰写课题申报书是启动科研项目的第一个步骤,而研究框架与内容设计又是这一过程中的关键要素&#xff0…

探索FlowUs息流:个人和团队知识管理稳定解决方案|FlowUs稳定保障你的笔记安全无忧

FlowUs息流:稳定运营保障你的笔记安全无忧 在知识管理工具的选择上,稳定性是用户最关心的问题之一。FlowUs息流以其稳定的运营记录,为用户提供了一个可靠的工作环境。我们深知,一个知识管理平台的稳定性直接影响到团队的生产力和…

LoRaWAN网关源代码分析(基础概念篇)

目录 一、简介 1、lora_gateway 2、packet_forwarder 二、目录结构 1、lora_gateway 2、packet_forwarder 一、简介 LoRaWAN网关的实现主要依赖两个源代码:lora_gateway和packet_forwarder。接下来,我们将从分析源代码入手,移植LoRaWAN源…

SpringBoot-通过注解@Vuale从全局配置文件中获取数据

除了通过注解ConfigurationProperties让JavaBean的所有属性和全局配置文件中配置项建立关联关系外,我们spring提供了一个Value注解,获取全局配置文件中的某个配置项的数据 接下来,我们重点说一下两个注解的的区别: Configuration…

听说你还不会用Dagger2?Dagger2 For Android最佳实践教程

Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(TAG,chef.cook()); } } 可以看到,在使用Dagger2的时候,使用者的代码会变得非常简洁。但是&#…

std::bind与std::ref配合使用时要注意的几个问题

目录 1 假如输入函数的变量是左值非常量引用,则该变量在std::bind中只能用std::ref修饰,不能用cref,否则编译失败: 2 假如输入函数的变量是左值常量引用,则该变量在std::bind中既可以用std::ref修饰,也可…

汇编快速入门

一.基础知识 1.数据类型 DB(Define Byte,字节类型 占位8位bit 1字节) 范围:DB可以用来定义(无符号、有符号)整数(包含二、十、十六进制)和字符 语法:a DB 数据个数…

鹅算法(GOOSE Algorithm,GOOSE)求解复杂城市地形下无人机避障三维航迹规划,可以修改障碍物及起始点(Matlab代码)

一、鹅算法 鹅优化算法(GOOSE Algorithm,GOOSE)从鹅的休息和觅食行为获得灵感,当鹅听到任何奇怪的声音或动作时,它们会发出响亮的声音来唤醒群中的个体,并保证它们的安全。 参考文献 [1]Hamad R K, Rashid T A. GOO…

路由

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 客户端(例如浏览器)把请求发送给 Web 服务器,Web 服务器再把请求发送给 Flask程序实例。程序实例需要知道对每个U…

Ubuntu:解决github出现 Permission denied (publickey)的问题

因为使用的Ubuntu 长久没有使用,使用下载的时候突然报错,使用ssh key这种方式进行clone ,pull github上面的项目,使用 git clone或者git pull origin master出现permission denied (publickey),原因是因为ssh key过期失…