Virtualizing and Scaling for the Future
Who am I? Was Director of Architecture for MySQL Founder/CTO Data Differential Drizzle Gearman Memcached
In the beginning...
2005 MySQL 5.0 with lack fanfare from Web Developers 2008 Sun buys MySQL 2008 MySQL 6.0 becomes Drizzle 2009 Oracle buys Sun 2010 Drizzle Developers split from Oracle 2011 First GA Release, Drizzle7
Entirely Open Source RDBMS C++, with a MicroKernel Design No Gotchas 120+ Developers since start, 24/36 active per month. The most active child of the MySQL forks. Drizzle
Drizzle7 (Quick Update)
Today’s Pluggable Interfaces Replication Storage Engine Logging Authentication Authorization Table Functions Functions Protocol Query Rewrite XA
HTTP Blob Streaming Client Replication Client Listener Query Memcached Cache ParserOptimizer Storage System Logging Error Reporting HTTP Client MySQL MemcachedGearman ExecutionerSQLDrizzle MicroKernel Cloud Service
Replication Google Protocol Buffer Based Replicates row transformations. Integrates today with RabbitMQ, Casandra. Memcached, Gearman
INSERT INSERT UPDATE INSERT Stored Transactionall y
Maste r Slave Slave Slave
Slave Slave Slave
What group commit problem?
Transacti on Log Binlog Group Commit? DatabaseKernel
Transacti on Log No Group Commit Required DatabaseKernel
libDrizzle Supports Drizzle (and MySQL, and SQLite) Asynchronous BSD Lawyer free
Client Instance Amazon S3 Storage NoSQL Stream Access
Is there more?
No Gotchas No NULL when you don’t want NULL No ALTER TABLES that fake’ it Real datetime (64bit), with microseconds IPV6 No updates that “half complete”
Authentication/Author ization No Cost Authentication PAM, LDAP, HTTP
Table Functions TABLE_CACHE TABLE_DEFINITION_CACHE SHOW TEMPORARY TABLES All new SQL compliant information_schema
Data Dictionay Separate Information Schema for ANSI SQL access. All based on Table Functions No Materialization Single Execution Path
Интернет является UTF-8. は、 Web UTF - 8 です。 The Web is UTF-8.
How about locks?
SHOW PROCESSLIST (now based on table functions)
--skip-grants (none of the current GRANTs require LOCKS actually…)
store_lock() (all engines are not created equally)
120+ Developers Since Day One 26/36 on average each month
Drizzle 7+
Users Instance Schema Schema Table Table Table Table Table Table Table Table Table Table Table Table
Users Instance Table Table Table Users Table Table Table
Cuts the 30/40% hit from virtualizing Single instance maintenance Still allows for IO spread on San/NAS
Supports Partial Backup No locking Single solution, point-in-time recovery in a single solution. Comes with the database. Hot Backup
Freenode #drizzle