Percona Live 2017 Open Source Database Conference

April 24 - 27, 2017

Santa Clara, California

Slides from Percona Live

We all have tasks from time to time for bulk-loading external data into MySQL. What's the best way of doing this? That's the task I faced recently when I was asked to help benchmark a multi-terabyte database. We had to find the most efficient method to reload test data repeatedly without taking days to do it each time. In my presentation, I'll show you several alternative methods for bulk data loading, and describe the...
So you're trying to migrate your MySQL infrastructure to Cassandra. You've seen that Cassandra can use tables just like your favorite RDBMS, and even has a Query Language that looks functionally identical to SQL. In fact, almost everything during your initial evaluation hints at being able to dump a MySQL DB schema into a Cassandra setup and everything will be wonderful from that point on... Stop right there! You're...
Queues are essential to software systems, present everywhere from MySQL to RollerCoaster Tycoon. Understanding these queues is key to achieving consistently high performance. In this session, we will consider many of queues involved in servicing database queries, and some of the queueing theory we can use to optimize them. Using examples from MySQL and Cassandra, the session will examine the layers of a database system from network to...
MySQL 8 introduces support for ANSI SQL recursive queries with common table expressions, a powerful method for working with recursive data references. Until now, MySQL application developers have had to use workarounds for hierarchical data relationships. It's time to write SQL queries in a more standardized way, and be compatible with other brands of SQL implementations. But as always, the bottom line is: how does it perform? This...
Join Jeremy Glick and Andrew Moore whilst they share their experiences persuading MySQL to meet various regulatory compliance standards. Previous methods of logging for compliance included UDFs, triggers and other unreliable means to fill a gap in the core offering. However, given some of today's new requirements, they are no longer viable solutions. Did you know that MySQL has had a pluggable audit interface since version 5.5.3?...
Every DBA needs to be on top of the health status of all DB servers and their current configuration. However, there are many different solutions out there that are either costly, or simply do not provide all the options and features you are looking for. As early adopter of PMM, since beta 1.0.2, I will be sharing how we have been using PMM to monitor our MySQL production environment's performance while avoiding extra costs. I will be...
For many years the B-Tree has reigned supreme as the data structure of choice for most databases. There have always been a few other data structures used as well but they were generally not the way most data was stored. In the past few years a bewildering array of new storage structures seem to have appeared. Why have these alternatives come to be? What can they do for us? Each data structure has its strengths and optimizations for certain...
ScaleDB is a clustered, distributed storage engine for MySQL and MariaDB, optimised for high volume, high velocity structured data. The engine primarily serves streaming data workloads, although the core has also a locking mechanism designed for OLTP workloads. The objective of this talk is to introduce the functionalities of ScaleDB as a Storage Engine for MariaDB, features, architecture, practical use cases and performance tests...
Automating deployments is a key success factor in the cloud. It is actually a great way to leverage the flexibility of the cloud. But as often, while automation is not too difficult for application code, it is much harder for databases. When we started automating our MySQL servers at Slice, we chose simple and production-proven components: Chef to deploy files, MHA for high availability, Percona XtraBackup for backups. But we faced...
At Dropbox, with 1000s of machines running MySQL, performance is important. Among other things, out team is responsible for our MySQL servers being tuned well. In this talk, we will talk about the performance impact of “environmental” MySQL tuning, where the tuning is neither at the SQL level (like creating indexes or using different table structures), nor with setting MySQL parameters (tuning parameters like innodb_buffer_pool_size or...
Automation is a critical part in every infrastructure if you want to keep your sanity. We will show you with practical examples how you can move on from your shell scripts and ansible playbooks to build a self-managing infrastructure which works on thousands, tens of thousands or even more servers without too much human interaction. In this talk, we will cover: Review existing well-known configuration management and orchestration...
sysbench is a benchmark tool that is quite ubiquitous in the MySQL community. It is used by both beginners and huge corporations alike as a quick way to evaluate general system performance, a universal measuring tool to compare configuration or code changes, server releases or server flavors, or as a part of QA process. This session will present new features provided by version 1.0 and explain why they are significant enough to justify the...
Replication in the last years has been a game of marketing and bragging, where features have been presented as life-changing and highly innovative. Sometimes, these features are really good, and meet the users expectations. Some other times, though, the features are just an item on a completeness list, and it's difficult to understand what is good and what is bad. This talk analyses the newest replication features in MySQL and...
MySQL 5.7 has introduced another protocol for communication with the database, which allows asynchronous operations and native document store handling. Since the changes are huge, both developers and DBAs are uncertain about what can be done and how. This tutorial will guide the attendees through the basics of the X-Protocol, with examples of using the document store using the new shell and programmatically. The tutorial covers: *...
The new MariaDB Server 10.2 release is out. It has some interesting new features, but beyond just a feature overview we need to look at how to use some of them. Learn about window functions, common table expressions, finer grained CREATE USER statements, and a lot more -- including getting mysqlbinlog up to parity with MySQL. But there are still unique features that don't exist in MySQL yet, so it's worth talking about encryption...
The MySQL world is full of tradeoffs, and choosing a high availability (HA) solution is no exception. This session aims to look at all of the alternatives in an unbiased nature. Preference is, of course, given to open source solutions. While the landscape will be covered, including but not limited to MySQL replication, MHA, DRBD, Tungsten Replicator, Galera Cluster, NDB Cluster, Vitess, etc., the focus of the talk will be what is...
For the last 2 decades, GoDaddy has expanded its core business from a simple DNS provider to a fully-fledged cloud hosting company for small businesses around the globe. Our customers daily experience is directly dependent on the millions of MySQL databases managed by our devops team. With the increased expansion and diverse network zones being setup to support the company, our team expends tremendous time and energy to operate an aging...
MySQL/MariaDB replication is asynchronous. You can make replication faster by using better hardware (faster CPU, more RAM, or quicker disks), or you can use parallel replication to remove it single-threaded limitation; but lag can still happen. This talk is not about making replication faster, it is how to deal with its asynchronous nature, including the (in-)famous lag. We will start by explaining the consequences of asynchronous...
In the last 24 months, MySQL/MariaDB replication speed has improved a lot, thanks to parallel replication. MySQL and MariaDB Server have different types of parallel replication; in this talk, I present the different implementations which will allow us to understand their limitations and tuning parameters. I am covering how to make parallel replication faster and what to avoid for maximizing its benefits. I also present benchmark results...
In late 2016 with MongoDB 3.2 there isn't an obvious winner between MongoRocks and WiredTiger when evaluating them for performance and efficiency on transaction processing workloads and in a few cases mmapv1 excels. In this talk I will share results for the three engines with MongoDB 3.4. My focus remains transaction processing. I will show where they differ on performance and efficiency and attempt to explain why.