MySQL · 社区见闻 · Percona Live 2016 见闻

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 前言今年的 Percona Live 时间很凑巧,正好夹在 Oracle Open World 和 MariaDB 开发者大会之间,而且跟 MariaDB 开发者大会一样在阿姆斯特丹,因此蹭了 MariaDB Foundation 的免费票去参加了 Percona Live。从纽约飞阿姆斯特丹时,从芬兰赫尔辛基中转呆了一天,承蒙祖师爷 Monty 厚爱到他家住了一天,简直就是黑客帝国……

前言

今年的 Percona Live 时间很凑巧,正好夹在 Oracle Open World 和 MariaDB 开发者大会之间,而且跟 MariaDB 开发者大会一样在阿姆斯特丹,因此蹭了 MariaDB Foundation 的免费票去参加了 Percona Live。

从纽约飞阿姆斯特丹时,从芬兰赫尔辛基中转呆了一天,承蒙祖师爷 Monty 厚爱到他家住了一天,简直就是黑客帝国……

IMG_4176

他家所有的电器设备都可以通过这个中控系统来控制,还可以远程控制。在参加云栖大会的时候他还给我们同事演示了一番,估计他老婆在家里看到灯一会开一会关心里想:这货又在给谁演示远程系统了-_-|||

早上九点到老爷子家,他已经在工作室 Coding 了;下午三点才给我弄了一块鱼片,已经饿成狗了,10分钟吃完又去干活了……晚上8点才出来做晚饭,9点收拾完又去工作了……第二天一早去阿姆斯特丹6点出发,老子说昨天 Review Code 比较晚,只睡了2小时,一上飞机他就直接睡了。

不知道要是我们这么有钱,这么有名望后,这么老还能不能这样努力的工作……

闲扯到此打住,我们来看看今年的 Percona Live 有哪些主题和消息。

主题

今年的主题大户,基本上还是老样子,Percona 自己的主题占了半壁江山,Oracle 原厂占了剩下的大部分,然后 Facebook 和 Booking 依然是民间大厂主题最多的。

现场有差不多10个 Room 同时在进行 Topic,很多主题时间重叠,我只能挑选一部分参加,Oracle 的主题基本上在 Oracle Open World 都讲过了,连人都没换 -_-!!! 所以也就没去听。

Percona

Colin 从 MariaDB 跳槽到 Percona 后第一次出来分享,他这次讲的是如何保证 MySQL/MariaDB 的安全性。

从登陆开始,他提出了包括应该使用 Auth_socket,或者使用远程鉴权,Windows可以用Active Directory。

使用中应该使用 SSL 协议进行传输加密,文件应该使用加密规则对数据文件进行加密防止文件拖库。

这里 MySQL 和 MariaDB 还有点不同,MySQL 只对数据文件本身加密,也就是说如果 Binlog 被拖走了,或者 Redo 被拖走了,还是有机会还原出数据的。
MariaDB 首先它能支持 Amazon 的 KMS,远程获取密钥,这算是跟 Amazon 做的定制。并且可以根据 KMS 提供的更新密码后台异步更新文件的加密,也就是说执行过程中密钥还可以更换。
此外 MariaDB 对所有内容都加密了,除了数据文件,还有 Binlog 和 Redo,这一点 Monty 确实考虑的更全面,这样哪怕整个机器都被人搬走了,只要密钥服务器还在,就没法破解数据。

从这些细节也可以看出 Monty 对 MariaDB 的规划:二进制功能兼容,但是使用不同的代码。

这样有好处有坏处,好处是代码不用跟着 MySQL 走,不用等待官方小版本升级,有 Bugfix 直接抠出代码来 Port;坏处是像我们这些写Patch的人,提给两边的 Patch 可能差异会越来越大。

IMG_4184

Booking

然后听了下 Booking 怎么利用 Multi-Source Replication 来进行数据重分布。不约而同,我们也是用Multi-Source 来对数据进行重分布,这是目前主要的用处,英雄所见略同。

然而,我开发这个功能的初衷是为了能用一台大主机完成多个实例的备份,减少主主复制中对空闲备机的浪费,不过现在好像也没谁拿 Multi-Source 这么用,淡淡的忧伤。反正,有用就好,开源么就是为了造福大家,怎么开心怎么用。

Anyway,自己写的功能在这些高大上的传说中的网站被使用,还是有点小激动。这么多人热爱开源,参与开源的动力也就是来源于此吧。

当然 Booking 希望 Multi-Source 也能支持Semi-Sync,正好,这个我在 Double Sync 这个补丁中已经顺手写完了,再走完开源流程后就可以公开,跟 Monty 提了后正好他也有这个计划,现在他就不用动了,等着我的补丁开源,也许不多久在 MariaDB/MySQL 中就可以看到每个通道都可以设置不同的 Semi-Sync 状态了。

IMG_4185

PS. Booking的MySQL工程师基本都是长发飘飘的…………汉子!

Facebook

Facebook 今年讲了好几个主题都多少跟 RocksDB 有点关系,真的是不遗余力的强推他们自己的产品。

Yoshinori 和 Mark 两位老司机轮番上场,从内核设计到实践应用,全方面介绍RocksDB。

RocksDB 本质上是基于 LevelDB 的,也就是 LSM-Tree 的结构,因此对写有天然的优势。然后 Facebook 针对 Timeline 的业务特点做了很多改进,支持了事务,还可以做快照。

总之跟 Mark 聊下来就是我们啥都支持,现在不支持的也马上要支持,你赶紧用就得了…… 聊 TokuDB 和 RocksDB 的对比,他认为所有方面 RocksDB 都吊打 TokuDB,这个我们还需要自己测试后才能下结论。

Facebook 自己提供的测试数据上看确实是这样,但是到底是 Benchmark 还是 Benchmarketing,一定要自己测试。(原谅我的拍照水平渣画质,可以在 Percona Live 的网站上找到原始PPT)

另外十二月的 CMUG 年底大会,Yoshinori 和 Mark 也会组团来国内分享 RocksDB,到时候可以深入交流。

IMG_4186

Alexey

Sysbench 的作者 Alexey 离开 Percona 后作为个体户这次也来讲了他的工作 —— MySQL on ARM,这也是个很牛逼的项目。

很有幸前段时间跟 Alexey 一起在阿里共同为 MySQL 适配 ARM 做了一点微小的工作,因此对一些细节也是比较了解的,不过 Alexey 回家后继续做了更多深入的工作,例如当时在公司调试我们并没有调通 TokuDB 在 ARM 上的编译,现在他终于搞定了。

ARM 和 x86 在体系结构和指令集上都有很大的差异,包括 Cache Line 不一样,会影响 CPU Cache 对齐;ARM的核数动辄四五十Core,在多核上的问题也比 x86 突出的多;此外还有更突出的 NUMA 问题,GCC 编译问题,指令集结果差异等问题,Alexey 一一予以了解决,还发现了官方本身 Test Case 在 x86 上就存在的一些问题。

Alexey 对这方面做了大量的改动,并且在他的GitHub资源里放了 ARM 版 MySQL 的源码,如果想试试 ARM 的同学可以到他的 GitHub去下载:https://github.com/akopytov/cavium-mysql

Geek 都有一个特点,问题不彻底搞明白,是睡不着觉的,这些活都是没算在付费服务里面的,是他自己觉得一定要彻底搞清楚这些问题。

IMG_4187

总结

今年的Percona Live最重要的就两个事:
1. MySQL 8.0 要来了,跟 OOW 上一样无数的主题狂轰滥炸给 8.0 造势。
2. MyRocks/RockDB 是今年最火的引擎,FB 不遗余力的投入。

关于 8.0,对用户来说可能感觉还不错,但对我们这些内核开发者来说,跟 InnoDB 绑定太紧,是福是祸真不好说……
关于 RocksDB,无论如何也应该试一下,尤其是你在用 TokuDB 的话,毕竟 Percona 已经不太维护了(主要是没有资深开发者了),RocksDB 有 Facebook 一个整团队在维护,并且自己也在大规模用,未必不是一个好的选择。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
18天前
|
存储 Java 关系型数据库
社区医院管理服务系统【GUI/Swing+MySQL】(Java课设)
社区医院管理服务系统【GUI/Swing+MySQL】(Java课设)
24 1
|
4月前
|
Ubuntu 关系型数据库 MySQL
百度搜索:蓝易云【ubuntu20.4服务器安装mysql社区版并开放3306端口】
现在,你已经在Ubuntu 20.04服务器上成功安装了MySQL社区版,并且已经开放了3306端口,可以通过该端口访问MySQL服务器了。请确保在生产环境中设置安全措施,例如设置强密码、限制访问等,以保护数据库的安全性。
94 2
|
3月前
|
NoSQL 关系型数据库 MySQL
基于Python和mysql开发的BBS问答社区管理系统(源码+数据库+程序配置说明书+程序使用说明书)
基于Python和mysql开发的BBS问答社区管理系统(源码+数据库+程序配置说明书+程序使用说明书)
|
8月前
|
SQL 关系型数据库 MySQL
OceanBase数据库社区版的MySQL模式支持定时任务
OceanBase数据库社区版的MySQL模式支持定时任务
311 1
|
9月前
|
关系型数据库 MySQL 数据库
MySQL-使用Percona进行备份与恢复
MySQL 使用Percona进行备份与恢复
123 0
|
4月前
|
Ubuntu 关系型数据库 MySQL
百度搜索:蓝易云【ubuntu20.4服务器安装mysql社区版并开放3306端口】
恭喜!您已成功在Ubuntu 20.04服务器上安装MySQL社区版并开放3306端口。现在您可以开始使用MySQL数据库了。
86 0
|
4月前
|
存储 运维 关系型数据库
MySQL官方特供649页顶级笔记,凝聚社区力量深入技术内幕
但凡有职场经验的兄弟都知道,大厂的面试真是一言难尽,不光看你面试时的临场发挥能力,还要分N次考你对公司业务核心技术的熟悉度。
|
6月前
数字化社区网格管理系统 毕业设计 JAVA+Vue+SpringBoot+MySQL(二)
数字化社区网格管理系统 毕业设计 JAVA+Vue+SpringBoot+MySQL
|
6月前
|
JavaScript 前端开发 Java
数字化社区网格管理系统 毕业设计 JAVA+Vue+SpringBoot+MySQL(一)
数字化社区网格管理系统 毕业设计 JAVA+Vue+SpringBoot+MySQL
|
6月前
社区买菜系统 毕业设计 JAVA+Vue+SpringBoot+MySQL(二)
社区买菜系统 毕业设计 JAVA+Vue+SpringBoot+MySQL

相关产品

  • 云数据库 RDS MySQL 版