首页 > MyRocks: 为facebool 的社交图谱服务的LSM-tree存储引擎

MyRocks: 为facebool 的社交图谱服务的LSM-tree存储引擎

文章目录

    • 概览
    • 1. UDB 架构
    • 2. UDB 表格式
    • 3. Rocksdb:针对flash存储优化过的第三方库
      • 3.1 Rocksdb架构
      • 3.2 为什么选择Rocksdb
    • 4. MyRocks / Rocksdb 开发历程
      • 4.1 设计目标
      • 4.2 性能挑战
        • 4.2.1 降低CPU的消耗
        • 4.2.2 降低range-scan 的延时消耗
        • 4.2.3 磁盘空间和Compaction 的一些挑战
      • 4.3 使用 MyRocks 的更多优势
        • 4.3.1 在线备份和恢复功能
        • 4.3.2 即使有很多二级索引 也能提供很好的扩展能力
        • 4.3.3 在替换和插入操作中不需要额外的读取
        • 4.3.4 拥有更多压缩的空间
    • 5. 生产环境的数据迁移 工具
      • 5.1 MyShadow - shadow 查询测试
      • 5.2 数据正确性校验
      • 5.3 实际的迁移过程
    • 6. 性能
    • 7. 总结

更多相关:

  • Compaction过程中 产生大量读I/O 的背景 项目中因大value 需求,引入了PingCap 参考Wisckey 思想实现的key-value分离存储 titan, 使用过程中因为有用到Rocksdb本身的 CompactionFilter功能,所以就直接用TitanDB的option 传入了compaction filt...

  • 简单记录一些 在linux下 统计进程内部函数运行耗时的统计工具,主要是用作性能瓶颈分析。当然以下工具除了pstack功能单一之外,其他的工具都非常强大,这里仅仅整理特定场景的特定用法,用作协同分析。 以下工具需要追踪具体的进程,如果想要打印信息更全,建议编译的时候将符号信息都编译到二进制文件之中,-g选项 strace str...

  • 想要自己随时随地写一写rocksdb的代码,并且快速测试,但是公司的物理机登陆过于麻烦,想要验证功能的话其实在自己的电脑就完全可以了。 安装 brew install rocksdb,默认二进制文件安装在/usr/local/bin在~/.bashrc或者自己正在使用的shell的rc文件中 加入rocksdb的bin文件所在路径...

  • 文章目录1. libpmemlog 应用背景2. libpmemlog 使用方式2.1 基本接口2.2 接口使用3. Libpmemlog 性能3.1 write sys call 性能3.2 libpmemlog 性能...

  • 文章目录前言基本架构编程模型PMDK接口架构接口概览pmdk 安装开发文档汇总PMEM性能官方性能实测性能...

  • 文章目录1. 磁盘I/O性能指标1.1 性能指标1.2 I/O 观测1.2.1 磁盘I/O 观测1.2.2 进程I/O观测2. Fio 性能测试2.1 环境准备2.2 测试维度选择2.3 测试2.3.1 optane ssd和nvme ssd性能测试2.3.2 aep性能测试(intel persistent memory)...

  • 原始文件路径Mind-mapping Linux I/O栈性能分析及优化...

  •  转自:https://www.cnblogs.com/nulige/p/9369700.html 1.性能优化概述 在做性能优化前, 我们需要对如下进行考虑 1.当前系统结构瓶颈 观察指标压力测试2.了解业务模式 接口业务类型系统层次化结构3.性能与安全 性能好安全弱安全好性能低2.压力测试工具 1.安装压力测试工具ab [r...