IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Percona Live 2016 PPT整理

    shendao发表于 2016-06-11 09:55:34
    love 0

    前言

    PS1: 写在前面:最近比较忙,这篇参会总结一直拖到现在才完成,主要大概把感兴趣的slide按照不同的公司做了个分门别类,方便自己有空再深入的学习阅读。

    PS2: 有极个别PPT的链接挂了,过一段时间再刷刷看

    一年一度的Percona Live会议如期在美国Santa Clara会展中心举行,这里聚集了最全面的MySQL社区最前沿的Topic,大量MySQL社区的大神参与该会议。与往年不同,本年度的Percona Live会议全名为“Percona Live Data Performance Conference”,不仅仅包含MySQL主题,还包含了NOSQL, 云计算,大数据等方面的主题。

    先说说第一点印象,很多人都在讨论Facebook的MyRock和RockDB,会议期间有多个相关的主题以及一个专门的keynote。Facebook在推广MyRock持有非常开放的态度,所有的源码开发都是在外部的github上进行的,社区的大量使用可以带来软件的进一步成熟,进而反哺其本身的业务。同时Facebook作为本次会议的赞助商之一,设置了自己的展台,全员开发组出动,向其他从业者介绍MyRock及RockDB。

    Oracle 有多个主要开发人员参加了这次会议,主要分享集中在宣传MySQL5.7的新特性。有一个meetup讨论了下一个版本的需求,据称下一个版本直接就叫MySQL8.0了…

    Percona作为东道主,贡献了最多的技术分享,主要还是集中在性能调优,优化建议方案,另外Percona的CEO也有几场干货满满的演讲,例如InnoDB的内部架构以及关于数据压缩的一些分享。

    其他也有大量的互联网公司,技术服务及大数据公司参与了此次会议,分享的内容五花八门。

    以下是我列出的本次会议个人觉得有点意思的一些topic,并没有列出全部,感兴趣的自行到官网查阅下载

    Oracle MySQL开发组

    The Exciting MySQL 5.7 Replication Enhancements

    MySQL开发组成员分享MySQL的复制架构,5.7新版本的主要优化等内容:

    运维

    • 在线启停GTID
    • 在线配置Replication Filter,无需重启
    • Change Master到另外一个主库无需停止apply线程
    • Change Master修改一些日志apply属性(例如master_delay)无需停止IO线程
    • 增加大量Performance Schema表用于监控复制

    新特性

    • Loss-less Semi-sync Replication: 允许在事务提交前等待备库ACK
    • Semisync允许配置成主库等待N个ACK才继续提交,增加可用性
    • 存储GTID信息到系统表中,这样备库如果无级联的话,就可以直接关闭备库的binlog
    • Multi-source Replication:允许从多个主库复制数据到一台备库上
    • Group Replication Plugin,多主结构的集群管理插件

    性能

    • 更好的复制性能(logical_clock):在主库上能够并发的事务,通过利用Group Commit在日志中被标记为能在备库并发执行。从而获得更好的并发apply效率
    • Binlog Dump线程不受Lock_log锁影响,预分配并重用用于读取log event的内存
    • 独立的ACK线程,用于处理semisync打开场景下备库返还的ack,保证在等待网络时不阻塞binlog dump线程,提升了整体并发度。

    Download Slides

    Introducing the MySQL Document Store

    介绍了MySQL5.7在GA之后释放的一个新特效: Document Store。其定义了一套新的接口,实现了X PLUGIN及对应的通信协议。通过Document Store,用户可以像MongoDB那样来操作MySQL。你也可以阅读我的另外一篇博文来了解相关知识。

    Download Slides

    MySQL Query Optimizer Overview

    介绍MySQL的优化器如何工作,优化器架构,如何基于开销进行查询优化,和查询计划选择。对优化器感兴趣的同学强烈建议阅读,干货非常足!

    Download Slides

    Innodb 5.7 Features & Highlights

    Sunny Brain介绍了MySQL5.7在InnoDB层做的一些性能优化和新的特性

    性能优化:

    • 事务:事务对象池;优化读写事务链表扫描为Memcpy; 移除只读事务链表;Cache Read view; 隐式锁转换优化以减少大锁持有时间; 事务优先级;
    • 临时表:独立临时表表空间;独立undo;不记录redo; 不做fsync; 使用innoDB临时表作为优化器的中间结果表
    • Buffer Pool: 多个page cleaner线程;更高效的flush策略;
    • Redo Log: 通过padding修复read-on-write的问题;默认CRC32 checksum; 增加日志格式的版本信息;
    • Memcached: 修复一系列的性能瓶颈
    • 索引锁,增加SX锁类型,允许索引分裂时的读负载;
    • TRUNCATE操作通过文件日志保证原子性
    • Index Rename及修改varchar长度可以立刻完成
    • 自底向上的索引创建,效率更高
    • AHI分区

    新特性:

    • 分区表: 下推到引擎层,可以减少内存分配,并为未来的并发查询、外键和全文索引支持打下基础; 支持IMPORT/EXPORT
    • General tablespace: 支持多个表存储到一个Ibd文件中
    • Buffer pool: 可以在线resize
    • Undo: 在打开独立undo表空间时,支持undo文件的truncate操作
    • 更大的page size,开始支持32k及64k的page
    • Spatial Index/GIS:支持更完整的GIS特性;InnoDB R-TREE实现
    • Virtual Column: 支持虚拟列及在虚拟列上创建索引
    • 数据文件加密
    • 全文索引: 对中文更友好的分词插件
    • 其他: transparent page compression; Sandisk/FusionIO Atomic Writes; 允许更大的index prefix
    • Performance schema: 监控内存分配;监控DDL执行过程;

    Download Slides

    Performance schema and sys schema in MySQL 5.7

    介绍MySQL5.7 Performance Schema,以及基于Performance Schema及Information_Schema构建的视图集合sys schema。个人非常喜欢这套视图,非常便于发现系统问题及性能瓶颈。

    Download Slides

    A MySQL Sys Schema Deep Dive

    Sys Schema的深入介绍

    Download Slides

    High Availability Using MySQL Group Replication

    MySQL Group Replication,是MySQL官方出品的一组插件,用于管理多点写入的集群,可多点写入,自动冲突检测,集群自动同步和恢复等等。不过还没GA,感兴趣的可以自己玩一下

    Download Slides

    MySQL Router: New High Availability Building Block

    官方出品HA及负载均衡方案,可和另外一个工具Fabric结合使用

    Download Slides

    MySQL Performance: Scalability & Benchmarks

    MySQL性能测试

    Download Slides

    What’s New in MySQL

    概览了5.7的一些新特性(不全面),以及booking部署MySQL5.7的一些经验

    Download Slides

    Optimizer: What’s New in 5.7, JSON and More…..

    MySQL5.7的优化器

    Download Slides

    MySQL Document Store: Under the Hood

    介绍MySQL最新出的document store,提供了X PLUGIN及新的协议,允许用户像使用mongodb那样使用mysql

    Download Slides

    MySQL Performance: Demystified Tuning & Scalability

    Mysql性能测试,分析及调优

    Download Slides

    Percona

    InnoDB Architecture and Performance Optimization for MySQL 5.7

    Percona CEO主讲,介绍了InnoDB的主要架构,关键配置,物理文件存储,内存结构, 锁系统,MVCC等等方方面面的内容,对InnoDB感兴趣的同学推荐一读。

    还顺带介绍了Percona及MariaDB所做的一些改进。

    Download Slides

    TokuDB: Stories from the Battlefield

    演讲者为Percona的CTO Vadim,主要介绍了Tokudb的Fratal Tree的实现。由于现在Percona已经收购了Tokudb,你可以从发布的Percona Server上直接使用Tokudb存储引擎。

    Slides由介绍b-tree的优缺点引出fractal tree,介绍了其内部的数据组织结构,tokudb的一些参数建议,以及PerconaFT相关的一些内核实现。

    Download Slides

    Schema Review 101: How and What You Should Be Looking at

    关于Schema Design之类,适合DBA同学阅读

    Download Slides

    MySQL and Ceph

    介绍了Ceph的架构,以及基于其上调优MySQL

    Download Slides

    另外几个和Ceph相关的slide:

    Download Slides

    Download Slides

    Download Slides

    MySQL Performance Troubleshooting Best Practices

    Trouble Shoutting最佳实践

    Download Slides

    Preventing and Resolving MySQL Downtime

    常见的产生宕机时间的场景,以及解决方案;性能问题排查

    Download Slides

    Compression for Open Source Databases

    介绍开源数据库的各种压缩方案。

    Download Slides

    MySQL 5.7 and MongoDB: Geospatial Introduction

    介绍了MySQL5.7的GIS及MongoDB的GIS, 一些示例。

    Download Slides

    Cost Optimizations Through MySQL Performance Optimizations

    基于例子给出一些性能优化建议,随便看看

    Download Slides

    Percona XtraDB Cluster Reference Architecture 2016

    Percona XtraDB Cluster,不知道有没人用,反正我没玩过…这篇slide介绍了如何设置cluster,并介绍了一些内部实现,例如异步slave,proxy,负载均衡,备份及监控

    Download Slides

    Using Apache Spark and MySQL for Data Analysis

    介绍如何使用Apache Spark集合MySQL来做数据分析

    Download Slides

    Performance Schema for MySQL Troubleshooting

    使用Performance Schema来排查问题

    Download Slides

    Top Most-Overlooked MySQL Performance Optimizations

    讨论了从硬件选择,配置,索引到表设计及架构,各个方面的优化点

    Download Slides

    Solid State Storage for your MySQL Databases: What you need to Know to Optimize Performance

    Percona的CTO Vadim介绍了关于底层存储的一些分享

    • Flash设备的架构
    • AHCI vs NVMe
    • 不同的存储硬件产品

    对硬件不太懂,有空再看看

    Download Slides

    Galera Replication Demystified: How Does It Work?

    介绍Galera的复制原理的,没了解过

    Download Slides

    To Shard or Not to Shard

    To shard or not to shard, that’s a question…来自Percona CEO的又一分享。

    Download Slides

    Amazon Aurora: the Benefits and the Drawbacks

    • Aurora的架构设计介绍: Aurora是AWS基于InnoDB之上的深度定制。存储和数据分离;在存储上独立使用日志进行异步apply,因此计算节点无需写数据文件,只需要传递redo日志;可自由扩展读节点。类似Oracle RAC的实现
    • Redo log: 1. replica节点使用redo更新内存内的page;2. 失效Query Cache; 3.目标存储上异步的进行日志apply.
    • 其他:thread pool; buffer pool warmup; 快速崩溃恢复; Fast ordered insert
    • 缺点: 不支持change buffer; 写入性能受网络影响(需要传递redo消息);
    • 性能测试

    Download Slides

    MySQL Multi-Source Replication

    多源复制,包括Mariadb及MySQL各自的使用介绍

    Download Slides

    XtraDB 5.7: Key Performance Algorithms

    Percona对MySQL5.7 InnoDB的性能优化,例如multi lru flush, split double write buffer

    Implementing Multi-Source Replication With MySQL 5.7 @ Verisure (and How We Got There)

    5.7多源复制

    Amazon

    Introducing Amazon Aurora: A New MySQL-Compatible Database

    AWS的VP介绍Aurora,测试数据,及一些比较上层的实现架构。

    Download Slides

    Facebook

    The highs and lows of semi-synchronous replication

    • 介绍了异步/同步/半同步复制
    • Fb-mysql让mysqlbinlog支持semisync,如何做高可用,如何恢复老主库

    Download Slides

    MyRocks, MongoRocks and RocksDB

    Mark Callaghan的keynote演讲。介绍rockdb,及其衍生组件myrocks及mongorocks的优势和特点

    Download Slides

    MyRocks Internals

    实际上这是Memsql的工程师的分享,但因为MyRock是Facebook开发的,所以放在这一栏。大概介绍了些概念性的内容。

    Download Slides

    MyRocks Deep Dive: Flash Optimized LSM Database for MySQL, and its Use Case at Facebook

    Rockdb及MyRock的深度介绍,想了解其底层实现,这篇slide是必读的,干货满满

    Download Slides

    RocksDB: Key-Value Store Optimized for Flash-Based SSD

    介绍Rockdb的设计和架构,同样是满满干货 , 后面有时间再慢慢研究

    Download Slides

    Mariadb

    MariaDB 10.1- what’s new

    MariaDB 10.1特性介绍

    Download Slides

    Window functions in MariaDB

    MariaDB的window function实现,MariaDB在server层一如既往的走在前面

    Download Slides

    谷歌

    Vitess: The Complete Story

    Youtube的分布式中间件Vitess介绍

    Download Slides

    Not Just a Bunch of Disks: Storage Architecture of Google Cloud SQL

    暂无PPT,主要是Google云在底层文件存储层的一些特性。

    Twitter

    InnoDB as backend of Manhattan – Twitter’s distributed database

    介绍Twitter的底层存储解决方案(MHBtree),基于其业务特点定制,MySQL实际上被当成了kv引擎,使用特定的协议,通过一个插件直接访问Handler。这个架构还蛮有意思的,例如

    • 做了基于时间戳的行级别冲突检测
    • 热点key更新: 发现到热点Key行锁拿不到时,返回插件cache请求
    • 通过大量的代码hack,实现了InnoDB表级一致性快照的备份。解决了传统物理备份需要备份整库的问题

    Download Slides

    Linkedin

    Espresso: LinkedIn’s distributed document store on top of MySQL

    介绍Linkedin的分布式NoSQL系统,其架构在MySQL之上。加上一堆组件,例如apache helix, router, api server, kafka等等. MySQL只是作为存储节点;

    在MySQL层,对GTID的功能进行了扩展,binlog的row event使用snappy进行压缩

    Download Slides

    Booking

    MySQL Scalability: Dimensions, Methods and Technologies

    扩展MySQL策略

    Download Slides

    Bringing code to the data: from MySQL to RocksDB for high volume searches

    从MySQL迁移到RockDB来解决Booking的数据检索问题

    Download Slides

    MySQL Parallel Replication: inventory, use-case and limitations

    MySQL并行复制,老话题

    Download Slides

    Yelp

    几个PPT都挂了,后面再补上

    Let Robots Manage your Schema (without destroying all humans)

    Download Slides

    Clusternaut: Orchestrating Percona XtraDB Cluster with Kubernetes

    Download Slides

    If You Only Have a Hammer, Everything Looks Like a Thumb

    Download Slides

    Dropbox

    Rolling out Global Transaction IDs at Dropbox

    Dropbox使用GTID的分享: 集群管理,MySQL的复制机制,GTID相关的经验例如failover切换,备份等。

    Download Slides

    Troubleshooting Scenarios with Performance Schema

    使用performance schema进行trouble shoutting,老话题了

    Download Slides

    Github

    Reliable crash detection and failover with Orchestrator

    使用Orchestrator进行崩溃检测及Failover

    Download Slides

    Rookie DBA Mistakes: How I Screwed Up So You Don’t Have To

    DBA的那些事儿

    Download Slides

    MySQL GTID Implementation, Maintenance, and Best Practices

    还是GTID和复制的那些事儿

    Download Slides

    Intel

    Accelerating Ceph for Database Workloads with an all PCIe SSD Cluster

    硬件和文件系统都不太懂,*标记了*后面有空再看

    Download Slides

    Performance of Percona Server for MySQL on Intel Server Systems using HDD, SATA SSD, and NVMe SSD as Different Storage Mediums

    来自Intel公司的分享,在不同硬件环境下的Percona MySQL性能表现,包括 (1) a RAID of HDD vs. (2) a RAID of SATA SSD vs. (3) a RAID of NVMe SSD。

    Download Slides

    Increase MySQL Database Performance with Intel® SSD plus Cache Acceleration Software

    还是讲硬件的,使用intel的硬件来提升性能神马…

    Download Slides

    SQL with MySQL, or NoSQL with MongoDB?

    介绍了几类不同引擎的优缺点

    Download Slides

    Alibaba

    What’s new in AliSQL – Alibaba’s branch of MySQL

    介绍了Alibaba如何为解决电商业务的高负载、高并发等要求所做的大量源码改进

    Download Slides

    Physical Replication Based on InnoDB

    基于InnoDB的物理复制,之前已经撰文专门讲过,感兴趣的自取

    Download Slides

    Pinterest

    Operational Buddhism: Building Reliable Services From Unreliable Components

    基于不可靠组件构建高可靠服务 ?

    Download Slides

    Zen on MySQL

    介绍Pinterest基于MySQL的图片存储系统服务Zen

    Download Slides

    Linux系统优化

    Tuning Linux for Database performance

    优化Linux下的各项配置来提升数据库性能

    Download Slides

    Turtles All the Way Down: Tuning Linux for Database Workloads

    Download Slides

    Linux Systems Performance

    • 如何观察Linux的各项性能指数,介绍了大量的工具..
    • 性能分析方法论
    • 系统性能测试,使用perf进行性能分析
    • Trace调用栈及性能tuning

    个人认为这篇slide非常值得运维人员一读,对于ppt中提到的一些工具可以自己试玩一把,都满实用的

    Download Slides

    业界其他

    Storage Methods for Nonstandard Data Patterns

    非标准数据的存储方案,太长了没看

    Download Slides

    The Language of Compression Benchmarking

    演讲者是原Tokudb开发成员,分享了如何对数据库的数据进行压缩:

    • 为什么压缩: 数据的磁盘存储太高,例如SSD
    • 压缩的代价模型:压缩比解压要更困难,通常算法需要去高效的寻找重复串进行编码
    • 压缩算法如何工作
    • block size、碎片化等对空间影响
    • Entropy: High entropy data is less compressible

    对压缩理论感兴趣的可以看看。

    Download Slides

    Technology comparison: MySQL vs SQLite on various devices

    介绍SQLite的内部架构,特点,和MySQL从可移植性、并发性能、网络等各个方面进行比较

    Download Slides

    InnoDB Locking Explained With Stick Figures

    InnoDB事务锁

    Download Slides

    Resurrecting a MySQL Database from the Dead

    数据灾难恢复

    Download Slides

    Backups, restores and clones for fun and profit

    备份及恢复测试,ppt没啥内容

    Download Slides

    MySQL Query Performance Tuning: A 12 Step Program

    MySQL查询优化技巧

    Download Slides

    MySQL and Docker Strategies

    通过docket来进行MySQL部署,对在容器中运行mysql感兴趣的可以看看。演讲者是sandbox的作者

    Download Slides

    Solr: How to index 10 billion phrases from MySQL and HBase

    主要介绍了Aphache Solr的一些架构和特性,并使用solr来解决大数据量级别的索引问题,进而解决业务上的即时搜索问题。

    Download Slides

    MySQL and Impala ecosystem: SQL friendly Hadoop

    介绍Apache Impala,以及MySQL和impala的对比。后者主打OLAP,支持PB级数据量级,列式存储,线性扩展。

    Download Slides

    How SurveyMonkey uses Ansible to manage its MySQL fleet

    使用自动化运维工具Ansible来管理Mysql

    Download Slides

    MySQL Data Recovery with TwinDB Undrop for InnoDB

    来自TwinDB的分享,介绍了如何去灾难恢复InnoDB表

    • 介绍了InnoDB的物理数据组织
    • 通过工具mysqlfrm 解析frm文件获取其对应的InnoDB表结构
    • 如何从数据页中离线抢救合法的记录
    • 删除表后的恢复及恢复压缩表,PPT讲的不是很细,你可以从他们的 官方博客 上获得更多的信息
    • PS: TwinDB提供了在线数据恢复服务,但是是有偿的。价格不算贵

    Download Slides

    Scaling MySQL: Strategies, Challenges, & A Better Solution

    来自Clustrix的分享

    • 介绍如何进行MySQL的Scale,常见scale out/up策略的优缺点
    • 介绍了他们的集群系统ClustrixDB

    Download Slides

    Apache Ignite – In-Memory Data Fabric

    介绍Apache Ignite,不了解

    Download Slides

    ActorDB – an alternative view of a distributed database

    介绍ActorDB,一款兼容MySQL协议的分布式数据库

    Download Slides

    Introducing CockroachDB: Make Data Easy

    CockroachDB, 一个类似Google Spanner的开源数据库。

    Download Slides

    End-to-end encryption for databases

    数据库的数据加密介绍,以及该公司的ZeroDB

    Download Slides

    Sharding with Spider solutions

    使用MySQL存储引擎Spider进行数据库分片。据说spider在腾讯用的比较多,有空研究下

    Download Slides

    An efficient way to process a large number of rows with mysql_use_result() or streaming option

    通常情况下客户端是使用mysql_store_result先存储结果集,然后再逐行处理。而另外一种方式是mysql_use_result则是逐行在客户端获取再处理,相比前者对客户端的内存占用影响较小。

    Download Slides

    Running a Galera Cluster in Kubernetes

    在Kubernetes(一款Google开源的Docker容器集群管理系统)上运行Galera Cluster

    Download Slides

    Linux Kernel Extension for Databases

    介绍 Tempesta DB , 它是linux内核的扩展,实现了内存管理,驱逐,IO机制等。它被设计成承担实时负载,需要数据装进RAM中。

    Download Slides

    Time series from collection to analysis – examples and use cases

    Download Slides

    其他

    由于我对其他数据库并不了解,这里仅仅列出相关的Slide及摘要链接,感兴趣的自取

    • Run Your Own Open Source Alternative to Ops Manager to Avoid Vendor Lock-In

    Download Slides

    • Updated Sharding Guidelines in MongoDB 3.x with Impacts of Different Storage Engines

    Download Slides

    • Running Hadoop on Mesos at Uber

    Download Slides

    • A Little Cassandra for the Relational Brain

    Download Slides

    • MongoDB Chunks – Distribution, Splitting, and Merging

    Download Slides

    • events @ Box: Using HBase as a Message Queue

    Download Slides

    • Scylla, a distributed Cassandra-compatible NoSQL database in excess of a million requests per second per node

    Download Slides

    • Redis Functions and Data Structures

    Download Slides

    • Indexing Strategies and Tips for MongoDB

    Download Slides

    • MongoDB Replication and Sharding

    Download Slides

    • MongoDB 3.2 – New Features Overview

    Download Slides

    • Powering a Realtime Analytics Product: the Ups, the Downs, and Sideways

    Download Slides

    • MongoDB on AWS With Minimal Suffering

    Download Slides

    • Improving MongoDB with Redis

    Download Slides

    • MongoDB Schema Design

    Download Slides

    • MongoDB 3.x Storage Engine Internals

    Download Slides

    • MongoDB Security

    Download Slides

    • How to Automate, Monitor and Manage your MongoDB Servers

    Download Slides

    • MongoDB Design Patterns

    Download Slides

    • MongoDB Schema Design for the "Dynamic Schema" World

    Download Slides

    • MongoDB for MySQL DBA’s

    Download Slides

    • Deep dive into the native multi-model database ArangoDB

    Download Slides

    • Tarantool – a Lua based database engine and in-memory data grid

    Download Slides

    • Druid: Power Interactive Applications at Scale

    Download Slides

    【云栖快讯】如何实现推荐系统个性化,做到“千人千面”?如何将1人年工作量缩成21天?6月16日,阿里云推荐引擎技术负责人郑重做客云栖社区分享其中奥秘。  详情请点击

    转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » Percona Live 2016 PPT整理



沪ICP备19023445号-2号
友情链接