Buy Percona SupportEmergency? Get 24/7 Help Now!
Subscribe to Latest MySQL Performance Blog posts feed
Updated: 20 min 46 sec ago

Take Percona’s One-Click 2017 Top Database Concerns Poll

October 10, 2016 - 4:23pm

Take Percona’s One-Click 2017 Top Database Concerns Poll.

With 2017 coming quick around the corner, it’s time to start thinking about what next year is going to bring to the open source database community. We just finished Percona Live Europe 2017, and at the conference we looked at new technologies, new techniques, and new ideas. With all this change comes some uncertainty and concern regarding change: how is a changing ecosystem going to affect your database environment? Are you up to speed on the latest technologies and how they can impact your world?

Are your biggest concerns for 2017 scalability, performance, security, monitoring, updates and bugs, or staffing issues? What do you think is going to be your biggest issue in the coming year??


Please take a few seconds and answer the following poll. It will help the community get an idea of how the new year could impact their critical database environments.

If you’ve faced specific issues, feel free to comment below. We’ll post a follow-up blog with the results!

Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.

You can see the results of our last blog poll on security here.

Percona Database Security Poll Results

October 10, 2016 - 4:21pm

This blog reports the results of Percona’s database security poll.

As Peter Zaitsev mentioned recently in his blog post on database support, the data breach costs can hit both your business reputation and your bottom line. Costs vary depending on the company size and market, but recent studies estimate direct costs ranging in average from $1.6M to 7.01M. Everyone agrees leaving rising security risks and costs unchecked is a recipe for disaster.

Reducing security-based outages doesn’t have a simple answer, but can be a combination of internal and external monitoring, support contracts, enhanced security systems, and a better understanding of security configuration settings.

The results from Percona’s database security poll responses are in:

Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.

With over 600 unique participants, “None” was the clear front runner, with up to ten hours a distant second. It seems that, generally speaking for our respondents, security is not a large problem for their open source databases. When it does affect them, it causes minimal downtime.


Check out the latest Percona one-click poll on 2017 top database concerns here.

Consul Architecture

October 10, 2016 - 3:13pm

In this blog post, I’ll provide my thoughts about Consul for ProxySQL service discovery and automation.

I approached Consul recently while looking for a service discovery and configuration automation solution for ProxySQL. My colleague Nik Vyzas wrote a great post on this topic, and I suggest you read it. I wrote this article to share my first impressions of Consul (for whomever it might interest).

Consul is a complete service discovery solution. In this respect it differs from its alternative etcd, which only provides a foundation to build such solutions.

Consul consists of a single, small binary (the Linux binary is 24MB). You just download it, edit the configuration file and start the program. It doesn’t need a package. The Consul binary does it all. You can start it as a server or as a client. It also provides a set of administrative tasks, usable via the command-line or the HTTP API.

But what is Consul about?

I mentioned service discovery, which is the primary purpose of Consul. But what is it?

Suppose that you have a Percona XtraDB Cluster. Applications query this cluster via ProxySQL (or another proxy), which distributes the workload among the running servers. But the applications still need to know ProxySQL’s address and port. But what if we can’t reach the ProxySQL instance? Well, service discovery is what allows applications to reach a running ProxySQL server. A service discovery server is a server that tells applications the IP address and port of a running service they need. It can also store information about service configuration.

Let’s continue with our Percona XtraDB Cluster and ProxySQL example. Here is what Consul can do for us:

  • When a node is added, automatically discover other nodes in the cluster.
  • When a proxy is added, automatically discover all cluster nodes.
  • Automatically configure the proxy with users and other settings.
  • Even some basic monitoring, thanks to Consul health checks.

Now, let’s see how it does these things.


If you only want to test Consul interfaces from a developer point of view, you can start a stand-alone Consul instance in developer mode. This means that Consul will run in-memory, and will not write anything to disk.

Applications can query Consul in two ways. It can be queried like a DNS server, which is the most lightweight option. For example, an application can send a request for mysql.service.dc1.consul, which means “please find a running MySQL service, in the datacenter called dc1.” Consul will reply with an A or SRV record, with the IP and possibly the port of a running server.

You can make the same request via a REST API. The API can register or unregister services, add health checks, and so on.

Consul performs health checks to find out which services are running. Consul expects to receive an integer representing success or error, just like Nagios. In fact, you can use Nagios plugins with Consul. You can even use Consul as a basis for a distributed monitoring system.

The HTTP API also includes endpoints for a KV store. Under the hood, Consul includes BoltDB. This means you can use Consul for configuration automation. Endpoints are also provided to implement distributed semaphores and leader election.

The Consul binary also provides an easy command-line interface, mainly used for administrative tasks: registering or unregistering services, adding new nodes to Consul, and so on. It also provides good diagnostic commands.


In production, Consul runs as a cluster. As mentioned above, each instance can be a server or a client. Clients have less responsibilities: when they receive queries (reads) or transactions (writes), they act like a proxy and forward them to a server. Each client also executes health checks against some services, and informs servers about their health status.

Servers are one of two types: an elected leader, and its followers. The leader can change at any moment. When a follower receives a request from a client, it forwards it to the leader. If it is a transaction, the leader logs it locally and replicates it to the followers. When more than half of them accept the changes, the transaction gets committed. The term “transaction” is a bit confusing: since version 0.7, think of a “transaction” as something that changes the state of the cluster.

Reads can have three different consistency levels, where stricter levels are slower. Followers forward queries to the leader by default, which in turn contacts other followers to check if it is still the leader. This mechanism guarantees that the applications (the users) never receive stale data. However, it requires a considerable amount of work. For this reason, less reliable but faster consistency levels are supported (depending on the use case).

Therefore, we can say that having more servers improves the reliability in case of some nodes crashes, but lowers the performance because it implies more network communications. The recommended number of servers is five. Having a high number of clients makes the system more scalable, because the health check and request forwarding work is distributed over all clients.

Multi-cluster configurations are natively supported, for geographically distributed environments. Each cluster serves data about different services. Applications, however, can query any cluster. If necessary, Consul will forward the request to the proper cluster to retrieve the required information.


Currently most Linux distributions do not include Consul. However the package is present in some versions that are not yet stable (like Debian Testing and Ubuntu 16.10).

Some community packages also exist. Before using them, you should test them to be sure that they are production-ready.

Consul in Docker

Consul’s official Docker image is based on Alpine Linux, which makes it very small. Alpine Linux is a distribution designed for embedded environments, and has recently become quite popular in the Docker world. It is based on Busybox, a tiny re-implementation of GNU basic tools.

The image is also very secure. Normally containers run a daemon as root; Consul runs as consul user, via a sudo alternative called gosu.

A Good Use Case

When we start a new container in a “dockerized” environment, we cannot predict its IP. This is a major pain when setting up a cluster: all nodes must be configured with other nodes addresses, and optionally a proxy (like ProxySQL) must know the nodes’ addresses. The problem reappears every time we add a new node, a new slave, or a new proxy. Consul is a great way to solve this problem. We will see this in depth in a future post.

Why Percona didn’t participate in the 2016 Gartner Operational DBMS MQ

October 7, 2016 - 1:14pm
Graphic courtesy of Gartner:

Around this time last year, Gartner named Percona a Challenger in the 2015 Magic Quadrant for Operational Database Management Systems (Gartner Operational DBMS MQ). For those not familiar with these, Magic Quadrants (MQ) are a set of market research reports published by Gartner that provide qualitative analysis into a market by highlighting its participants, relevant trends, and overall depth.

While we were excited with our first placement in the Gartner MQ, Percona elected to be excluded in the 2016 Gartner Operational DBMS MQ due to changes in the inclusion criteria this year, one of which was an emphasis on venture capital funding.

While many of the companies featured in the MQ provide open source software, they also sell proprietary or open core versions of their software. Open source companies are formed as an alternative to commercial software companies. To a company backed by investors, and a board of directors looking to maximize revenue and market capitalization, open core or business source licenses (BSL) are an attractive prospect. However, the reasons for moving to a monetized-software model misses the point of open source companies.

At Percona we ship all our software as open source, and make it easily accessible to everyone. We have been doing it the “hard” way for the last 10 years, by avoiding the entanglements of venture capital. This gives us the freedom to plan reasonable and achievable growth rates without sacrificing our open source ideals.

Percona will continue to focus on what we think is important to our customers, our users and the open source database market as whole:

Our model at Percona is keeping our enterprise-grade software, such as Percona Server for MySQLPercona Server for MongoDB, Percona XtraDB Cluster and Percona Xtrabackup, completely open source and free. Our commitment to open source remains attractive to our customers because it prevents vendor lock-in. And being a successful open source company means prioritizing the value of your customer solutions over selling software. We pair our products with great services, such as Support for MySQL and MongoDB, RDBA for MySQL and MongoDB and Percona Care.

We enjoyed working with Gartner last year and look forward to working with them on future MQs as criteria continues to evolve.

In the meantime, we will always strive to put the customer first. At every phase of Percona’s journey, we remain very grateful to the customers who trust us with their database environments. We will continue to earn and honor that trust.

From Percona Live Europe 2016: Thank You, Attendees!

October 7, 2016 - 7:42am

From everyone at Percona, we’d like to send a big thank you to all our sponsors, exhibitors, and attendees at this year’s Percona Live Europe Open Source Database Conference.

The conference was an outstanding success! The sold-out event brought the European open source database community together, with a technical emphasis on the core topics of MySQL, MongoDB, PostgreSQL and other open source databases.

We are posting tutorial and session presentation slides at the Percona Live Europe site, and all of them should be available shortly. To get slides for a talk, browse the program schedule, find a topic that interests you and click that topic. The slides are at the bottom of the pop-up window containing the talk speaker and description. Click the “download slides” link to download them.

Highlights This Year:

Thanks to Our Sponsors!

We would like to thank all of our valuable event sponsors – your participation really makes the show happen.

As valued Percona partners, we invite you to be a sponsor of the Percona Live Open Source Database Conferences. We have developed multiple sponsorship options to allow participation at a level that best meets your partnering needs. Our goal is to create a significant opportunity for our partners to interact with Percona customers, other partners and community members. Sponsorship opportunities are available for both our 2017 North America and European Conferences.

Percona Live Europe 2017: Dublin, Ireland!

Next year’s Percona Live Europe will take place September 25th-27th, 2017, in Dublin, Ireland. Put it on your calendar now! Information on speakers, talks, sponsorship and registration will be available in the coming months.

We look forward to seeing you there!

Percona Live Open Source Database Conference 2017: Santa Clara, CA

The Percona Live Open Source Database Conference 2017 is the premier event for the diverse and active open source database community, as well as organizations that develop and use open source database software. 

The conference will feature one day of tutorials and three days of keynote talks and breakout sessions related to open source databases and software. Attendees get briefed on the hottest topics, learn about building and maintaining high-performing deployments and hear from top industry leaders.

The Percona Live Open Source Database Conference 2017 is April 24th – 27th, at the Hyatt Regency Santa Clara & The Santa Clara Convention Center.

The Percona Live 2017 Call for Papers is open until October 31, 2016. Do you have a MySQL, MongoDB, PostgreSQL or open source database use case to share, a skill to teach, or a big idea to discuss? We invite you to submit your speaking proposal for either breakout or tutorial sessions. This conference provides an opportunity to network with peers and technology professionals by bringing together accomplished DBA’s, system architects and developers from around the world to share their knowledge and experience.

Submit your proposal here.

Percona Live 2017 sponsorship opportunities are available now. Click here to find out how to sponsor.

Register for Percona Live 2017 now! Super Saver registration lasts until Nov 13. Click here to register.

Use MySQL Shell Securely from Bash

October 6, 2016 - 11:04am

This blog post discusses how to use MySQL shell securely from Bash.

The Bourne shell is everywhere. It is part of the most basic Linux install. You will find it on the biggest SPARC machines down to a Raspberry Pi. It is nice to know it will always be there. Unlike other, more complex scripting environments such as Perl and Python, it doesn’t require any additional dependencies to be installed.

Anyone that has automated a MySQL task using a Bourne shell such as Bash will be familiar with the following message:

Warning: Using a password on the command line interface can be insecure.

This semi-ominous warning describes a security flaw in passing credentials on a process command line. Any unprivileged user on the system can use a command like ps aux to find these credentials. While the MySQL shell has added some additional protections to hide these credentials, other information such as database user names, host names, ports and sockets can still be determined by process scanning.

The recommended approach to get around this warning is to use a configuration file to store these credentials. However, in the case of a self-contained script, we may not want to require the user to create a credential file. It would need to be maintained, and might interfere with other tools that use the MySQL shell. For creating automated tools in the Percona Development Services department, I came up with a couple of methods for integrating the MySQL shell into Bash (or any other Bourne Shell) securely.

This first script demonstrates the shell function mysql_exec(). This is for use with small queries that are normally passed to the MySQL shell via the -e parameter.

#!/bin/sh # call mysql client from shell script without # passing credentials on command line # This demonstrates small single queries using # the -e parameter. Credentials and connection # info are sent through standard input. # david . bennett @ percona . com - 9/24/2016 mysql_user=root mysql_password=password mysql_host= mysql_port=3306 mysql_database=test mysql_exec() { local query="$1" local opts="$2" mysql_exec_result=$( printf "%sn" "[client]" "user=${mysql_user}" "password=${mysql_password}" "host=${mysql_host}" "port=${mysql_port}" "database=${mysql_database}" | mysql --defaults-file=/dev/stdin "${opts}" -e "${query}" ) } mysql_exec "select 'Hello World' as Message" echo "${mysql_exec_result}"

The above script allows the specification of credentials and connection information via variables in the script. As with any other shell script, these can be moved into a configuration file and secured with chown/chmod, then included with the source or . command. The mysql_exec() function creates a default my.cnf [client] on the fly and passes it to the MySQL shell via –defaults-file=/dev/stdin. The configuration is never written to disk, which makes this method a bit more secure.

Sometimes, you need to process too many queries to pass on the command line. In this case, there is another technique for passing the credentials.

mysql_exec_from_file() { local query_file="$1" local opts="$2" local tmpcnf="$(mktemp)" chmod 600 "${tmpcnf}" printf "%sn" "[client]" "user=${mysql_user}" "password=${mysql_password}" "host=${mysql_host}" "port=${mysql_port}" "database=${mysql_database}" > "${tmpcnf}" mysql_exec_from_file_result=$( mysql --defaults-file="${tmpcnf}" "$opts" < "${query_file}" ) rm "${tmpcnf}" }

This technique uses a temporary file, which allows the queries to be passed from a file or input device. Restrictive permissions are set on the file before the configuration is written. The temporary configuration is removed immediately after the shell exits.

While other languages may offer cleaner ways to access your MySQL database, you’ll always know that you’ll be able to execute your shell-based MySQL job scripts across all of the Unix machines in your enterprise.

You can download these scripts directly from my github account.

Happy scripting!

Percona Live Europe 2016: “Google Cloud SQL: MySQL in the Cloud” with Pravin Pillai

October 5, 2016 - 2:12pm

We’re winding down here at the Percona Live Europe Open Source Database Conference 2016, but there are still talks going on.

The conference has a technical focus with an emphasis on the core topics of MySQL, MongoDB, PostgreSQL and other open source databases. Tackling subjects such as analytics, architecture and design, security, operations, scalability and performance, Percona Live provides in-depth discussions for your high-availability, IoT, cloud, big data and other changing business needs.

In the area of cloud and cloud-based databases, we have Pravin Pillai, Google’s Big Data Go-to-Market Strategy guru. His talk covered Google Cloud SQL: MySQL in the Cloud. In this session, he provided an overview of Google Cloud Platform (GCP), followed by a deep dive on Google Cloud SQL. Google Cloud SQL is a fully managed database service for MySQL.

Pravin went over the benefits offered by the service, provided a demonstration of how to use the service, and discussed best practices to help leverage Cloud SQL to reduce the administrative burden of running MySQL databases. In this talk, he covered:

  • Google Cloud SQL key features
  • Google Cloud SQL set up and use
  • Best practices for Google Cloud SQL

Percona’s EMEA Field Marketing Manager Kamal Taibi was able to chat with Pravin and get better insight into his talk. Check it out below!

Percona Live Europe 2016: “Inside CockroachDB’s Survivability Model” with Marc Berhault

October 5, 2016 - 12:48pm

The Percona Live Europe 2016 conference is moving along quickly, and today we saw a lot of presentations on open source database that AREN’T MySQL or MongoDB.

There are more than 100 open source databases in the world, each with their own design and use case sweet spots. At Percona Live Europe, we get a chance to learn about some of the most popular open source databases, their design use cases, user stories as well as how they work with together with MySQL and MongoDB.

One such talk was from Marc Berhault, Engineer at Cockroach Labs. CockroachDB is a distributed SQL database built on a transactional and strongly-consistent key-value store.

This talk took a deep dive into CockroachDB, a database whose “survive and thrive” model aims to bring the best aspects of Google’s next generation database, Spanner, to the rest of the world via open source. Marc looked specifically at CockroachDB’s operations and deployment model, and explored how rebalancing, repair, and symmetric nodes combine to create both simple deployment and a strong recovery story. He then explored how you can both contribute to it and use it to build scalable, resilient applications that can be deployed to any cloud infrastructure.

Percona’s EMEA Field Marketing Manager Kamal Taibi was able to chat with Marc, and get better insight into his talk. Check it out below!

Percona Live Europe 2016: “MongoDB Query Monitoring” with Pavel Trukhanov

October 5, 2016 - 12:09pm

Lots of talks and presentations going on at the Percona Live Europe Open Source Database Conference 2016 on day two! Today is just as packed as yesterday, and we were able to attend some more of the talks.

MongoDB has had an increasing presence at Percona Live Europe, and had several sessions devoted to it today. One such presentation was run by Pavel Trukhanov, CEO of okmeter. His talk was on MongoDB Query Monitoring.

He discussed how the main mission for every database instance is to execute commands and queries. Knowing if your database is behaving well means knowing if your application is getting the correct query responses (and in a reasonable amount of time). So it’s crucially important to monitor queries, responses and lag time.

Pavel discussed how they implemented MongoDB monitoring in their system that monitored their SaaS

He talked about the following questions:

  • What metrics do you need to gather?
  • How do you get metrics without affecting DB performance?
  • How do you display these metrics, so on-call DBAs can quickly understand ongoing issues?
  • What diagnostics does MongoDB already have, and what metrics can you access by sniffing DB traffic
  • How to process metrics efficiently?

Percona’s EMEA Field Marketing Manager Kamal Taibi was able to chat with Pavel Trukhanov and get better insight into his talk. Check it out below!

Percona Live Europe 2016: Day Two Keynote Speakers

October 5, 2016 - 11:28am

Hello again, from day two of the sold out Percona Live Europe Open Source Database Conference! There is still much excitement here at the conference, and today looks to be just as busy as yesterday.

Day two of Percona Live Europe 2016 kicked off once again with a keynote presentation by Percona co-founder and CEO Peter Zaitsev on Percona Contributions to the Open Source Database Ecosystem, which highlighted Percona’s focus, approach and contributions to the open source database community. Peter talked about his passion for open source software, database technology and finding the best solutions for our customers. This is summarized by Percona’s mission statement: To champion open source database solutions.

Percona embraces the idea of standing on the shoulders of giants – there are many solutions that can (and do) work, and rarely a single magic bullet that fixes everything. We promise to seek the best solution for typical database issues, and not just promote the solution we develop.

Percona believes in the value and power of open source instead of open core or business source licenses (BS license). It stands by the idea that it’s better for the community if we embrace the whole community. What’s best for our customers is what’s best for us, and that sometimes means recommending another open source software option rather than ours. We won’t let our ego get in the way of the best solution!

Afterwards, Otto Kekäläinen, from the MariaDB Foundation, gave a keynote on Ensuring Continuity and Open Collaboration in the MariaDB Ecosystem. The MariaDB Foundation and Corporation are separate entities – the Foundation is sponsored by multiple companies and has the goal of preserving the continuity of MariaDB open source code.

The MariaDB Foundation welcomes new contributors, with their development work focusing on issues that benefit as many users as possible. They publish code in real time, with public bug tracking and transparent progress and priorities. The foundation focuses on open source, not vendor lock-in, with contributions from multiple vendors and community members. Continuing with many of the conversations started at Percona Live, over 70 attendees will be at their developer meeting starting tomorrow in Amsterdam. They have a stable release of 10.2 planned for December.

Geir Hoydalsvik from Oracle wrapped up the keynotes with his presentation: State of the Dolphin. This talk introduced MySQL 8.0. Geir discussed the MySQL Cloud Service, comprised of the Oracle public cloud and managed database service, and powered by MySQL Enterprise editions (which include support).

MySQL 8.0 will also include new invisible indexes, role-based management, Performance Schema indexes and persist configuration. Geir got a big laugh from the crowd when he announced they had finally fixed a bug reported by Peter in 2003.

Geir also introduced MySQL InnoDB cluster – a single, easy-to-use, out-of-the-box, completely integrated high availability (HA) solution. It will have a four-step rollout:

  • MySQL Document Store was announced in April at Percona Live 2016.
  • HA was announced two weeks ago ND
  • Read scale-out and write scale-out are coming

He closed his Percona Live Europe presentation with a great demo featuring former Perconian Fred Deschamps setting up MySQL HA in four minutes!

Percona Server 5.5.52-38.3 is now available

October 5, 2016 - 8:54am

Percona announces the release of Percona Server 5.5.52-38.3 on October 5, 2016. Based on MySQL 5.5.52, including all the bug fixes in it, Percona Server 5.5.52-38.3 is now the current stable release in the 5.5 series.

Percona Server is open-source and free. You can find release details of the release in the 5.5.52-38.3 milestone on Launchpad. Downloads are available here and from the Percona Software Repositories.

Bugs Fixed:
  • mysql_upgrade now does not binlog its actions by default. To restore the previous behavior, use --write-binlog option. Bug fixed #1065841 (upstream #56155).
  • After fixing bug #1540338, system table engine validation check is no longer skipped for tables that don’t have an explicit ENGINE clause in the CREATE TABLE statement. If MySQL upgrade statements are replicated, and the slave does not have the MyISAM set as a default storage engine, then the CREATE TABLE mysql.server statement would attempt to create an InnoDB table and fail because mysql_system_tables.sql script omitted explicit engine setting for this table. Bug fixed #1600056.
  • Audit Log Plugin would hang when trying to write a log record of audit_log_buffer_size length. Bug fixed #1588439.
  • Audit Log Plugin malformed record could be written after audit_log_flush was set to ON in ASYNC and PERFORMANCE modes. Bug fixed #1613650.
  • INFORMATION_SCHEMA.TABLES (or other schema info table) table query running in parallel with INFORMATION_SCHEMA.GLOBAL_TEMPORARY_TABLES query may result in TABLES-query thread context having a mutex locked twice, or unlocked twice, or left locked, resulting in crashes or hangs. Bug fixed #1614849.

Other bugs fixed: #1626002 (upstream #83073), #904714, #1098718, #1610102, #1610110, #1613663, #1613728, #1613986, #1614885, #1615959, #1616091, #1616753, #1616768, #1616937, #1617150, #1617323, #1618478, #1618718, #1618811, #1618819, #1619547, #1619572, #1619665, #1620200, #1626458, #1626500, and #1628417.

Find the release notes for Percona Server 5.5.52-38.3 in our online documentation. Report bugs on the launchpad bug tracker.

Percona Live Europe 2016: “PostgreSQL Worst Practices” with Ilya Kosmodemiansky

October 4, 2016 - 2:19pm

Day one of Percona Live Europe 2016 is coming to a close, but the sessions keep coming. The afternoon contained just as many packed presentations as the morning, with the same enthusiastic transfer of knowledge.

In getting Percona Live Europe 2016 ready this year, something unexpected happened. We noticed the PostgreSQL community come together and submit many interesting talks about this great open source database technology. The effort on their part pushed us to go further than we initially planned this year, and we’ve put together a full day of PostgreSQL talks. This year at Percona Live Europe this year marked our first ever PostgreSQL Day (on October 4th)!

One of the talks that filled this category was PostgreSQL Worst Practices with PostgreSQL-Consulting LLC’s Ilya Kosmodemiansky. In his talk, Ilya prepared a bunch of slides, where each slide described an excellent example of how people can screw up their PostgreSQL database. Each example came with a weighted number that showed how frequently that kind of problem crops up. He then went through some of the slides and explained why such practices are bad, and how to avoid running into them.

Some of Ilya’s recommendations:

  • Create as many indexes as possible
  • Always keep all your time series data
  • Turn auto-vacuum off
  • Never use foreign keys
  • Never use graphical monitoring
  • Use replication instead of backups

Percona’s EMEA Field Marketing Manager Kamal Taibi was able to chat with Ilya Kosmodemiansky and get better insight into his talk. Check it out below!

Percona Live Europe 2016: “MySQL 8.0: what’s new in Optimizer” with Manyi Lu

October 4, 2016 - 11:43am

Today was the first day of sessions at Percona Live Europe 2016, and it was packed with exciting talks and important information on open source databases. Some of the most anticipated talks are those that cover what to expect in MySQL 8.0.

One of those talks was given by Oracle’s Manyi Lu, Director of Software Development. She discussed MySQL 8.0: what’s new in Optimizer.

In her talk, Manyi discussed what we could look forward to in MySQL 8.0’s optimizer. There are substantial improvements in the optimizer in MySQL 5.7 and MySQL 8.0. Most noticeably, users can now combine relational data with NoSQL using the new JSON features. MySQL also now supports functional indexes through generated columns. MySQL 8.0 also makes DBA’s lives easier with EXPLAIN options for running queries and the query rewrite plugin.

On the performance side, MySQL can avoid creating temporary tables for UNION ALL, enable range scans on IN queries with row value expressions and make use of condition filtering. MySQL 8.0 also contains histograms, invisible indexes, common table expressions and we extended the JSON support.

Percona’s EMEA Field Marketing Manager Kamal Taibi was able to chat with Manyi Lu and get some insights into her talk. Check it out below!

Percona Live Europe 2016: Day One Keynote Speakers

October 4, 2016 - 11:04am

Welcome to the first day of the Percona Live Europe Open Source Database Conference!

Percona Live Europe is the premier event for the diverse and active European open source database community, as well as businesses that develop and use open source database software. The conference has a technical focus with an emphasis on the core topics of MySQL, MongoDB, PostgreSQL and other open source databases. Tackling subjects such as analytics, architecture and design, security, operations, scalability and performance, Percona Live provides in-depth discussions for your high-availability, IoT, cloud, big data and other changing business needs.

Day One of the sold out conference kicked off with a keynote presentation by Percona co-founder and CEO, Peter Zaitsev, on the current open source database ecosystem. He talked about how the explosion of growth in devices has led to substantial growth in databases. Due to this growth, proprietary databases have become too expensive to purchase and maintain.

The top Internet applications embraced open source databases a long time ago, and now enterprises are catching up. Open source benefits include no vendor lock-in, more flexibility, more compatibility and faster innovation. In addition, the TCO for open source is reported to be 3-10x less than proprietary enterprise software.

According to Gartner, by 2018 more than 70% of newly developed applications will run on open source databases. At the same time, 80% of existing applications are candidates for open source migration, and 50% of existing ODBMS will move to open source DBMS.

All the top open source database systems are focused on innovation, with globally distributed development teams. In the spirit of open source innovation, Percona Live Europe features keynotes from open source innovators such as Oracle MySQL, MariaDB and Facebook, along with in-depth technical presentations about MongoDB, Redis, RocksDB and PostgreSQL.

Peter invited several developers and ecosystem members to come up and discuss how the technologies they work on inspire them:

  • Ilya Kosmodemiansky for PostgreSQL
  • David Murphy for MongoDB
  • Ilya Verbitskiy for RethinkDB
  • Victor Tarnavsky for Clickhouse
  • Konstantin Osipov for Tarantool
  • Reńe Cannao for ProxySQL

Mark Callaghan from Facebook wrapped up the morning keynotes talking about how MySQL and MongoDB are quickly developing into great products for web-scale deployments. MySQL has traditionally focused on features users need, while more recent arrival MongoDB focused on features that scale. Performance, efficiency, manageability, usability and availability are all important. Now MySQL has begun to focus on features that scale, while MongoDB has been adding features users need. Both are getting much better at web-scale, which is great for all users.

Mark will be giving a talk tomorrow on Performance and Efficiency with MyRocks and MongoRocks from 2:40 PM – 3:05 PM. Check it out!

Percona XtraDB Cluster 5.6.32-25.17 is now available

October 4, 2016 - 8:59am

Percona announces the new release of Percona XtraDB Cluster 5.6.32-25.17 on October 4, 2016. Binaries are available from the downloads area or our software repositories.

Percona XtraDB Cluster 5.6.32-25.17 is now the current release, based on the following:

  • Percona Server 5.6.32-78.1
  • Galera Replication library 3.17
  • Codership wsrep API version 25
Bugs Fixed:
  • Fixed DONOR node getting stuck in Joined state after successful SST. Bugs fixed #1608680 and #1611728.
  • Removed protection against repeated calls of wsrep->pause() on the same node to allow parallel RSU operation.
  • Fixed error when running SHOW STATUS during group state update.
  • Setting the wsrep_auto_increment_control to OFF didn’t restore the original user set value.
  • Corrected the return code of sst_flush_tables() function to return a non-negative error code and thus pass assertion.
  • Using Percona XtraBackup as the SST method now requires Percona XtraBackup 2.3.5 or later.
  • Fixed memory leak and stale pointer due to stats not freeing when toggling the wsrep_provider variable.
  • Fixed failure of ROLLBACK to register wsrep_handler.
  • Improved rollback process to ensure that when a transaction is rolled back, any statements open by the transaction are also rolled back.
  • Fixed failure of symmetric encryption during SST.
  • Performing an SST would display the encryption key in the logs. It’s recommended to use encrypt-key-file instead of encrypt-key option.
  • Node transitioning to non-primary state with active ALTER TABLE could result in a crash.
  • Fixed setting of seqno in grastate.dat to -1 on clean shutdown.
  • Fixed failure of asynchronous TOI actions (like DROP) for non-primary nodes.
  • Removed the unused sst_special_dirs variable.
  • Added support of defaults-group-suffix for SST scripts.
  • Other low-level fixes and improvements for better stability.

Help us improve our software quality by reporting any bugs you encounter using our bug tracking system. As always, thanks for your continued support of Percona!

MySQL 8.0 General Tablespaces: File per Database (and no FRM files)

October 3, 2016 - 3:12pm

In this blog post, we’ll look at MySQL 8.0 general tablespaces.


MySQL 8.0 (the DMR version is available now) has two great features (among others):

  1. The new data dictionary completely removed *.frm files, which is great
  2. The ability to create a tablespace and assign a group of tables to it (originally introduced in 5.7).

With those two options, we can use MySQL for creating multi-tenant environments with a “schema per customer” approach.

Schema per Customer with MySQL 8.0

Using schema per customer with older MySQL versions presents issues  … namely the number of files. (I’ve described schema per customer approach in MySQL in an older blog post.) Let’s say you are hosting a Drupal-based site for your customers, and you create a new database (AKA “schema”) per each customer. You do not want to create one schema for all because each customer wants to extend Drupal and use plugins that will create their own unique set of tables. With tablespace per table and an FRM file, 10K customers will end up with:

  • 65 tables per schema,
  • Two files per table, and
  • 10K schemas

. . . or a grand total of 1.3 million files!

With MySQL 8.0, we can create a tablespace file per each schema and place those tablespace files in a specific set of directories. For example, if we have demo, test and production accounts, we can create a set of directories (outside of the MySQL datadir) and place tablespaces inside them. With no FRM files, we will only have 10 thousands of files, evenly split across multiple locations.


mysql> create database if not exists drupal_customer_name; Query OK, 1 row affected (0.00 sec) mysql> CREATE TABLESPACE drupal_customer_name ADD DATAFILE '/var/lib/mysql_datafiles/drupal_demo/drupal_customer_name.ibd' Engine=InnoDB; Query OK, 0 rows affected (0.16 sec) mysql> use drupal_customer_name; Database changed mysql> create table t(i int) ENGINE=InnoDB TABLESPACE drupal_customer_name; Query OK, 0 rows affected (0.13 sec) mysql> create table t1(i int) ENGINE=InnoDB TABLESPACE drupal_customer_name; Query OK, 0 rows affected (0.00 sec)

Now let’s look at the directory:

ls -lah /var/lib/mysql_datafiles/drupal_demo/ -rw-r----- 1 mysql mysql 144K Sep 26 00:58 drupal_customer_name.ibd

The downside of this approach is that the “create tables” command should have the tablespace name in it. I’ve created a sample “deploy” script to create a new schema for a customer:

customer_name="my_drupal_customer" mysql -f -vvv -e "create database if not exists $customer_name; CREATE TABLESPACE $customer_name ADD DATAFILE '/var/lib/mysql_datafiles/drupal_demo/${customer_name}.ibd' engine=InnoDB;" cat drupal.sql | sed -e "s/ENGINE=InnoDB/ENGINE=InnoDB TABLESPACE $customer_name/g"|mysql $customer_name

Size and Timing

In the next post, I plan to benchmark the performance of millions of tables with MySQL 8.0 and tablespace file per database. Here, I’ve compared the create table performance between MySQL 5.7 (with FRM and file per table), MySQL 8.0 with a file per table (FRMs are gone) and MySQL 8.0 with a file per database. Time to create 1000 databases for Drupal (no data), 65 tables in each database:

  • MySQL 5.7, file per table: 3m21.819s
  • MySQL 8.0,  file per table: 2m54.358s
  • MySQL 8.0,  file per database: 1m55.133s

What about the size on disk? It did not change much. Actually, the size on disk for the blank tables (no data) is more in MySQL 8.0:

  • 8.0: 10M (10485760 bytes) per 65 blank tables (Drupal)
  • 5.7: 9.2M (9280821 bytes) per 65 blank tables, including FRM files

With 10K schemas, it is 100G just to store tablespaces (schema overhead). At the same time, it is not 100% overhead: InnoDB creates 112K+ the tablespace file right away (it depends upon the table structure). When the data is loaded it will use this reserved space.


New Data Dictionary

MySQL 8.0 uses a new transactional data dictionary.

MySQL Server 8.0 now incorporates a global data dictionary containing information about database objects in transactional tables. In previous MySQL releases, dictionary data was stored in metadata files and nontransactional system tables.

That also means that all old metadata files are gone: no .frm, .par, .trn, .trg files. In addition tables inside a MySQL database are not using MyISAM tables anymore. The new installation has no single MyISAM table, although the MyISAM engine is supported:

Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 2299 Server version: 8.0.0-dmr MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> select count(*) from information_schema.tables where engine = 'MyISAM'; +----------+ | count(*) | +----------+ | 0 | +----------+ 1 row in set (0.03 sec) mysql> select count(*), engine from information_schema.tables where table_schema = 'mysql' group by engine; +----------+--------+ | count(*) | ENGINE | +----------+--------+ | 2 | CSV | | 30 | InnoDB | +----------+--------+ 2 rows in set (0.00 sec)


FRM free installation looks great (performance testing of it is my next step). I would also love to see some additional features in MySQL 8.0:

  • Easier tablespace level manipulations, i.e. “optimize tablespace” to re-claim space in the general tablespace file; add “if exists / if not exists” to create/drop tablespace
  • Much smaller “reserved” space: if the data dictionary is stored elsewhere, we can create a one-page file (16K) + table structure.

Please note: MySQL 8.0 is not production ready and only available for preview.

Percona Live Europe 2016: “MongoDB 101, Part Two” with David Murphy Kim Wilkins

October 3, 2016 - 12:05pm

The first day of the Percona Live Europe Open Source Database Conference in Amsterdam is moving right along. The tutorials today have been well-attended, and contain a great deal of useful information.

One of the more popular tutorials was  on MongoDB 101, Part  One and Part Two. This hands-on tutorial showed how to navigate your way through the steps that lead to becoming a MongoDB DBA.

The afternoon session (part two) covered more advanced topics for the DBA and shared best practices and tips on how to perform the most common activities.

This tutorial covered:

  • Monitoring and trending for your MongoDB installation
  • Performance problems – what to look for
  • Binary and logical backup
  • What tools to use
  • Sharding
  • Shard tagging
  • Understanding the differences between database engine types: B-Tree, LSM, Fractal Trees
  • MMAPv1: pros and cons
  • PerconaFT: pros and cons
  • WiredTiger: pros and cons
  • MongoRocks: pros and cons
  • Complex replica sets
  • Scaling up and down gotchas
  • Taming the schema
  • Managing users in a practical way

Percona’s EMEA Field Marketing Manager Kamal Taibi was able to chat with David Murphy (Percona’s MongoDB Practice Manager) who, along with Rackspace’s Kimberly Wilkins (Principal Engineer Databases), presented part two of the MongoDB 101 tutorial. Check it out below!

Percona Live Europe 2016: “Become a MySQL DBA” with Severalnines’ Johan Andersson and Krzysztof Książek

October 3, 2016 - 11:18am

The Percona Live Europe Open Source Database Conference 2016 in Amsterdam got off to a great start on Monday with a day of tutorials. One of the ones most anticipated was Become a MySQL DBA Part 1 and Part 2, given by Severalnines’ Johan Andersson (CTO) and Krzysztof Książek (Senior Support Engineer).

This hands-on tutorial is intended to help you navigate your way through the steps that lead to becoming a MySQL DBA. Johan and Krzysztof discussed the most important aspects of managing MySQL infrastructure, as well as shared best practices and tips on how to perform the most common activities.

They covered:

  • Monitoring and trending for your MySQL installation
  • Differences between NDB Vs. Galera
  • MySQL Cluster: Pros and Cons
  • Galera Cluster: Pros and Cons
  • How to ensure you are proactive in monitoring the health of your MySQL?
  • How to diagnose issues with your MySQL setup?
  • Slow queries performance problems – what to look for?
  • Error logs
  • Hardware and OS issues
  • Backups
  • Binary and logical backup
  • Most common maintenance operations
  • Schema changes
  • Batch operations
  • Replication topology changes
  • Database upgrades

After their talk, Percona’s EMEA Field Marketing Manager Kamal Taibi was able to quickly chat with the two about their talk, and about the conference. Watch it below!

Percona Live Europe featured talk with Philipp Krenn — Elasticsearch for SQL Users

October 2, 2016 - 11:44am

Welcome to another Percona Live Europe featured talk with Percona Live Europe 2016: Amsterdam speakers! In this series of blogs, we’ll highlight some of the speakers that will be at this year’s conference. We’ll also discuss the technologies and outlooks of the speakers themselves. Make sure to read to the end to get a special Percona Live Europe registration bonus!

In this Percona Live Europe featured talk, we’ll meet Philipp Krenn, Infrastructure | Developer Advocate at Elastic. His talk will be on Elasticsearch for SQL Users. Elasticsearch is a document store with its own query DSL. In his talk, he will look at several well-understood concepts and SQL queries from the relational paradigm and map these to their Elasticsearch equivalents.

I had a chance to speak with Philipp and learn a bit more about SQL searches:

Give me a brief history of yourself: how you got into database development, where you work, what you love about it.

I have switched between development and operations a few times and have been focusing on cloud and databases lately. This includes relational and non-relational databases, and how to find the right mix of solutions for projects. Since I started participating in more and more meetups and events, I was lucky to join the great team at Elastic. I now get to spread the good word and work on the infrastructure team. Now I can be found at lots of events, and I absolutely love to get out to the community and talk about all things search, database, metrics, operations and tech in general.

Percona: Your talk is called “Elasticsearch for SQL Users.” What is Elasticsearch? How can businesses use it to improve their database environment?

Philipp: Elasticsearch started off as a full-text search engine, providing the distribution, REST interface and Query DSL around the well-known Apache Lucene library. By now it covers logging, metrics, analytics, security and many more uses cases – but we’ll focus on search.

Many businesses have the need for a search that just works. While this sounds very simple, it can be challenging to implement, and many databases are just not for this task. That’s why Elasticsearch is a fantastic tool that you can add when you need a powerful search.

Percona: Why is bridging the worlds of relational and NoSQL databases important?

Philipp: Both sides are around to stay. I feel that the relational and the NoSQL worlds are growing closer together. Relational systems are getting better at scaling and replicating, as well as adding more flexible data types. Whereas NoSQL systems are adding more features, such as SQL-like interfaces, and slowly improving their tooling. Bridging these two worlds seems to be very fruitful to both, so anybody using both databases can only profit.

Percona: Where do you see MySQL and NoSQL heading in order to deal with some of the database trends that keep you awake at night?

Philipp: It’s a very dynamic landscape, so picking the right tools is not getting easier. And neither of the two systems will replace the other one anytime soon. I imagine a healthy competition for the future, which will hopefully allow all of us to have fewer sleepless nights, because I don’t consider being awake at night a feature!

Percona: What are looking forward to the most at Percona Live Europe this year?

Philipp: Lively discussions and arguments. Building products is just the start. Spreading the word, getting feedback, seeing how you can integrate with other solutions: these are all reasons why conferences are so valuable.

You can read more about Philipp and his thoughts on searches at his website and Twitter handle.

Want to find out more about Philipp, Elasticsearch and database searches? Register for Percona Live Europe 2016, and come see his talk Elasticsearch for SQL Users.

Use the code FeaturedTalk and receive €25 off the current registration price!

Percona Live Europe 2016: Amsterdam is the premier event for the diverse and active open source database community. The conferences have a technical focus with an emphasis on the core topics of MySQL, MongoDB, and other open source databases. Percona live tackles subjects such as analytics, architecture and design, security, operations, scalability and performance. It also provides in-depth discussions for your high-availability, IoT, cloud, big data and other changing business needs. This conference is an opportunity to network with peers and technology professionals by bringing together accomplished DBA’s, system architects and developers from around the world to share their knowledge and experience. All of these people help you learn how to tackle your open source database challenges in a whole new way.

This conference has something for everyone!

Percona Live Europe 2016: Amsterdam is October 3-5 at the Mövenpick Hotel Amsterdam City Centre.

Amsterdam eWeek

Percona Live Europe 2016 is part of Amsterdam eWeek. Amsterdam eWeek provides a platform for national and international companies that focus on online marketing, media and technology and for business managers and entrepreneurs who use them, whether it comes to retail, healthcare, finance, game industry or media. Check it out!

Percona Software News and Roadmap Update with CEO Peter Zaitsev

September 30, 2016 - 10:44am

This blog post is a summary of the webinar Percona Software News and Roadmap Update – Q3 2016 given by Peter Zaitsev on September 28th, 2016.

Over the last few months, I’ve had the opportunity to meet and talk with many of Percona’s customers. I love these meetings, and I always get a bunch of questions about what we’re doing, what our plans are and what releases are coming.

I’m pleased to say there is a great deal going on at Percona, and I thought giving a quick talk about our current software and services, along with our future plans, would provide a simple reference for many of these questions.

A full recording of this webinar, along with the presentation slide deck, can be found here.

Percona Solutions and Services

Let me start by laying out Percona’s company purpose:

To champion unbiased open source database solutions.

What does this mean? It means that we write software to offer you better solutions, and we use the best of what software and technology exists in the open source community.

Percona stands by a set of principles that we feel define us as a company, and are a promise to our customers:

  • 100% free and open source software
  • Focused on finding solution to maximize your success
  • Open source database strategy consulting and implementation
  • No vendor lock-in required

We offer trusted and unbiased expert solutions, support and resource in a broad software ecosystem, including:

  • MySQL
  • Percona Server
  • MariaDB
  • Percona XtraDB Cluster
  • Galera Cluster for MySQL
  • MariaDB Galera Cluster
  • MongoDB
  • Percona Server for MongoDB
  • Amazon RDS for MySQL/MariaDB/Aurora
  • Google CloudSQL

We also have specialization options for PAAS, IAAS, and SAAS solutions like Amazon Web Services, OpenStack, Google Cloud Platform, OpenShift, Ceph, Docker and Kubernetes.

Percona’s immediate business focus includes building long-term partnership relationships through support and managed services.

The next few sections detail our current service offerings, with some outlook on our future plans.

Consulting and Training. Our consulting and training services are available to assist you with whatever project or staff needs you have.

  • Onsite and remote
  • 4 hours to full time (weeks or months)
  • Project and staff augmentation

Moved from Eventum to Zendesk. In order to better and more simply serve and address our customers’ needs, we recently moved from Eventum to Zendesk for reporting issues and requesting services. You can reach our support site here.  So far it seems to be working well, and is providing:

  • A better experience for customers
  • Better responsiveness from our staff
  • Better measurements of customer experience

Advanced HA Included with Enterprise and Premier Support. Starting this past Spring, we included advance high availability (HA) support as part of our Enterprise and Premier support tiers. This advanced support includes coverage for:

  • Percona XtraDB Cluster
  • MariaDB Galera Cluster
  • Galera Cluster for MySQL
  • Upcoming MySQL group replication
  • Upcoming MySQL Innodb Cluster

Enterprise Wide Support Agreements. Our new Enterprise Wide Support option allows you to buy per-environment support coverage that covers all of the servers in your environment, rather than on a per-server basis. This method of support can save you money because it:

  • Covers both “MySQL” and “MongoDB”
  • Means you don’t have to count servers
  • Provides highly customized coverage

Simplified Support Pricing. Get easy to understand support pricing quickly.

To discuss how Percona Support can help your business, please call us at +1-888-316-9775 (USA),
+44 203 608 6727 (Europe), or have us contact you.

Percona Software

Below are the latest and upcoming features in Percona’s software. All of Percona’s software adheres to the following principles:

  • 100% free and open source
  • No restricted “Enterprise” version
  • No “open core”
  • No BS-licensing (BSL)
Percona Server for MySQL 5.7


  • 100% Compatible with MySQL 5.7 Community Edition
  • 100% Free and Open Source
  • Includes Alternatives to Many MySQL Enterprise Features
  • Includes TokuDB Storage Engine
  • Focus on Performance and Operational Visibility

Latest Improvements

Features about to be Released Column level compression (thanks Pinterest!)

  • Database based file layout for TokuDB
  • Integration of TokuDB and Performance Schema
Percona XtraBackup 2.4


  • #1 open source binary hot backup solution for MySQL
  • Alternative to MySQL Enterprise backup
  • Parallel backups, incremental backups, streaming, encryption
  • Supports MySQL, MariaDB, Percona Server

New Features

  • MySQL 5.7 and Percona Server 5.7 Support
  • Support for Innodb Tablespace Encryption
Percona Toolkit


  • “Swiss Army Knife” of tools
  • Helps DBAs be more efficient
  • Helps DBAs make fewer mistakes
  • Supports MySQL, MariaDB, Percona Server, Amazon RDS MySQL

New Features

  • Support for New MySQL, Percona Server and MariaDB versions
  • Working on making tools even safer to use
Percona Server for MongoDB 3.2


  • 100% compatible with MongoDB 3.2 Community Edition
  • 100% open source
  • Alternatives for many MongoDB Enterprise features
  • MongoRocks (RocksDB) storage engine
  • Percona Memory Engine


  • Percona Server for MongoDB 3.2 – GA
  • Support for MongoRocks storage engine
  • PerconaFT storage engine depreciated
  • Implemented Percona Memory Engine
Percona Memory Engine for MongoDB


Percona Memory Engine for MongoDB® is a 100 percent open source in-memory storage engine for Percona Server for MongoDB.

Based on the in-memory storage engine used in MongoDB Enterprise Edition, WiredTiger, Percona Memory Engine for MongoDB delivers extremely high performance and reduced costs for a variety of use cases, including application cache, sophisticated data manipulation, session management and more.

Below are some benchmarks that we ran to demonstrate Percona Memory Engine’s performance.

Percona XtraDB Cluster 5.7


  • Based on Percona Server 5.7
  • Easiest way to bring HA in your MySQL environment
  • Designed to work well in the cloud
  • Multi-master replication with no conflicts
  • Automatic node provisioning for auto scaling and self-healing
  • Available now


  • Brought PXC development in-house to server our customers better
  • Provide complete clustering solution, not set of LEGO pieces
  • Improve usability and ease of use
  • Focus on quality


  • Integrated cluster-aware load balancer with ProxySQL
  • Instrumentation with Performance Schema
  • Support for data at rest encryption (InnoDB tablespace encryption)
  • Your data is safe by default with “strict mode” – prevents using features that do not work correctly
  • Integration with Percona Monitoring and Management (PMM)
Percona Monitoring and Management


  • Comprehensive database-focused monitoring
  • 100% open source, roll-your-own solution
  • Easy to install and use
  • Supports MySQL and MongoDB
  • Version 1.0 focuses on trending and query analyses
  • Management features to come

Check out the Demo

Percona Live Europe is right around the corner!

The Percona Live Open Source Database Conference is the premier event for the diverse and active open source database community, as well as businesses that develop and use open source database software. The conferences have a technical focus with an emphasis on the core topics of MySQL, MongoDB, PostgreSQL and other open source databases. Tackling subjects such as analytics, architecture and design, security, operations, scalability and performance, Percona Live provides in-depth discussions for your high-availability, IoT, cloud, big data and other changing business needs. This conference is an opportunity to network with peers and technology professionals by bringing together accomplished DBA’s, system architects and developers from around the world to share their knowledge and experience – all to help you learn how to tackle your open source database challenges in a whole new way

This conference has something for everyone!

Amsterdam eWeek

Percona Live Europe 2016 is part of Amsterdam eWeek. Amsterdam eWeek provides a platform for national and international companies that focus on online marketing, media and technology and for business managers and entrepreneurs who use them, whether it comes to retail, healthcare, finance, game industry or media. Check it out!

General Inquiries

For general inquiries, please send us your question and someone will contact you.