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

October 3-5, 2016

Amsterdam, Netherlands

MySQL Schema design in practice

MySQL Schema design in practice

 3 October 1:30 PM - 4:30 PM @ Zürich 1
Experience level: 
3 hours tutorial


In this tutorial we will take Mediawiki, one of the most popular open-source wiki applications, and we will use it to discuss schema and scalability design problems we suffered on Wikipedia. We will discuss how they were solved (or how we plan to solve them). Forget about basic normalization theory or performance promises made by vendors in an ideal world. All topics discussed will be based on *actual problems* found when trying to handle the infrastructure of one of the top 10 most popular websites. * Target audience: Developers using MySQL from any programming language; or system administrators, devops and architects in charge of the data model of its application * Requirements: Basic SQL. Ability to read PHP. Basic familiarity with how wikis/Wikipedia works. * Session dynamic: You are expected to contribute actively- it will not be a lecture format * Topics (practical cases): - Case #0: Pages and revisions - Case #2: Supporting 290 languages - Case #3: An abnormal denormalization - Case #4: Key-value system - Case #5: Revisions and deletions - Case #6: What's links here - Case #7: A large table - Case #8: Anecdotes: The ghost tables and Timestamps - Case #9: Slots


Jaime Crespo's picture

Jaime Crespo

Sr Database Administrator, Wikimedia Foundation


Jaime works as the senior database administrator for the non-profit organization Wikimedia Foundation, host of Wikipedia and other similar open knowledge projects. His main topics of interest are MySQL query optimization and architectures for high availability. He is a former MySQL A.B./Sun Microsystems/Oracle/Percona instructor and consultant, and has also worked as an independent MySQL consultant at

Share this talk