热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MySQLrockdb性能_使用TerarkDB提升MySQL的性能.pdf

使用TerarkDB提升MyRocks的性能——随机读场景下的MySQL性能优化雷鹏pengCTO大纲lMyRocks简介l为什么选择MyRocksl传统数据库的块压缩l硬件的发展

使用TerarkDB提升MyRocks的性能

——随机读场景下的 MySQL性能优化

雷鹏 peng@

CTO

大纲

l MyRocks简介

l 为什么选择 MyRocks

l 传统数据库的块压缩

l 硬件的发展趋势

l TerarkDB 和 MyRocks 的关系

l TerarkDB 的原理、优势、劣势

l 新的问题,以及优化建议

MyRocks简介

l MyRocks=MySQL+RocksDB(存储引擎)

l 基于 MySQL-5.6 :代码(MySQL onTerarkDB)

Ø 增加了一些 MySQL-5.7 的 Feature

Ø 增加了一些针对 RocksDB特有的语法和功能

Ø 有部分功能不支持,详见:MyRocks-limitations

l 深入了解 MyRocks :MyRocks DeepDive

MyRocks主要功能

l 类似 InnoDB 的功能

l 事务

Ø 基于 MVCC

Ø ReadCommitted,RepeatableRead(PostgreSQL-style)

l 在线备份

Ø 逻辑备份(使用 mysqldump)

Ø 二进制备份( 使用 myrocks_hotbackup )

为什么选择MyRocks

l 成熟稳定,满足绝大部分功能需求

l 使用单一 DB,适合云 DB多租户场景

l 基于 RocksDB,直接兼容TerarkDB

l 基于 LSM,对 SSD友好

传统数据库都使用块压缩——

l InnoDB

l LevelDB/RocksDB...

l TukoDB

块压缩有着难以克服的,

l WiredTiger 固有的缺陷,

l Cassandra/ScyllaDB 我们看看它的原理,

l CouchDB 分析一下——

l HBase

l ……

块压缩的原理

l 多条数据打包成一个块,索引定位到块

Ø 增大块:索引更小,单个块中的数据条数更多,无效解压更多

Ø 减小块:索引更大,压缩算法无法有效工作,压缩率更低

l 块缓存 DirectIO导致缓存中只有

问题 1

解压后的数据,一定程

太慢了——

Ø 每次访问都解压一个块,

度上减小了内存利用率

Ø 解压出来的块放入缓存

问题 2 DirectIO需要对齐访问,

Ø 操作系统还有文件缓存 双缓存问题!

使用DirectIO 最坏情况下需要跨边界

(压缩的数据保存在文件中) 多读两个块

硬件的发展趋势

l 机械硬盘的 容量/价格 仍有巨大优势

Ø 更耐写,更安全;氦气硬盘,HAMR 技术……

l SSD越来越便宜,NVMe/PCIe 已广泛应用

Ø 不耐写,写坏了数据就永久丢失

Ø NVMe/ PCIe 接口的 SSD更快,延迟更低

l 3DXPoint ,比 SSD更快,更耐写

Ø 第一代产品 Optane(闪腾)已经上市!

Ø 使用 DIMM接口,可当做内存用……

硬件的发展趋势

带宽(MB/s) IOPS 延迟(us) 访问粒度



推荐阅读
  • NetBPM的安装还是比较简单的,有比较详细的文档。1.当然是先下载运行程序了,netbpm-0.8.3.1.zip,官方网站ÿ ... [详细]
  • 一面自我介绍对象相等的判断,equals方法实现。可以简单描述挫折,并说明自己如何克服,最终有哪些收获。职业规划表明自己决心,首先自己不准备继续求学了,必须招工作了。希望去哪 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了源码分析--ConcurrentHashMap与HashTable(JDK1.8)相关的知识,希望对你有一定的参考价值。  Concu ... [详细]
  • AstridDAO 专访:波卡稳定币黑马 BAI
    加入Pol ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了VoLTE端到端业务详解|VoLTE用户注册流程相关的知识,希望对你有一定的参考价值。书籍来源:艾怀丽 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 本文详细介绍了相机防抖的设置方法和使用技巧,包括索尼防抖设置、VR和Stabilizer档位的选择、机身菜单设置等。同时解释了相机防抖的原理,包括电子防抖和光学防抖的区别,以及它们对画质细节的影响。此外,还提到了一些运动相机的防抖方法,如大疆的Osmo Action的Rock Steady技术。通过本文,你将更好地理解相机防抖的重要性和使用技巧,提高拍摄体验。 ... [详细]
  • ZooKeeper 学习
    前言相信大家对ZooKeeper应该不算陌生。但是你真的了解ZooKeeper是个什么东西吗?如果别人面试官让你给他讲讲ZooKeeper是个什么东西, ... [详细]
author-avatar
昀尧约_146
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有