Percona Live: Open Source Database Performance Conference - Amsterdam 2016 Logo

October 3-5, 2016

Amsterdam, Netherlands

Schedule - Day 1 | Tuesday 4 October 2016

Tuesday 4 October 2016
8:00am to 9:00am
None
9:15am to 9:25am
None
  • Keynote
Jim Doherty (Percona)
Welcome to Percona Live Europe: Amsterdam
Other, Other
9:30am to 10:15am
None
  • Keynote
Peter Zaitsev (Percona)
-
MySQL, MongoDB, Other
10:20am to 10:45am
None
  • MySQL
  • MongoDB
Mark Callaghan (Facebook)
MySQL and MongoDB are moving fast to become great products for web-scale deployments, also known as sharded replica sets. MySQL was here before web-scale was a thing and focused on features we need. MongoDB is a more recent arrival with a focus on features that scale. But users need both and MySQL has begun to focus on features that scale while MongoDB has been adding features we need. Both are getting much better at web-scale which is great for users. While they are moving in the same direction, there are several significant differences today.
Other
10:45am to 11:20am
None

11:20am to 12:10pm

11:20am to 12:10pm
Matterhorn 1
  • Development
  • MySQL
Philipp Krenn (Elastic)
Today’s applications are expected to provide powerful full-text search. But how does that work in general and how do I implement it on my site or in my application? Actually, this is not as hard as it sounds at first. This talk covers: * How full-text search works in general and what the differences to databases are. * How the relevancy of documents is being calculated. * How search works in MongoDB and Elasticsearch as well as what the differences between the two systems are.
MySQL, Fundamentals, NoSQL
11:20am to 12:10pm
Matterhorn 2
  • Architecture/Design
  • MySQL
Krunal Bauskar (Percona)
Have you every thought to yourself: "I want to use Percona XtraDB Cluster, but is it suitable for my needs and can it handle my workloads?" Or: "As an active user of Percona XtraDB Cluster I wonder why my transactions keep failing, and will this workload run correctly with the software?" If the answer is yes, then this session is for you! In this session we will try to find out what Percona XtraDB Cluster can and can't do -- including what general failures can happen with multi-master setup and how you can correct them.
MySQL, High Availability, Replication
11:20am to 12:10pm
Matterhorn 3
  • MongoDB
Igor Canadi (Facebook, Inc.)
MongoRocks is MongoDB with RocksDB storage engine. It was developed by Facebook, where it's used to power mobile backend as a service provider Parse. This talk is targeted to everybody curious to learn more about MongoRocks. We'll start by introducing RocksDB, the storage engine based on Log Structure Merge Trees. Next, we'll describe the MongoRocks layer and how we integrated the two pieces together. Finally, we'll also talk about running MongoRocks in production. Monitoring, backups and other things you need to be aware of.
MongoDB, Optimization, Fundamentals
11:20am to 12:10pm
Zürich 1
  • New and Trending Topics
  • MySQL
Geir Høydalsvik (Oracle)
In this session, I will describe the new features that have all ready been announced for MySQL 8.0. In addition to Data Dictionnary and CTEs the session is covering: * Move to utf8(mb4) as MySQL's default character set * Language specific case insensitive collation for 21 languages (utf8) * Invisible index * Descending indexes * Improve usability of UUID and IPV6 manipulations * SQL roles * SET PERSIST for global variable values * Performance Schema, instrumenting data locks * Performance Schema, instrumenting error messages * Improved cost model with histograms The pre
MySQL
11:20am to 12:10pm
Zürich 2
  • Scalability/Performance
  • MySQL
Ronald Bradford (Pythian)
Learn how to use one simple advanced technique to make better MySQL indexes and improve your queries by 500% or more. Even with a highly indexed schema significant improvements in performance can be achieved by creating better indexes. This presentation introduces the approach for correct identification and verification of problem SQL statements and then describes the means of identifying index choices for optimization.
MySQL, Optimization, Tools and Techniques
11:20am to 12:10pm
St. Gallen
  • Development
  • MySQL
Galina Shalygina (Saint Petersburg State University), Sergei Petrunia (MariaDB Corporation)
MariaDB 10.2 introduces support for Common Table Expressions (CTEs). Both recursive and non-recursive CTEs are supported. This talk will cover everything about the CTEs: - What are the recursive and non-recursive CTEs - How they are useful: what kind of information you can compute with CTEs that's difficult to compute otherwise. - How are CTEs computed and what kinds of CTE query optimizations are present in other databases - How CTEs are implemented in MariaDB: what optimizations it has and how it compares to other databases.
MySQL, Focus Areas, Tools and Techniques
11:20am to 12:10pm
Lausanne
  • MongoDB
Igor Donchovski (Pythian), Okan Buyukyilmaz (Pythian)
Redundancy and high availability are the basis for all production deployments. With MongoDB this can be achieved by deploying replica set. In this talk we’ll explore how the replication works with MongoDB, why you should use replication, what are the features and go over different deployment use cases.
MySQL, MongoDB, Replication
11:20am to 12:10pm
Winterthur
  • OSDBMS
  • PostgreSQL
Oleksii Kliukin (Zalando SE), Alexander Kukushkin (Zalando SE)
Zalando, Europe’s leading online fashion platform, trusts PostgreSQL to manage more than 15TB of data in total. While PostgreSQL is rock-solid and robust, it doesn't have built-in failover capabilities. In order to rapidly deploy and reliably run numerous PostgreSQL clusters on Amazon cloud and in existing data centers we've developed Patroni, a daemon to manage PostgreSQL. It uses etcd, Zookeeper or Consul as a single distributed source of truth about the cluster state.
Devops, High Availability, Replication

12:20pm to 1:10pm

12:20pm to 1:10pm
Matterhorn 1
  • Architecture/Design
  • MySQL
Philipp Krenn (Elastic)
Most developers are familiar with relational databases and its query language, SQL. We know how to model our data so it can fit the relational paradigm and we know how to query this relational data using SQL. Elasticsearch is a document store with its own query DSL. In this talk we will look at several well-understood concepts and SQL queries from the relational paradigm and map these to their Elasticsearch equivalents. If you are someone with a solid grasp of the relational world and looking to map your mental model to the document-oriented search world, this talk is for you!
MySQL, NoSQL
12:20pm to 1:10pm
Matterhorn 2
  • Scalability/Performance
  • MySQL
Peter Zaitsev (Percona)
In this talk, I will introduce Percona’s latest open source software tool: Percona Monitoring and Management (PMM). I will briefly discuss high-level aspects of monitoring we’ve found work well in practice at Percona, and then spend the rest of the time with an online demonstration of how to use this tool to identify common MySQL issues. This demonstration will examine: · Base hardware performance and resource utilization assessment: CPU, disk, memory and network – all common performance problem causes.
MySQL, Monitoring
12:20pm to 1:10pm
Matterhorn 3
  • MongoDB
Tim Vaillancourt (Percona)
MMAP has long been used and monitored in the MongoDB ecosystem. Now, however, there are new players in the form of WiredTiger and RocksDB. In this session, we will break down all of the metrics output by these engines and talk about what they mean. We will also discuss how you might group metrics together to understand their interaction so as to explain spikes in queues, CPU, memory and other areas.
MongoDB, Metrics, Monitoring
12:20pm to 1:10pm
Zürich 1
  • MySQL
Manyi Lu (Oracle)
There are substantial improvements in optimizer in MySQL 5.7 & MySQL 8.0. Most noticeably, users can now combine relational data with noSQL using the new JSON features. Functional indexes are now supported through generated columns. We also made DBAs’ life easier with explain on a running query and query rewrite plugin.
MySQL, Optimization, Fundamentals
12:20pm to 1:10pm
Zürich 2
  • Operations and Management
  • MySQL
Peter Boros (Dropbox), Viacheslav Bakhmutov (Dropbox)
Managing configuration for 1000s of database servers is hard, "hotfix" like set globals are easily forgotten, configuration rollouts can be complicated. At dropbox, instead of using puppet of chef (we use both), we wrote our own configuration handler for managing mysql configuration. This talk is about the overall architecture of the configuration generator we use. We will discuss the design decisions, and what special properties do we get from our configuration manager from knowing that it will only be managing mysql configurations.
MySQL, Python, Devops
12:20pm to 1:10pm
St. Gallen
  • MySQL
Bernd Erk (Icinga)
Icinga is a popular open source successor of Nagios that checks hosts and services, and notifies you of their statuses. But covering availability is not enough for a comprehensive database monitoring. On top of it you need metrics for performance and growth to deal with your scaling needs. Adding conditional behaviours and configuration in Icinga 2 is not just intuitive, but also intelligently adaptive at runtime. This makes it easy to deal with a bunch of different database flavours at once. If we are talking about any MySQLish, PostgreSQL, MongoDB, or whatever open source database.
MySQL, Monitoring
12:20pm to 1:10pm
Lausanne
  • OSDBMS
  • MongoDB
Álvaro Hernández (8Kdata)
What if you could seamlessly replicate all your MongoDB data to a native SQL database? With NoSQL you can scale out, you don’t need to pre-define your schema, and it maps naturally to the OO world. But how do you perform data discovery? How do you interact with the vast SQL ecosystem, specially the BI tools? How do your SQL-savvy users do without SQL? The answer to most of these questions is usually not a very convincing one. But there are good news: you can bring all your MongoDB data to the SQL world.
MongoDB, Java, NoSQL
12:20pm to 1:10pm
Winterthur
  • PostgreSQL
  • MySQL
Dimitri Fontaine (Leboncoin)
Database migration projects are always articulated around the same steps, methodology and costs. At least when properly done. pgloader is meant to be disruptive in that market and offers to completely automate the “boring” parts.
MySQL, Devops, Tools and Techniques
1:10pm to 2:10pm
None

2:10pm to 3:00pm

2:10pm to 3:00pm
Matterhorn 1
  • OSDBMS
  • Development
Markus Winand (winand.at)
SQL has evolved beyond the relational model over the past decades and can now solve many problems more easily as compared to good old SQL-92. However, due to the limited support in open source databases, this revolution has been largely unnoticed in the open source scene. Until now. At the moment, many open source databases are adding these new features to their portfolio. This session highlights some of the most important new SQL features and compares their availability in commercial and open source databases (MariaDB, MySQL, PostgreSQL, SQLite).
MySQL, Programming, Fundamentals
2:10pm to 3:00pm
Matterhorn 2
  • Architecture/Design
  • MySQL
Marco "The Grinch" Tusa (Percona)
ProxySQL is a flexible, fast and highly configurable piece of software that provides dramatic improvement to your cluster and high availability (HA) architecture. The presentation will discuss how to deploy ProxySQL in support of architectures using standard master/slave, Percona XtraDB Cluster/MySQL-Galera or MHA solutions. The presentation discusses details on: - ProxySQL host group - Using balancing and failover on standard master/slave - Integration with MHA - Integration with PXC/Galera - Sharding by hint Attendees will learn the best way to include ProxySQL to expand t
MySQL, High Availability
2:10pm to 3:00pm
Matterhorn 3
  • MongoDB
David Murphy (Percona)
It has been a long road to stable and dependable backups in the MongoDB space. We will go over the current types of backups and their limitations when it comes to sharding. From there we will move into why you can't be consistent with a single node, and how you can take sharded or unsharded consistent backups. We will also talk more about the "mongodb_consistent_backup.py" tool, and what features it offers to the open source community: how to use it, what it looks like and why it's our preferred backup methodology.
MongoDB, Tools and Techniques
2:10pm to 3:00pm
Zürich 1
  • MySQL
Sunny Bains (Oracle)
The next version of MySQL will be a major release of new features and capabilities including a new data dictionary hosted in InnoDB. Learn all about the changes coming in the next version of InnoDB.
InnoDB, Optimization, Fundamentals
2:10pm to 3:00pm
Zürich 2
  • Architecture/Design
  • MySQL
Ronald Bradford (Pythian)
Async, semi, and sync jump into the rink for your data management.
MySQL, Data in the Cloud, Replication
2:10pm to 3:00pm
St. Gallen
  • OSDBMS
Kris Köhntopp (Booking.com)
Abstract: While MySQL is big at Booking, it can't do everything. We are also running Hadoop, HBase, Cassandra, Riak, Postgres and even MongoDB in some places, with Kafka becoming the emergent data bus connecting everything together. How and why did that happen, and what are the technical, organisational and personal challenges that need to be addressed to manage data diversity in an enterprise?
Tools and Techniques, Programming, Data in the Cloud
2:10pm to 3:00pm
Lausanne
  • Scalability/Performance
  • MySQL
Dimitri KRAVTCHUK (Oracle)
Come to have an informal discussion with all members of MySQL Team present during the Conference. Don't miss an occasion to get the info directly from the source! As well we're very curious to know what are your main issues today when using MySQL Server in your production environments. Our innovation comes directly from your feedback. Please, share! - probably we already have, or will have soon a solution to your problems
MySQL, Optimization, Metrics
2:10pm to 3:00pm
Winterthur
  • PostgreSQL
  • MySQL
Evan Klitzke (Uber)
In 2013 Uber switched its relational database technology from MySQL 5.1 to Postgres 9.2. After running our business on Postgres for about two years we made the decision to migrate back to MySQL. Today most of Uber's fleet runs on Percona 5.6, with only a small amount of legacy services still on Postgres. In this presentation I will talk about the decision making process that went behind the initial switch to Postgres, and also the switch back.
MySQL, Other

3:10pm to 4:00pm

3:10pm to 4:00pm
Matterhorn 1
  • PostgreSQL
  • MySQL
Nicolai Plum (Booking.com)
This talk will discuss the different orthogonal axes that data storage systems can be scaled up along. Most storage system designs can grow successfully in one or more of read rate, write rate, data size and data complexity. They cannot grow in all of these directions; modern highly scalable storage systems are a compromise. This talk will discuss the fundamental physical restrictions of hardware that force the need for smart software, then describe how to scale up an RDBMS (mainly MySQL with some PostgreSQL) and key-value NoSQL stores like Cassandra.
MySQL, Optimization, Fundamentals
3:10pm to 4:00pm
Matterhorn 2
  • Operations and Management
  • MySQL
Andrew Regner (Facebook)
MySQL is by far the most common choice among Facebook engineering teams when they are looking for a persistent data store for their product or application. Not all of this data goes into the "Facebook Graph" as not everything developed inside Facebook applies to a user or something they are sharing. This creates a lot more unique use cases of MySQL inside Facebook than one team can operationally optimize for.
MySQL, Tools and Techniques, Sharding
3:10pm to 4:00pm
Matterhorn 3
  • Development
  • MongoDB
Christos Soulios (Pythian), Nikolaos Vyzas (Percona)
MongoDB does a fantastic job of storing humongous data sets, but what does our application need to take into consideration in order to cope, and how should the data be structured? This tutorial is an intermediate / advanced session focusing on development for MongoDB considering several important design patterns and techniques for robust code implementation and database design.
MongoDB, Python, Programming
3:10pm to 4:00pm
Zürich 1
  • MySQL
Luis Soares (Oracle)
The most recent MySQL release comes with a very exciting set of replication features. They reduce operations overhead, enhance user experience, improve scalability, and enable running MySQL smoothly in environments such as clusters or the Cloud. In fact, the feature set and the enticing roadmap, show that MySQL Replication is a natural fit for cloud environments. Requirements such as flexibility, elasticity, automation and seamless scalability are no strangers for MySQL Replication.
MySQL, Replication
3:10pm to 4:00pm
Zürich 2
  • Sponsored
TBD
Ignacio Iglesias (Percona)
TBD
MySQL, Data in the Cloud
3:10pm to 4:00pm
St. Gallen
  • Scalability/Performance
  • Architecture/Design
Daren Seagrave (Facebook)
Any engineer interested at how we run MySQL at Facebook can tell you that we shard our data, and run multiple shards per MySQL instance. This has been the widely accepted approach to “shared nothing” scaling of MySQL in large installations. What do you do when classic sharding is no longer sufficient? Older shards can grow beyond their expected size, and cause imbalance. Some shards can become too hot, and require more resources to be allocated. In some cases, they can even be underused.
MySQL, Optimization, Sharding
3:10pm to 4:00pm
Lausanne
  • Scalability/Performance
  • MySQL
Laurynas Biveinis (Percona)
In this session we will discuss selected areas of InnoDB and XtraDB 5.7 internals that are mostly related to buffer pool management and flushing, from a performance and scalability point of view. We will describe the motivation behind the features in Percona Server XtraDB 5.7 (buffer pool mutex split; multi-threaded LRU flusher; parallel doublewrite), given that MySQL InnoDB 5.7 has reimplemented many similar features that we have in XtraDB 5.6 -- especially for disk-bound RW workloads. The talk will be technical, and assumes you have familiarity with InnoDB internals.
MySQL, Optimization, Programming
3:10pm to 4:00pm
Winterthur
  • OSDBMS
  • PostgreSQL
Ilya Kosmodemiansky (Data Egret)
This talk is prepared as a bunch of slides, where each slide describes a really bad way people can screw up their PostgreSQL database and provides a weight - how frequently I saw that kind of problem. Right before the talk I will reshuffle the deck to draw ten random slides and explain you why such practices are bad and how to avoid running into them.
MySQL, Other, Fundamentals
4:00pm to 4:20pm
None

4:20pm to 5:10pm

4:20pm to 5:10pm
Matterhorn 1
  • OSDBMS
  • Analytics
Alexey Vladishev (Zabbix)
Zabbix, Free and Open Source monitoring solution, is designed to monitor the entire stack of IT infrastructure from hardware to business services. However, during my talk I would like to focus particularly on Zabbix capabilities in regard to monitoring of performance, availability and consistency of database engines. I will explain the main concepts of Zabbix and go into details on how Zabbix may help in assuring that your databases are available and perform well 24x7.
Metrics, Monitoring
4:20pm to 5:10pm
Matterhorn 2
  • New and Trending Topics
  • MySQL
Jean-François Gagné (Booking.com)
In the last 24 months, MySQL/MariaDB replication speed has improved a lot thanks to parallel replication. MySQL and MariaDB have different types of parallel replication; in this talk, I present the different implementations, with their limitations and the corresponding tuning parameters. I cover what to do to make parallel replication faster and what to avoid for maximizing parallel replication benefits. I also present benchmark results from real Booking.com workloads. Finally, I discuss some deployments at Booking.com that take advantage of parallel replication speed improvements.
MySQL, Tools and Techniques, Replication
4:20pm to 5:10pm
Matterhorn 3
  • Architecture/Design
  • MongoDB
Kimberly Wilkins (ObjectRocket by Rackspace)
In this revised and detailed session, Kimberly will discuss the intricacies of sharding in today's separate MongoDB versions and varied storage engines. Specific details of what sharding is, why to do it, when to do it, selection criteria with good and bad examples, the overall process for utilizing specific sharding strategies depending on your environment, application needs, and overall use cases will be reviewed.
MongoDB, Optimization, NoSQL
4:20pm to 5:10pm
Zürich 1
  • MySQL
Jan Kneschke (Oracle)
Starting with MySQL 5.7 it is now possible to use MySQL as a schemaless Document Store. In addition, using the new X DevAPI it is possible to work with Documents via either a CRUD interface or a traditional SQL interface. This presentation will describe the key concepts of the Document Store, including collections, X DevAPI and advances in the new X Protocol.
MySQL, Programming, NoSQL
4:20pm to 5:10pm
Zürich 2
  • Operations and Management
  • MySQL
Krzysztof Książek (Severalnines AB)
MySQL 5.7 has been around for a while now, and if you haven’t done so yet, it’s probably about time to start thinking about upgrading your database to the latest version. There are a few things you need to keep in mind when planning a MySQL upgrade, such as important changes between versions 5.6 and 5.7 as well as detailed testing that needs to precede any such upgrade process for instance. In this session we’ll look at how to best research, prepare and perform such tests before the time comes to finally start the upgrade process.
MySQL, Optimization, High Availability
4:20pm to 5:10pm
St. Gallen
  • Scalability/Performance
  • MySQL
Alexey Rybak (Badoo), Tony Dovgal (Badoo)
This talk covers an open-source MySQL engine which is the core of real-time performance analytics in Badoo. Based on UDP-packets sent from back-end applications, PINBA is processing ~100K requests per second with just several MySQL instances, giving a simple SQL-interface to several pre-built real-time analytical reports.
MySQL, Tools and Techniques, Metrics
4:20pm to 5:10pm
Lausanne
  • Case Stories
  • MySQL
Ike Walker (GitHub)
Native JSON support is new for MySQL in version 5.7, but how much should we be using it? Is this merely an optimization for the JSON data that many of us have been storing for years in previous versions of MySQL, or is it time to consider expanded use cases for JSON in MySQL? In this session, I will discuss some of the practical uses of JSON in MySQL, focusing on version 5.7 but also discussing options for previous versions.
MySQL, Tools and Techniques, Programming
4:20pm to 5:10pm
Winterthur
  • OSDBMS
  • PostgreSQL
Sveta Smirnova (Percona), Alexander Korotkov (Postgres Professional)
It's widespread belief that SQL DBMSes are doomed to be hulking because of burden of backward compatibility. This belief is frequently used by marketing of various NoSQL DBMSes. However, this is not necessary true. Development in Open Source community makes product development flexible enough to meet needs of the times. MySQL and PostgreSQL, which are most popular Open Source DBMSes, recently made optimizations for big servers which made it possible to process more than million of SQL queries per second in the single instance.
MySQL, Other

5:20pm to 6:10pm

5:20pm to 6:10pm
Matterhorn 1
  • Big Data
  • MySQL
Bosko Devetak (Booking.com), Rares Mirica (Booking.com)
At Booking.com we have complex MySQL installations, with very large tables in different servers. We’ve encountered the following question that we could not address with MySQL alone: How did some data/table look at a specific point in time? Answering this question is needed for many things, from observing trends in data changes and deriving insight, to fixing data after problems.
MySQL, Hadoop, Replication
5:20pm to 6:10pm
Matterhorn 2
  • MySQL
Junyi Lu (Facebook), Jesse Salomon (Facebook)
At Facebook, table schema changes are happening every second on our MySQL instances. To support the huge number of developers and instances we have, and to make the schema rollout process as seamless and stable as possible, we've built an automated system called AOSC (Automated Online Schema Change) to manage all of the relevant orchestration. Underneath it, we have a refined version of our previous open-source tool, called OSC (Online Schema Change), to take care of these changes for a single instance.
MySQL, Python, Devops
5:20pm to 6:10pm
Zürich 1
  • MySQL
Øystein Grøvlen (Oracle)
Common Table Expressions (sometimes referred to as WITH queries) are a new feature that will be available in MySQL 8.0. In their simplest form CTEs are a way of creating a view/temporary table for usage in a single query, and can help improve the readability of SQL code. They have many more use cases, however, in particular when using the RECURSIVE form of CTEs it is possible to perform advanced tasks with few lines of code. This session covers CTEs implementation in MySQL 8.0.
MySQL, Fundamentals
5:20pm to 6:10pm
Zürich 2
  • Scalability/Performance
  • MySQL
Anthony Yeh (Google), Dan Rogart (YouTube)
Vitess is YouTube's solution for scaling MySQL horizontally through sharding, built as a general-purpose, open-source project. Now that Vitess 2.0 has reached general availability, we're moving beyond "getting started" guides and working with users to develop and document best practices for launching Vitess in their own production environments. If you like the idea of a generalized, community-supported sharding solution, come and learn what it's like to run Vitess in production, including insights from one of YouTube's Site Reliability Engineers (SRE).
MySQL, Devops, Sharding
5:20pm to 6:10pm
St. Gallen
  • Scalability/Performance
  • MySQL
Daniel Black (IBM)
As new releases, bug fixes, security fixes and performance improvements are announced, users hope they are not accompanied by regressions.
MySQL, Optimization, Metrics
5:20pm to 6:10pm
Lausanne
  • MySQL
Josh Varner (SurveyMonkey), Emily Slocombe (SurveyMonkey), Mark Filipi (SurveyMonkey)
In this session we will review how the open-source database team at SurveyMonkey uses Ansible as both a configuration management and automation tool for our MySQL fleet.
MySQL, Ansible, Devops
5:20pm to 6:10pm
Winterthur
  • OSDBMS
  • PostgreSQL
Ilya Kosmodemiansky (Data Egret)
Linux operating system has lots of tuning options which can change performance of your PostgreSQL installation drastically.
Other, Optimization