MyRocks在网易使用和优化实践

Stella981
• 阅读 531

主题:MyRocks在网易使用和优化实践

大纲:

1. 企业选择一种新型数据库,从0到1的实践过程中经过哪些阶段会更稳妥
2. MyRocks在网易的应用,会带来哪些优势
3. MyRocks和传统的InnoDB相比,需要配置哪些周边工具
4. 相比INNODB,MyRocks更适用哪些场景
5. MyRocks的高可用方案,王老师更推荐哪种

MyRocks在网易使用和优化实践

MyRocks在网易使用和优化实践

听说3306π要搞事情了

是啊,马上要搞3306π深圳站了

MyRocks在网易使用和优化实践

MyRocks在网易使用和优化实践

啊,是吗?哪天啊,在哪里办,怎么报名?

12月19日,就在深圳南山区海岸城,点文末的原文链接或者扫描二维码就可以报名了,一起来吹吹牛逼。

MyRocks在网易使用和优化实践

嘉宾自我介绍

MyRocks在网易使用和优化实践

王刚 数据库内核工程师 网易杭州研究院数据库内核开发工程师,4年数据库技术开发经验,为网易传媒、音乐等业务提供数据库系统性能、稳定性与可靠性的支撑,擅长 myrocks/innodb 存储引擎,专注数据库及存储领域,喜欢探究底层原理,相信源码之前了无秘密。

MyRocks在网易使用和优化实践

01

可否请王老师分享下,企业选择一种新型数据库,从0到1的实践过程中经过哪些阶段会更稳妥呢?

MyRocks在网易使用和优化实践

我介绍一下MyRocks 在网易内部从0到1落地的过程,供大家参考。业务需要选择一种新型数据库,通常来说是现有的数据库在某些方面存在痛点了,比如云音乐的实时推荐场景,这是MyRocks落地的一个比较重要的场景。该场景写流量很大,RT 敏感。首先考虑的是LSM 模型的数据库,比如pika,myrocks,hbase。除了满足性能要求之外,稳定性、后续的运维难度、和公司其他组件的兼容程度这几个方面也是需要考虑的。实际性能测试下来MyRocks 性能满足需要,并且属于MySQL生态,运维上手快,DDB(网易内部中间件)以及binlog复制都可以继续使用。基于内核组对MyRocks充分的稳定性测试和异常模拟测试,业务最终选择了MyRocks。

02

请问王老师, MyRocks在网易的应用,会带来哪些优势呢 ?

MyRocks在网易使用和优化实践

节省存储成本是其一大优势,以网易传媒某业务为例,业务之前使用RDS,表中存有longtext类型的字段且数据量较大,RDS最大规格为2T,按数据增长量,已不能满足需求。当时可供于选择的有两种解决方案,分别为MyRocks和DDB(网易内部中间件),由于阿波罗业务数据库使用场景多为等值查询,最终考虑资源及DDB业务还需要在一定程度上变更使用姿势,符合Myrocks大数据量高压缩比及读性能也能满足业务需要,最终选择了Myrocks, 磁盘空间占用由1.8T降至630G,节省了很多存储成本。

03

MyRocks和传统的InnoDB相比,需要配置哪些周边工具吗?

MyRocks在网易使用和优化实践

在 MySQL 5.7 上适配的MyRocks,目前还缺少物理备份恢复工具,Percona 在 8.0 版本xtrabackup 才支持备份MyRocks。Facebook 5.6 版本提供一个myrocks_hotbackup python 脚本工具,但是这个工具在5.7上使用存在问题,网易内部是在xtrabackup 2.4.8上适配了MyRocks 的备份恢复。

04

MyRocks发展已经比较成熟,相比INNODB,MyRocks更适用哪些场景呢?

MyRocks在网易使用和优化实践

MyRocks 在网易内部主要应用在以下场景,供大家参考:

i. 推荐类场景,这类业务通常写流量很大,并且数据量还不小,RT 敏感,用Redis成本太高,这类场景可以考虑使用MyRocks。

ii. 大数据量场景,这类业务通常是一些历史数据,数据量非常大并且增长很快,原来可能用innodb 存储,成本比较高,而且经常需要扩容,运维成本也高,这类场景适合MyRocks。

05

MyMyRocks的高可用方案,王老师更推荐哪种呢?              

MyRocks在网易使用和优化实践

MyRocks 其实上层还是 MySQL嘛,因此基于binlog 的异步、半同步复制依然可以继续使用,网易内部还适配了MGR for myrocks ,也可以作为一个方案。

MyRocks在网易使用和优化实践

MyRocks在网易使用和优化实践

扫码报名

MyRocks在网易使用和优化实践

点击文末“阅读原文”链接亦可报名

参与活动

学习新技能

赢取罗小波新书《MySQL复制技术和生产实践》和爱可生精美杯子

活动规则

《年轻人不讲武德?12月19日来3306π深圳站学点真本事》下方留言

写下您对本次活动的建议

或是想向嘉宾提出的问题

有效留言被选中后,点赞数超过30

按点赞数排名取前10名

赠送礼品

二者任选其一

MyRocks在网易使用和优化实践

关于「3306π」社区

围绕 MySQL 核心技术,将互联网行业中最重要的数据化解决方案带到传统行业中;囊括其他开源技术RadonDB、ClickHouse、Redis、MongoDB、Hbase、Hadoop、ElasticSearch、Storm、Spark等;分享干货知识,即便是赞助商,也要求如此,拒绝放水

MyRocks在网易使用和优化实践

本文分享自微信公众号 - 老叶茶馆(iMySQL_WX)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
2年前
MyRocks及其使用场景分析
出处:https://zhuanlan.zhihu.com/p/45652076作者:温正湖(任职于网易杭州研究院,从事数据库内核开发)MyRocks是一种经过空间和写性能优化的MySQL数据库,为您业务的数据库选型提供一种靠谱的选择。本文主要介绍什么是MyRocks,包括其功能特性,重点讲解MyRocks相比InnoDB的优势,详细
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这