Jaime is the Senior DBA of the Wikimedia Foundation, managing Wikipedia databases.
At the Wikimedia Foundation, we aim for perfect privacy of our users. That means not only enforcing TLS (https) between our users and the datacenters but all intermediate steps, including database access.
When you are a top 5 website with hundreds of thousands of queries per second and billions of users but a very limited budget, that is not easy, especially for MySQL. This is a description of our experience, including operational and performance pain points, of rolling out encryption.
We also talk about what has changed in the ecosystem since the introduction of MySQL 8.0 and MariaDB 10.3.
Tutorial on the foundations of query optimization to speed up query execution with MySQL 8.0 and MariaDB 10.3:
* Example database and environment setup
* Query profiling (what queries to optimize first?)
* Access types and basic indexing
- How indexes work to speed-up queries
- BTREE indexes
- InnoDB peculiarities
* Multi-column indexing
- Column order
- Index condition pushdown
* FULLTEXT indexing
* Join execution and optimization
- Other strategies and variants: MRR and hash joins
* Subquery issues
- Issues with subqueries in older versions
- Semi-Join execution and other optimizations