成章数据库安装体验

news2024/10/6 17:17:49

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

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

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

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

相关文章

Qt底层原理:深入解析QWidget的绘制技术细节(1)

在Qt5中,QWidget的绘制流程比较分散,网上介绍的文章也很少,因此写一篇文章总结记录一下这部分的知识点。 笔者使用的是Qt5.15.2的源码。 基本的绘制流程:从update到合成 更新请求(Invalidate): 当一个QWidg…

线程间通信方式(互斥(互斥锁)与同步(无名信号量、条件变量))

1通信机制:互斥与同步 线程的互斥通过线程的互斥锁完成; 线程的同步通过无名信号量或者条件变量完成。 2 互斥 2.1 何为互斥? 互斥是在多个线程在访问同一个全局变量的时候,先让这个线程争抢锁的资源,那个线程争抢…

理解广角镜头的视野和畸变

为什么广角镜头的视野会比长焦镜头的视野大呢? 我之前用等光程解释了景深,也解释了为什么焦距越远,成像越大,但是从来没有提到过视野范围这个概念。实际上在我之前建立的数学模型中,物曲面S是无限大的,像曲…

python:画圆圈,绘制生命之花图案

参阅:生命之花/平衡轮:一个实用的人生规划的工具 先画一个圆圈,编写 draw_circle1.py 如下 # -*- coding: utf-8 -*- """ 画一个圆圈 """ import numpy as np from matplotlib import pyplot as plt# 用于…

(done) 关于 GNU/Linux API setenv 的实验

写一个下面的代码来验证 #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <sys/types.h>int main() {// 设置环境变量 MY_VAR 的值为 "hello_world"if (setenv("MY_VAR", "hello_world", 1) ! 0…

动手学深度学习(Pytorch版)代码实践 -卷积神经网络-29残差网络ResNet

29残差网络ResNet import torch from torch import nn from torch.nn import functional as F import liliPytorch as lp import matplotlib.pyplot as plt# 定义一个继承自nn.Module的残差块类 class Residual(nn.Module):def __init__(self, input_channels, num_chan…

adb 查看哪些应用是双开的

adb shell pm list users 得到 这 里有 user 0 ,11,999 其中0是系统默认的&#xff0c;11是平行空间的&#xff0c;999是双开用户 pm list packages --user 999 -3 得到了999用户安装第三方应用的包名 pm list packages --user 11 -3 得到了隐私空间用户安装第三方应用的…

Git客户端安装步骤详解

git windows7 百度经验:jingyan.baidu.com 方法/步骤 1 从git官网下一个git安装包。 步骤阅读 2 点击git.exe安装程序&#xff0c;点击【next】 ![git的安装和配置](https://imgsa.baidu.com/exp/w500/sign7565f44ba58b87d65042ab1f37092860/21a4462309f790525e5b0144…

兰州理工大学24计算机考研情况,好多专业都接受调剂,只有计算机专硕不接收调剂,复试线为283分!

兰州理工大学&#xff08;Lanzhou University of Technology&#xff09;&#xff0c;位于甘肃省兰州市&#xff0c;是甘肃省人民政府、教育部、国家国防科技工业局共建高校&#xff0c;甘肃省高水平大学和“一流学科”建设高校&#xff1b;入选国家“中西部高校基础能力建设工…

Android-系统开发_四大组件篇----探讨-Activity-的生命周期

当一个活动不再处于栈顶位置&#xff0c;但仍然可见时&#xff0c;这时活动就进入了暂停状态。你可能会觉得既然活动已经不在栈顶了&#xff0c;还怎么会可见呢&#xff1f; 这是因为并不是每一个活动都会占满整个屏幕&#xff0c;比如对话框形式的活动只会占用屏幕中间的部分…

Retrieval-Augmented Generation for Large Language Models A Survey

Retrieval-Augmented Generation for Large Language Models: A Survey 文献综述 文章目录 Retrieval-Augmented Generation for Large Language Models: A Survey 文献综述 Abstract背景介绍 RAG概述原始RAG先进RAG预检索过程后检索过程 模块化RAGModules部分Patterns部分 RAG…

15天搭建ETF量化交易系统Day9—玩大A必学网格策略

搭建过程 每个交易者都应该形成一套自己的交易系统。 很多交易者也清楚知道&#xff0c;搭建自己交易系统的重要性。现实中&#xff0c;从&#xff10;到&#xff11;往往是最难跨越的一步。 授人鱼不如授人以渔&#xff0c;为了帮助大家跨出搭建量化系统的第一步&#xff0c;我…

vscode用vue框架2,续写登陆页面逻辑,以及首页框架的搭建

目录 前言&#xff1a; 一、实现登录页信息验证逻辑 1.实现登录数据双向绑定 2.验证用户输入数据是否和默认数据相同 补充知识1&#xff1a; 知识点补充2&#xff1a; 二、首页和登录页之间的逻辑(1) 1. 修改路由&#xff0c;使得程序被访问先访问首页 知识点补充3&am…

[每周一更]-(第102期):认识相机格式Exif

文章目录 EXIF数据包含的信息读取EXIF数据的工具和库EXIF数据读取示例&#xff08;Go语言&#xff09;想法参考 相机拍摄的照片&#xff0c;在照片展示行无水印信息&#xff0c;但是照片属性中会包含比较丰富的信息&#xff0c;相机品牌、型号、镜头信息等&#xff0c;这些我们…

基于NURBS曲线的数据拟合算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1NURBS曲线基础 4.2 数据拟合原理 5.完整程序 1.程序功能描述 基于NURBS曲线的数据拟合算法,非均匀有理B样条&#xff08;Non-Uniform Rational B-Splines&#xff0c;简称NURBS&#xf…

电子商务的未来:大数据||论主流电商大数据采集API接口的重要性

每天全球生成2.5万亿字节。金融交易&#xff0c;用户出版物和众多内容&#xff0c;数据对于组织了解消费者的行为和实际需求极为重要。 在一个互联、动态和竞争激烈的多元世界中&#xff0c;能够预测技术和市场变化的组织在竞争中生存下来。这是大数据管理的真正目标&#xff0…

鸿蒙生态伙伴SDK市场正式发布,驱动千行百业鸿蒙原生应用开发

6月21-23日&#xff0c;华为开发者大会&#xff08;HDC 2024&#xff09;在东莞举办。在22日举办的【鸿蒙生态伙伴SDK】论坛中&#xff0c;正式发布了【鸿蒙生态伙伴SDK市场】&#xff08;以下简称&#xff1a;伙伴SDK市场&#xff09;&#xff0c;伙伴SDK市场是为开发者提供各…

PHP转Go系列 | ThinkPHP与Gin的使用姿势

大家好&#xff0c;我是码农先森。 安装 使用 composer 进行项目的创建。 composer create-project topthink/think thinkphp_demo使用 go mod 初始化项目。 go mod init gin_demo目录 thinkphp_demo 项目目录结构。 thinkphp_demo ├── LICENSE.txt ├── README.md …

JVM专题三:Java代码如何运行

通过前面的第一篇文章&#xff0c;对JVM整体脉络有了一个大概了解。第二篇文章我们通过对高级语言低级语言不同特性的探讨引出了Java的编译过程。有了前面的铺垫&#xff0c;咱们今天正式进入Java到底是如何运行起来的探讨。 目前大部分公司都是使用maven作为包管理工具&#x…

Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!

代码仓库 会同步代码到 GitHub https://github.com/turbo-duck/flink-demo 当前章节 继续上一节的内容&#xff1a;https://blog.csdn.net/w776341482/article/details/139875037 上一节中&#xff0c;我们需要使用 nc 或者 telnet 等工具来模拟 Socket 流。这节我们写一个 …