Your SlideShare is downloading. ×
0
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Drizzle @OpenSQL Camp
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Drizzle @OpenSQL Camp

2,339

Published on

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

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,339
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
43
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Drizzle MicroKernel Rethinking MySQL
  • 2. MySQL Cab ‘05
  • 3. 2005 OSCON -> 1/(20+)
  • 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. Philosophies
  • 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. Rethink Everything <ul><li>And not assume everything was bad! </li></ul>
  • 8. Silicon Scales Carbon does Not Carbon does Not <ul><li>(Make people productive) </li></ul>
  • 9. Do not play catchup. Leap forward.
  • 10. The world is 64bit, and there is a lot of RAM.
  • 11. Интернет является UTF-8. は、 Web UTF - 8 です。 The Web is UTF-8.
  • 12. MicroKernel
  • 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. Architecture Client Client Client Routing Proxies Query Memcached Cache Parser Query 101101 Parser Query 101101 Optimizer Optimizer SQL & REST Storage Routing
  • 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. So where are we?
  • 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>
  • 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>
  • 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>
  • 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>
  • 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>
  • 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>
  • 25. Open Source
  • 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>
  • 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>
  • 28. 30+ Languages <ul><li>(within 3 months) </li></ul>
  • 29. 100+ Contributors <ul><li>(Over 500 people on the mailing list) </li></ul>
  • 30. And despite 100, we still need to add more Women to the project :(
  • 31. Innovation Happens Elsewhere
  • 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
  • 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>
  • 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>
  • 35. Wordpress!
  • 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>
  • 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>
  • 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>
  • 39.  
  • 40.  
  • 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>

×