Drizzle MicroKernel Rethinking MySQL
MySQL Cab ‘05
2005 OSCON -> 1/(20+)
Goals <ul><li>Pluggable/Infrastructure Aware </li></ul><ul><li>Community Developed </li></ul><ul><li>MultiCore/Concurrency...
Philosophies
Sun’s Team Values <ul><li>Have open and well-documented interfaces </li></ul><ul><li>Have transparent goals and processes,...
Rethink Everything <ul><li>And not assume everything was bad! </li></ul>
Silicon Scales Carbon does Not Carbon does Not <ul><li>(Make people productive) </li></ul>
Do not play catchup. Leap forward.
The world is 64bit, and there is a lot of RAM.
Интернет является UTF-8. は、  Web UTF - 8 です。 The Web is UTF-8.
MicroKernel
<ul><li>Storage Engine </li></ul><ul><li>Replication </li></ul><ul><li>Logging </li></ul><ul><li>Authentication </li></ul>...
Architecture Client Client Client Routing Proxies Query Memcached Cache Parser Query 101101 Parser Query 101101 Optimizer ...
How big is it? <ul><li>6.0.5-alpha:1,128,112 </li></ul><ul><li>5.1.25-rc: 1,009,108 </li></ul><ul><li>5.0.51b: 999,382 </l...
So where are we?
New Protocol <ul><li>Asynchronous </li></ul><ul><li>Built In Sharding </li></ul><ul><li>Pluggable  </li></ul><ul><ul><li>S...
 
Storage Engines <ul><li>Retain Multiple Engine Support </li></ul><ul><li>Default to ACID compliant Engine </li></ul><ul><u...
Logging <ul><li>Pre/Post API </li></ul><ul><li>Gearman Logger </li></ul><ul><ul><li>Query Analyzer </li></ul></ul><ul><li>...
Replication <ul><li>New API interface to events </li></ul><ul><li>Google Protobuffer message format </li></ul><ul><ul><li>...
Security, 3A’s <ul><li>Focus on Authentication,  Authorization, and Access Control </li></ul><ul><li>No cost for non-usage...
Extending SQL via Functions <ul><li>Pluggable Interface designed for SWIG </li></ul><ul><ul><li>Java, Python, PHP, Perl, R...
Data Dictionary/Performance Interface <ul><li>No Materialization </li></ul><ul><li>Single Execution path means easier to m...
Open Source
Open Source Methodology <ul><li>Internal/External Contributions are treated Equally </li></ul><ul><li>Captain System </li>...
Adopt Open Source Tools <ul><li>Launchpad </li></ul><ul><ul><li>Bugs </li></ul></ul><ul><ul><li>BZR </li></ul></ul><ul><ul...
30+ Languages <ul><li>(within 3 months) </li></ul>
100+ Contributors <ul><li>(Over 500 people on the mailing list) </li></ul>
And despite 100, we still need to add more Women to the project :(
Innovation Happens Elsewhere
<ul><li>Patrick Galbraith (Principle Engineer/Lycos) </li></ul><ul><li>Antony Curtis (Google) </li></ul><ul><li>Transactio...
Transport <ul><li>Eric Day (Architect XO) </li></ul><ul><li>Asynchronous </li></ul><ul><li>Multi-protocol </li></ul><ul><l...
BlitzDB <ul><li>Toru Maesake (Research Engineer/Mixi.jp) </li></ul><ul><li>Uses TokyoCabinet </li></ul><ul><li>Analytic Us...
Wordpress!
Roadmap --> Cirrus <ul><ul><li>New Replication Events </li></ul></ul><ul><ul><li>Object Based Plugin Loader </li></ul></ul...
Aloha <ul><ul><li>New Table Discovery </li></ul></ul><ul><ul><li>Multi-Replication Applier </li></ul></ul><ul><ul><li>Depe...
Bell <ul><li>Server Side Scripting </li></ul><ul><li>New Information Engine </li></ul><ul><li>Performance Schema </li></ul...
 
 
More Information? <ul><li>http://launchpad.net/drizzle </li></ul><ul><ul><li>bzr branch lp:drizzle </li></ul></ul><ul><li>...
Upcoming SlideShare
Loading in...5
×

Drizzle @OpenSQL Camp

2,357

Published on

This talk was give in Portland at the Open SQL Camp in November 2009.

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,357
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
43
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Drizzle @OpenSQL Camp

  1. 1. Drizzle MicroKernel Rethinking MySQL
  2. 2. MySQL Cab ‘05
  3. 3. 2005 OSCON -> 1/(20+)
  4. 4. Goals <ul><li>Pluggable/Infrastructure Aware </li></ul><ul><li>Community Developed </li></ul><ul><li>MultiCore/Concurrency </li></ul><ul><li>Focus on Web Applications/Enable Others </li></ul><ul><li>Modernize codebase for Manageability </li></ul><ul><ul><li>C++, STL, re-use libraries, etc </li></ul></ul>
  5. 5. Philosophies
  6. 6. Sun’s Team Values <ul><li>Have open and well-documented interfaces </li></ul><ul><li>Have transparent goals and processes, that are communicated publicly </li></ul><ul><li>Have fun and encourage collaboration </li></ul><ul><li>Remove barriers to contribution and participation for anyone </li></ul><ul><li>Enable contributors to build a business around Drizzle </li></ul>
  7. 7. Rethink Everything <ul><li>And not assume everything was bad! </li></ul>
  8. 8. Silicon Scales Carbon does Not Carbon does Not <ul><li>(Make people productive) </li></ul>
  9. 9. Do not play catchup. Leap forward.
  10. 10. The world is 64bit, and there is a lot of RAM.
  11. 11. Интернет является UTF-8. は、 Web UTF - 8 です。 The Web is UTF-8.
  12. 12. MicroKernel
  13. 13. <ul><li>Storage Engine </li></ul><ul><li>Replication </li></ul><ul><li>Logging </li></ul><ul><li>Authentication </li></ul><ul><li>Protocol </li></ul><ul><li>Parser </li></ul><ul><li>…. </li></ul>
  14. 14. Architecture Client Client Client Routing Proxies Query Memcached Cache Parser Query 101101 Parser Query 101101 Optimizer Optimizer SQL & REST Storage Routing
  15. 15. How big is it? <ul><li>6.0.5-alpha:1,128,112 </li></ul><ul><li>5.1.25-rc: 1,009,108 </li></ul><ul><li>5.0.51b: 999,382 </li></ul><ul><li>Drizzle: 315,560 </li></ul>generated using David A. Wheeler's 'SLOCCount'.
  16. 16. So where are we?
  17. 17. New Protocol <ul><li>Asynchronous </li></ul><ul><li>Built In Sharding </li></ul><ul><li>Pluggable </li></ul><ul><ul><li>Speak old/new/REST/other </li></ul></ul><ul><li>Remove weak attack methods </li></ul><ul><li>Checksums </li></ul><ul><li>BSD! </li></ul>
  18. 19. Storage Engines <ul><li>Retain Multiple Engine Support </li></ul><ul><li>Default to ACID compliant Engine </li></ul><ul><ul><li>Innodb Plugin! </li></ul></ul><ul><li>Allow Engines to own their own Meta Data </li></ul>
  19. 20. Logging <ul><li>Pre/Post API </li></ul><ul><li>Gearman Logger </li></ul><ul><ul><li>Query Analyzer </li></ul></ul><ul><li>Syslog/etc (whatever you want to plugin) </li></ul>
  20. 21. Replication <ul><li>New API interface to events </li></ul><ul><li>Google Protobuffer message format </li></ul><ul><ul><li>Easy to extend/read from any language </li></ul></ul><ul><li>Multi-Database Synchronizer in Prototype </li></ul>
  21. 22. Security, 3A’s <ul><li>Focus on Authentication, Authorization, and Access Control </li></ul><ul><li>No cost for non-usage </li></ul><ul><li>Plugins for: </li></ul><ul><ul><li>PAM / LDAP / HTTP AUTH </li></ul></ul>
  22. 23. Extending SQL via Functions <ul><li>Pluggable Interface designed for SWIG </li></ul><ul><ul><li>Java, Python, PHP, Perl, Ruby,… </li></ul></ul><ul><li>Extensions allow for integration with Map/Reduce Systems (Gearman, Hadoop) </li></ul>
  23. 24. Data Dictionary/Performance Interface <ul><li>No Materialization </li></ul><ul><li>Single Execution path means easier to maintain </li></ul><ul><li>Extends capabilities of the current IS Plugin Interface </li></ul><ul><li>Leveraging work by MySQL Product Development </li></ul>
  24. 25. Open Source
  25. 26. Open Source Methodology <ul><li>Internal/External Contributions are treated Equally </li></ul><ul><li>Captain System </li></ul><ul><li>All Project Information is Public </li></ul><ul><li>Release Early/Release Often (4 month Milestone cycles) </li></ul><ul><ul><li>~2 Week Tarball Releases </li></ul></ul>
  26. 27. Adopt Open Source Tools <ul><li>Launchpad </li></ul><ul><ul><li>Bugs </li></ul></ul><ul><ul><li>BZR </li></ul></ul><ul><ul><li>Blueprints </li></ul></ul><ul><li>Distributed Regression Testing </li></ul><ul><ul><li>Buildbot </li></ul></ul><ul><ul><li>Hudson </li></ul></ul>
  27. 28. 30+ Languages <ul><li>(within 3 months) </li></ul>
  28. 29. 100+ Contributors <ul><li>(Over 500 people on the mailing list) </li></ul>
  29. 30. And despite 100, we still need to add more Women to the project :(
  30. 31. Innovation Happens Elsewhere
  31. 32. <ul><li>Patrick Galbraith (Principle Engineer/Lycos) </li></ul><ul><li>Antony Curtis (Google) </li></ul><ul><li>Transactional </li></ul><ul><li>Multi-System </li></ul><ul><li>Integrated </li></ul><ul><li>Performance </li></ul>Federated X
  32. 33. Transport <ul><li>Eric Day (Architect XO) </li></ul><ul><li>Asynchronous </li></ul><ul><li>Multi-protocol </li></ul><ul><li>Partionalable </li></ul>
  33. 34. BlitzDB <ul><li>Toru Maesake (Research Engineer/Mixi.jp) </li></ul><ul><li>Uses TokyoCabinet </li></ul><ul><li>Analytic Usage </li></ul><ul><li>Pluggable </li></ul>
  34. 35. Wordpress!
  35. 36. Roadmap --> Cirrus <ul><ul><li>New Replication Events </li></ul></ul><ul><ul><li>Object Based Plugin Loader </li></ul></ul><ul><ul><li>Removal FRM </li></ul></ul><ul><ul><li>libdrizzle </li></ul></ul><ul><ul><li>Adopt Innodb Plugin </li></ul></ul><ul><ul><li>C++/STL </li></ul></ul>
  36. 37. Aloha <ul><ul><li>New Table Discovery </li></ul></ul><ul><ul><li>Multi-Replication Applier </li></ul></ul><ul><ul><li>Dependency Checking for Plugins </li></ul></ul><ul><ul><li>New Information Schema/Backend </li></ul></ul><ul><ul><li>Refactor store_lock </li></ul></ul>
  37. 38. Bell <ul><li>Server Side Scripting </li></ul><ul><li>New Information Engine </li></ul><ul><li>Performance Schema </li></ul><ul><li><-- insert your work :) </li></ul>
  38. 41. More Information? <ul><li>http://launchpad.net/drizzle </li></ul><ul><ul><li>bzr branch lp:drizzle </li></ul></ul><ul><li>http://launchpad.net/~drizzle-discuss </li></ul><ul><ul><li>(mailing list) </li></ul></ul><ul><li>Freenode #drizzle </li></ul>
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×