Percona Live featured talk with Stewart Smith: Why Would I Run MySQL or MariaDB on POWER Anyway?Dave Avery
Welcome to the next installment of our talks with Percona Live Data Performance Conference 2016 speakers! In this series of blogs, we’ll highlight some of the speakers that will be at this year’s conference, as well as discuss the technologies and outlooks of the speakers themselves. Make sure to read to the end to get a special Percona Live registration bonus! This blog is Percona Live featured talk with Stewart Smith.
In this installment, we’ll meet Stewart Smith, OPAL Architect at IBM. His talk is Why Would I Run MySQL or MariaDB on POWER Anyway? and will present the technical reasons why you might want to consider the POWER architecture for MySQL/MariaDB production workloads.
I got a chance to discuss Stewart’s talk with him:
Percona: Give me a brief history of yourself: how you got into database development, where you work, what you love about it.
Stewart: While at the AUUG (Australian Unix Users Group) Conference in Melbourne way back in 2004, I mentioned to Arjen Lentz (MySQL employee #25) that I was starting to look for my next adventure. Shortly after, at lunch time, instead of going to eat lunch Arjen hands me his cell phone and on the other end of the line was Brian Aker, then Director of Architecture at MySQL AB. That that was my first interview.
So in 2004, I started working on MySQL Cluster (NDB). Four years later, having encountered pretty much all of the warts in the MySQL Server while working on MySQL Cluster, I became the second person to commit code to Drizzle – a fork of MySQL where we tried to rethink everything and reshape the code base to be a) modern, efficient and scalable on modern multi-core machines, and b) designed for large scale web applications. Luckily – instead of firing us all for forking the product in secret – Sun moved us to the CTO group and we got to work on Drizzle full time.
From 2011 to 2014 I was Director of Server Development at Percona where I continued my focus on iterative change and automated QA.
All of these were amazing learning experiences and I’m really proud of what we achieved during these times, the impact of which is still being felt in the database world.
Ultimately, though, it was time for a change – and in my role at IBM as OPAL Architect, I work on the OpenPower Abstraction Layer (OPAL), the completely Open Source firmware for OpenPOWER systems. Of course, at some point, somebody discovered I knew something about MySQL, and I managed to (as a side project) port MySQL to POWER and get a world record of 1 million queries per second. This led to MariaDB being officially supported on POWER8 processors and IBM investing more time in the reliability and performance of MySQL on POWER.
So while my day job is no longer database internals, I stick my head in occasionally as there’s still some part of me that enjoys it.
Percona: Your talk is going to be on “Why would I run MySQL or MariaDB on POWER anyway?” So does that mean you’re firmly on the side of increasing HW power before optimization to achieve performance? If so, why? And for what workload types?
Stewart: We’ve always been scaling both up and out with MySQL. It used to be that scaling up was going from a single processor with a single core to two processors. Now, a cell phone with fewer than four cores is low end.
Of course, POWER CPUs have more benefits than just more cores and threads. There’s a long history of building POWER CPUs to be reliable, with an ethos of *never* acting on bad data, so there’s lots of error checking throughout the CPU itself in addition to ECC memory.
So while POWER can bring raw computing performance to the table, it can also bring reliability and our density with virtual machines can be really interesting.
Percona: Virtualization, SDN, cloud deployments – all of these use distributed resources. How does this affect the use of MySQL/MariaDB on POWER? And how can these types of setups affect application performance – positively and negatively?
Stewart: We’re lucky on POWER in that our hardware has been designed to last a great many years with the idea of partitioning it out to multiple operating systems.
The big advantage for cloud deployments is isolation between tenants, and if we can do this with minimal or zero performance impact, that’s a win for everyone. A challenge to cloud environments is always IO. Databases love lots of low latency IOPs and too often, adding virtualization adds latency, reducing density (tenants per physical machine).
Percona: What do you see as an issue that we the open source database community > needs to be on top of with regard white box development? What keeps you up at night with regard to the future of white box deployments?
Stewart: I think there’s a few big challenges to address for today’s hardware, the main one being scaling to the number of CPU cores/threads we have now as well as to the number of IOPs we have now. These are, however, not new problems – they’re ones that MySQL and InnoDB have been struggling with for over a decade.
Other open source databases (e.g., MongoDB) have re-learned the lesson the hard way: big global locks don’t scale. With storage backends coming to Mongo such as TokuDB and WiredTiger, it has the opportunity to
become an interesting player.
Non-volatile memory has the opportunity to change things more than cheap, high-performance SSDs have. When the unit of persistence is a byte, and not a 512/4096-byte block or multi-kilobyte/megabyte erase
block, things get *different*. Engines such as MyRocks may fare a lot better than more traditional engines like InnoDB – but more than likely there are new designs yet to exist.
I think the biggest challenge is going to be creating a vibrant and innovative development community around an SQL front-end – an open source project (rather than an open source product) where new ideas and experimentation can flourish.
Percona: What are you most looking forward to at Percona Live Data Performance Conference 2016?
Stewart: I’m really looking forward to some of the internals talks. I’m a deeply technical person and I want the deep dive into the interesting details of how things work. Of special interest are the MyRocks and TokuDB sessions, as well as how InnoDB is evolving.
I’ll likely poke my head into several sessions around managing MySQL deployments in order to keep up to date on how people are deploying and using relational databases today.
These days, I’m the old gray-beard of the MySQL world inside IBM, where I try and keep to mostly being advisory while focusing on my primary role which is open source firmware for POWER.
Also, over the years working on databases, I’ve made a great many friends who I don’t get to see often enough. I’m really looking forward to catching up with friends and former colleagues – and this is one of the
things I treasure about this community.
You can read more about POWER and Stewart’s thoughts at his personal blog.
To see Stewart’s talk, register for Percona Live Data Performance Conference 2016. Use the code “FeaturedTalk” and receive $100 off the current registration price!
The Percona Live Data Performance Conference is the premier open source event for the data performance ecosystem. It is the place to be for the open source community as well as businesses that thrive in the MySQL, NoSQL, cloud, big data and Internet of Things (IoT) marketplaces. Attendees include DBAs, sysadmins, developers, architects, CTOs, CEOs, and vendors from around the world.
The Percona Live Data Performance Conference will be April 18-21 at the Hyatt Regency Santa Clara & The Santa Clara Convention Center.