rockDB编译流程及简单介绍

RocksDB开发——环境准备 RocksDB编译运行 环境:CentOS 7.6 gcc 4.8+ C++11 环境准备 安装git 需要从github拉去源码 yum install git 安装RocksDB所需要的依赖 安装g++,确保g++版本足够新 yum install gcc48-c++ g++ --version 安装gflags git clone https://github... 阅读详情

概述

RocksDB 是 Facebook 的一个实验项目,目的是希望能开发一套能在服务器压力下,真正发挥高
速存储硬件性能的高效数据库系统。这是一个C++库,允许存储任意长度二进制 KV 数据。支持原
子读写操作。
RocksDB 依靠大量灵活的配置,使之能针对不同的生产环境进行调优,包括直接使用内存,使用
Flash,使用硬盘或者 HDFS。支持使用不同的压缩算法,并且有一套完整的工具供生产和调试使
用。
RocksDB 大量复用了 levedb 的代码,并且还借鉴了许多 HBase 的设计理念。原始代码从
leveldb 1.5 上fork 出来。同时 RocksDB 也借用了一些 Facebook 之前就有的理念和代码。
RocksDB 应用场景非常广泛;比如支持 redis 协议的 pika 数据库,采用 RocksDB 持久化 redis
支持的数据结构;MySQL 中支持可插拔的存储引擎,facebook 维护的 MySQL 分支中支持
RocksDB;

编译

rocksdb

git clone https://github.com/facebook/rocksdb.git
cd rocksdb
# 编译成调试模式
make
# 编译成发布模式
make static_lib

压缩库

# rocksdb支持多种压缩模式
# gflags
sudo apt-get install libgflags-dev
sudo apt-get install libsnappy-dev
sudo apt-get install zlib1g-dev
sudo apt-get install libbz2-dev
sudo apt-get install liblz4-dev
sudo apt-get install libzstd-dev

基本接口

Status Open(const Options& options, const std::string& dbname, DB** dbptr);
Status Get(const ReadOptions& options, const Slice& key, std::string* value);
Status Get(const ReadOptions& options,
ColumnFamilyHandle* column_family, const Slice& key, std::string* value);
Status Put(const WriteOptions& options, const Slice& key, const Slice& value);
Status Put(const WriteOptions& options, ColumnFamilyHandle* column_family, const Slice& key, const Slice& value);
// fix read-modify-write 将 读取、修改、写入封装到一个接口中
Status Merge(const WriteOptions& options, const Slice& key, const Slice& value);
Status Merge(const WriteOptions& options, ColumnFamilyHandle* column_family, const Slice& key, const Slice& value);
// 标记删除,具体在 compaction 中删除
Status Delete(const WriteOptions& options, const Slice& key);
Status Delete(const WriteOptions& options, ColumnFamilyHandle* column_family, const Slice& key, const Slice& ts);
// 针对从来不该写且已经存在的key; 这种情况比 delete 删除的快;
Status SingleDelete(const WriteOptions& options, const Slice& key);
Status SingleDelete(const WriteOptions& options, ColumnFamilyHandle* column_family, const Slice& key);

Iterator* NewIterator(const ReadOptions& options);
Iterator* NewIterator(const ReadOptions& options, ColumnFamilyHandle* column_family);

小结

这一篇简单的写了rocksdb相关的,包括编译和一些接口相关的。回头慢慢弄,弄完了再更新,有兴趣,可以去学习学习。OK,结束。

CentOS下RocksDB的编译安装 阅读详情

相关推荐

【RocksDB】编译RocksDB

以上步骤涵盖了从克隆RocksDB仓库到编译和安装动态库、静态库、集成到CMake项目、编译单元测试和编译ldb工具的全过程。根据你的需求选择合适的编译和安装方法即可。为了防止编译过程中将警告视为错误,需要注释掉Makefile中的-Werror选项。ldb是RocksDB提供的一个命令行工具,用于管理和查询RocksDB数据库。以下步骤详细说明了如何从源代码编译RocksDB,并提供了几种不同的编译和安装方法。5. 基于CMake集成到项目编译。是你RocksDB源代码的路径。7. 编译ldb工具。

九师兄 450

编译Rocksdb

一般情况下clone rocsdb后按照说明直接make static_lib是没有问题的。但是如果直接make -j32全部build的话(就是要编译起配套的工具如db_bench,test)之类的话,需要依赖gflags gflags-devel glog gtest等。但是我在最新的rocksdb编译时候总是出现 ./util/gflags_compat.h:11:26: error: ‘...

weixin_37871174的博客 2647

量化实战:如何用Barra多因子模型给你的投资组合做一次‘风险体检’?

本文详细介绍了如何利用Barra多因子模型对投资组合进行全面的风险体检,帮助投资者识别行业和风格因子的风险暴露。通过实战案例和Python代码示例,展示了数据采集、风险归因和组合优化的完整流程,提升投资组合的风险调整收益。

weixin_27215337的博客 323

RocksDB静态编译与使用

演示 RocksDB 的静态编译和 g++ 使用过程,并将踩的坑记录下来

weixin_46322986的博客 2997

Anylabeling与SAM协同:从智能标注到YOLO数据集构建的完整实践

本文详细介绍了Anylabeling与SAM协同标注的完整实践,从智能标注到YOLO数据集构建的全流程。通过结合SAM的自动分割能力和Anylabeling的交互式标注,显著提升标注效率,特别适合小样本、复杂形状和多类别标注场景。文章还提供了环境搭建、标注优化技巧以及YOLO格式转换的实用指南。

weixin_26873711的博客 460

SWIPT技术(无线通信携能技术)的简介与架构——(后续补充无人机SWIPT方向)

SWIPT一、SWIPT(无线通信携能)技术简介1.1、组成:1.2、与传统无线通信的区别:1.3、SWIPT 的集成接收器架构设计1、单独的接收器2、TS架构——时间开关(Time switching,TS)3、PS架构——功率分流(Power splitting,PS)4、天线开关接收器主要两种架构的区别参考文献SWIPT的发展 一、SWIPT(无线通信携能)技术简介 SWIPT(Simultaneous Wireless Information and Power Transfer )是各种WPT技术

Blue 1万+

Mac 从Makefile 编译 Rocksdb 源码的一些注意事项

记录在Mac 上通过Makefile 编译Rocksdb 源码过程中应注意的一些事项

天行健,地势坤 2108

FPGA实现16x16点阵汉字滚动显示:Verilog代码与Quartus仿真详解

本文详细介绍了如何使用FPGA实现16x16点阵汉字滚动显示,包括Verilog代码设计、Quartus仿真及硬件连接技巧。通过字模数据存储和扫描控制逻辑,实现汉字的动态显示效果,并提供了优化建议和常见问题解决方案,适合FPGA开发者和硬件爱好者学习参考。

weixin_29172963的博客 350

Ubuntu20.04下编译测试RocksDB以及遇到的问题记录

rockdb编译 git clone https://github.com/facebook/rocksdb.git //如果上面的命令报错无法连接,则换成下面这句 git clone git://github.com/facebook/rocksdb.git 然后按照这个教程安装依赖项gflags和压缩软件 RocksDB简单使用 在rocksdb父目录下使用make编译rocksdb //静态编译,生成.a文件 make static_lib //动态编译,生成.so.xxx文件,xxx是数字,根据

bijie1196的博客 2168

华为海思IC设计岗位笔试全解析:物理、电路与工艺三大方向备考指南

本文全面解析华为海思IC设计岗位笔试的物理、电路与工艺三大方向备考要点。针对物理设计方向,重点讲解半导体能带理论、载流子输运机制等核心考点;电路设计方向涵盖Verilog语法、UVM验证等关键技术;工艺方向则深入探讨FinFET工艺、光刻技术等前沿知识。提供高效备考策略和应试技巧,助力考生提升通过率。

weixin_29196613的博客 1083

用Python玩转共现分析:从NLTK到热力图可视化(附完整代码)

本文详细介绍了如何使用Python进行文本共现分析,从NLTK基础文本处理到构建共现矩阵,并实现热力图可视化。通过完整的代码示例,帮助数据分析师和开发者掌握这一揭示词语间关联网络的实用NLP技术,快速从文本中提取语义关系和主题结构。

weixin_29313817的博客 348

windows下编译以太坊源码cpp-ethereum

写下这篇文章,主要是强迫自己学习金融知识,以后尽量做到每周至少要做到一更。 闲话不多说,网上搜的编译以太坊源码基本是linux下,windows下的没搜到,并且自己也踏了不少坑,因此记录下来,期望能帮到大家。 1.准备工作。windows64位系统,C盘预留一定空间,下载并安装vs2015(官方注明只支持VS2015,待验证),cmake我用的3.10.1,将系统语言调成非unicode语言。

许文君的博客 1万+

闲鱼客户端三重动态签名机制解析:x-sign、x-mini-wua与x-umt

在移动客户端安全通信中,设备级动态签名已成为主流App防范自动化攻击的核心手段。其原理是将设备指纹、运行时行为与可信硬件标识深度融合,生成不可复用、不可跨端、不可静态伪造的请求凭证。这类机制超越传统Token或Session鉴权,具备强上下文绑定性与实时熵值校验能力,广泛应用于电商、社交及开放平台等高风险接口场景。技术价值体现在有效识别模拟器、无头浏览器与集群化爬虫,同时保障多端一致性与合规数据对接。本文聚焦闲鱼客户端实际落地的x-sign(带设备上下文的混合签名)、x-mini-wua(小程序行为水印)与

weixin_35732273的博客 495

NNI 实战:用超参调优自动搜索 RocksDB 最佳配置(fillrandom 基准)

RocksDB 是 Facebook 开源的嵌入式高性能 KV 数据库,其性能高度依赖底层参数的组合,而参数数量众多、相互耦合,人工调参成本极高。本文以 NNI(开源 AutoML 工具包)官方 sharings 示例 [rocksdb_examples.rst](https://link.gitcode.com/i/50ebcefff2a8dcc92d45ba701c9636ef) 为骨架,完整

gitblog_00562的博客 448

【华为OD机试真题】282、求满足条件的最长子串的长度 | 机试真题+思路参考+代码分析 (C++、Java、Py、C语言、JS)

题目描述 >给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度,字符串本身是其最长的子串,子串要求: >  1、只包含1个字母(a~ z,A~Z), 其余必须是数字; 2、字母可以在子 串中的任意位置; >  如果找不到满足要求的子串,如全是字母或全是数字,则返回-1

KJ.JK 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

RocksDB安装及基本接口使用的初学者指南

RocksDB 是 Facebook 的一个实验项目,目的是希望能开发一套能在服务器压力下,真正发挥高速存储硬件性能的高效数据库系统。RocksDB是一个存储引擎,不提供网络服务,只专注于具体的存储。这是一个 C++ 库,允许存储任意长度二进制 KV 数据。支持原子读写操作。RocksDB 依靠大量灵活的配置,使之能针对不同的生产环境进行调优,包括直接使用内存,使用 Flash,使用硬盘或者 HDFS。支持使用不同的压缩算法,并且有一套完整的工具供生产和调试 使用。

Lion_Long的博客 8079

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

linux下rocksdb的编译安装

https://www.cnblogs.com/freeweb/p/10697246.html 当时是用的上面文章中第二种不用cmake的方法编译成功的,然后吧库文件和头文件拷贝到自己的工程中即可。

C/C++、嵌入式开发、深度学习算法、模型部署与推理优化 3802

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

RocksDB基准测试编译指南

本文提供RocksDB性能测试的完整解决方案,涵盖从源码编译到结果分析的端到端流程。重点阐述三大核心环节:(1) 通过源码编译安装RocksDB及必需依赖库(libgflags、libsnappy等)的标准化操作;(2) 使用db_bench工具执行顺序/随机读写测试的典型命令及参数配置技巧,包括压缩算法选择(ZSTD/Snappy)和缓存大小调优;(3) 测试结果的关键指标解读与系统资源监控方法(top/htop/iostat)。

weixin_48791852的博客 1050

rocksdb编译

参考https://www.git2get.com/av/110153255.html apt-get install libgflags-dev apt-get install libsnappy-dev apt-get install zlib1g-dev apt-get install libbz2-dev apt-get install liblz4-dev apt-get install libzstd-dev 下载rocksdb git clone https://github.com/fac

huxinglixing的博客 548

【RocksDB】Ubuntu20.04下编译rocksdb

我在刚学rocksdb的时候是在2022年,但是网上的资源很少,查了好久才把rocksdb安装成功,在这里向大家分享一下我的经历,安装过程中也报了很多错误,希望大家不要迷路。在虚拟机里面安装依赖的包以及组件:总共七个依赖包和组件,依次执行下列命令(我在安装过程中没有出现任何问题,如果有遇到问题请评论,大家一起讨论)注意:在make static_lib之后要加make clean。2.复制.h文件到/usr/lib中。这里我推荐直接使用下面命令安装。结果如下即代表安装成功。到此为止就是安装成功了。

qq_44421796的博客 2030

linux上rocksDB编译

安装rocksdb数据库for theiasfm (http://www.bubuko.com/infodetail-371860.html) git clone https://github.com/facebook/rocksdb.git cd rocksdb git checkout 2.8.fb make shared_lib " 安装完之后,cmake依然提示“Could not f...

halibote204的专栏 2475

rocksdb编译步骤——Java、Golang、mac

如果不是必要不建议自己编译rocksdb,编译的过程比较耗时费力。现在已经有很多编译好的文件可供使用。 Java <!-- https://mvnrepository.com/artifact/org.rocksdb/rocksdbjni --> <dependency> <groupId>org.rocksdb</groupId&gt...

weixin_30762087的博客 1174

rocksdb编译链接

按照INSTALL.md文件进行按照 设置 LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib CPATH=${CPATH}:/usr/local/include make -j release 即可。 然而,编译发现db_bench仍然找不到gflag库。 解决办法:在/etc/ld.so.conf文件中增加一行 cat /etc/ld.so.conf include ld.so.conf.d/*.conf /usr/local/lib Run ld

caixin的博客 652

Leveldb vs Rocksdb 在windows下的编译安装

一、前言 有一个微服务系统涉及mongodb,计算服务在运行时需要从mongo拉大量数据,一来一回,不仅mongo容器占用大量内存,服务之间交换数据也拖累了计算时间,这也造成新加的ssd 最高读取速度3500MB/S,完全无用武之地。 那么把数据留一份在宿主机,或许是一个好选择,毕竟 pandas读取csv文件也挺快. OR 改一把,历史数据存在本地的leveldb/rocksdb中也行喽 试一试 总之 多匀些内存给计算服务 岂不美哉 二、安装VCPKG 宿主机是win10,用vcpkg自动

kldoo的专栏 2848

Windows下 VS2015编译RocksDB

Windows下 VS2015编译RocksDB VS2015编译RocksDB RocksDB 是一个来自 facebook 的可嵌入式的支持持久化的 key-value 存储系统,也可作为 C/S 模式下的存储数据库,但主要目的还是嵌入式。RocksDB 基于 LevelDB 构建。 1、下载rocksdb源码 git clone https://github.com/

linuxheik的专栏 1583
上一篇: yarn安装和部署
下一篇: 死锁产生及检测(有代码哦)
1随便写写1
博客等级 码龄16年 2262粉丝 161原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值