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!
In this installment, we’ll meet Mark Callaghan, MTS at Facebook. He will be a keynote speaker at Percona Live, discussing Facebook and RocksDB. I had a chance to speak with Mark and learn a bit more about his experiences at Facebook:
Percona: Give me a brief history of yourself: how you got into database development, where you work, what you love about it.
Mark: Database development wasn’t an area I had much interest in until I finished Graduate school at the University of Wisconsin-Madison, with a Master’s degree in Computer Science. I wanted to live in Portland, Oregon and was offered two jobs – one at Informix and the other at Intel. I decided to work on database internals at Informix mainly because there was an office downtown. After a year, I was offered a job at Oracle and stayed there for eight years working on the query execution engine with a focus on bitmap indexes. The last ten years of my career have been devoted to web-scale MySQL at Google and Facebook.
I’m nearing my seven year anniversary at Facebook and am excited for many more years on my team. Our team focuses on using MySQL and RocksDB for transaction processing and closely aligns with other teams here at Facebook. Our team is highly productive and is privileged enough to work on many interesting challenges. The best part is that we get to share much of our work via open source projects. This is a great place to be.
I am most proud of the improvements we have made to quality-of-service and availability for MySQL. Many people have delivered high-impact projects, we have more opportunities to make things better and the MyRocks effort is an example of that.
Percona: You’re giving a keynote lecture on RocksDB. RocksDB was famously engineered at Facebook. What was it about the Facebook environment that required its own, specially-built storage engine?
Mark: The initial use case for RocksDB was to create a database that provides low-latency and high throughput with fast storage devices. RocksDB is embedded so it avoids network latency. It excels at consuming more of the I/O capacity available from fast storage devices. For some workloads, it can sustain millions of operations per second on our servers.
Over time, there have been additional use cases, and RocksDB has become popular within Facebook where it handles more than 4B QPS. It is also being used by a number of other web-scale companies.
Percona: Why would somebody choose RocksDB over a different storage engine? Where does it fit best (outside of Facebook, of course)?
Mark: MyRocks is the name of the RocksDB storage engine for MySQL. Storage efficiency is the primary motivation for MyRocks. It has better compression and less write amplification than InnoDB. For interesting workloads, we get 2X better compression and one-half the write-amplification compared to InnoDB. This means we can use less storage for the same workload and not decrease device lifetime when the storage is SSD.
It turns out that in some cases we can demonstrate better performance than InnoDB. This is an unexpected bonus and I spend a lot of time explaining when and why this occurs.
Percona: What do you see as an issue that we the database community need to be on top of with regard development? What keeps you up at night with regard to the future of RocksDB?
Mark: It takes a community to make an open source project successful. We’d like to continue building our community for MyRocks, and are excited for its future! I hope to see the MyRocks engine in Percona Server and MariaDB, and look forward to attending other talks at Percona Live in 2017.
Percona: What are you most looking forward to at Percona Live Data Performance Conference 2016.
Mark: I look forward to learning more about key data performance challenges faced in the community, and sharing more about how MyRocks can help address various needs. People from the MyRocks team, including myself, will be in a booth to answer questions. Yoshinori Matsunobu will give a three-hour tutorial on MyRocks. I look forward to learning how other people solve problems with MySQL. Finally, I get to see many friends.
Percona: Any blogs you want to promote?
To hear Mark’s keynote speech, 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.