A Beginner's Guide Andrew Hutchings Sofware Developer Rackspace Email:  [email_address] Twitter: @LinuxJedi Blog:  http://...
The History A long time ago in a galaxy far, far away... ...actually 2008 in Seatte
The History What If?
The History
The History
The History Picture by Scott Beale under a CC by NC ND 2.0 license
The History Picture by Renée S. under a CC by NC ND 2.0 license
What is Drizzle? MySQL + =
What is Drizzle? Refactored Code High Performance Target Web and Cloud More Standards Complicant
What is Drizzle?
What is Drizzle? Stored Procedures Triggers Views Character Sets (except UTF8) Photo by Leo Reynolds under a CC by NC SA 2...
What is Drizzle? New plugin API libdrizzle UUID data type BOOLEAN data type Drizzledump migration PBMS engine HailDB engin...
Open Standards Picture by Jeff Moriarty under a CC BY 2.0 license
Open Standards <ul><li>Everything is open
All developers treated equally
Google Summer of Code </li></ul>
Open Standards <ul><li>Boost
Google Protocol Buffers
C++ </li></ul>
Documentation <ul><li>Uses Python-Sphinx
Creative Commons Licensed
Bundled in source </li></ul>
Drizzle is Strict Drizzle is strict, it doesn't assume <ul><li>A bad ENUM is not an empty entry
1/0 is not NULL
Corrupting blob/binary columns in a mysqldump by default is not fun </li></ul>Stewart Smith covering more Gotchas fixed in...
Drizzle is Strict SELECT * FROM t1, t2; Picure by Chris Tazewell under a CC by NC 2.0 license
Drizzle is Strict SELECT * FROM t1 CROSS JOIN t2; Or SELECT * FROM t1, t2 WHERE ...;
Libdrizzle <ul><li>Uses MySQL Protocol
BSD licensed
High Performance </li></ul>Libdrizzle
Libdrizzle Source: http://www.joinfu.com/ Libdrizzle vs. Libmysqlclient with sysbench, April 2009
Data Types <ul><li>TIMESTAMP with microseconds!
New UUID type
New BOOLEAN type </li></ul>
Data Types <ul><li>Only INT and BIGINT
Only BLOB and TEXT
Only VARCHAR and VARBINARY
No 0000-00-00 date
Time is UTC only </li></ul>
Upcoming SlideShare
Loading in...5
×

Beginner's guide to drizzle

1,283

Published on

Beginner's guide to Drizzle talk at the 2011 O'Reilly MySQL Conference and Expo

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,283
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Beginner's guide to drizzle

  1. 1. A Beginner's Guide Andrew Hutchings Sofware Developer Rackspace Email: [email_address] Twitter: @LinuxJedi Blog: http://www.linuxjedi.co.uk/
  2. 2. The History A long time ago in a galaxy far, far away... ...actually 2008 in Seatte
  3. 3. The History What If?
  4. 4. The History
  5. 5. The History
  6. 6. The History Picture by Scott Beale under a CC by NC ND 2.0 license
  7. 7. The History Picture by Renée S. under a CC by NC ND 2.0 license
  8. 8. What is Drizzle? MySQL + =
  9. 9. What is Drizzle? Refactored Code High Performance Target Web and Cloud More Standards Complicant
  10. 10. What is Drizzle?
  11. 11. What is Drizzle? Stored Procedures Triggers Views Character Sets (except UTF8) Photo by Leo Reynolds under a CC by NC SA 2.0 license
  12. 12. What is Drizzle? New plugin API libdrizzle UUID data type BOOLEAN data type Drizzledump migration PBMS engine HailDB engine New replication New Information Schema Data Dictionary Authentication plugin system Dbqp testing system Jenkins CI testing Pandora build system Randgen testing Photo by Stéfan under a CC BY-NC-SA 2.0 license
  13. 13. Open Standards Picture by Jeff Moriarty under a CC BY 2.0 license
  14. 14. Open Standards <ul><li>Everything is open
  15. 15. All developers treated equally
  16. 16. Google Summer of Code </li></ul>
  17. 17. Open Standards <ul><li>Boost
  18. 18. Google Protocol Buffers
  19. 19. C++ </li></ul>
  20. 20. Documentation <ul><li>Uses Python-Sphinx
  21. 21. Creative Commons Licensed
  22. 22. Bundled in source </li></ul>
  23. 23. Drizzle is Strict Drizzle is strict, it doesn't assume <ul><li>A bad ENUM is not an empty entry
  24. 24. 1/0 is not NULL
  25. 25. Corrupting blob/binary columns in a mysqldump by default is not fun </li></ul>Stewart Smith covering more Gotchas fixed in Drizzle on Thursday at 2pm, Ballroom H
  26. 26. Drizzle is Strict SELECT * FROM t1, t2; Picure by Chris Tazewell under a CC by NC 2.0 license
  27. 27. Drizzle is Strict SELECT * FROM t1 CROSS JOIN t2; Or SELECT * FROM t1, t2 WHERE ...;
  28. 28. Libdrizzle <ul><li>Uses MySQL Protocol
  29. 29. BSD licensed
  30. 30. High Performance </li></ul>Libdrizzle
  31. 31. Libdrizzle Source: http://www.joinfu.com/ Libdrizzle vs. Libmysqlclient with sysbench, April 2009
  32. 32. Data Types <ul><li>TIMESTAMP with microseconds!
  33. 33. New UUID type
  34. 34. New BOOLEAN type </li></ul>
  35. 35. Data Types <ul><li>Only INT and BIGINT
  36. 36. Only BLOB and TEXT
  37. 37. Only VARCHAR and VARBINARY
  38. 38. No 0000-00-00 date
  39. 39. Time is UTC only </li></ul>
  40. 40. Compatibility Photo by Stéfan under a CC BY-NC-SA 2.0 license
  41. 41. Compatibility <ul><li>Drizzle talks MySQL Protocol
  42. 42. Most syntax is still compatible </li></ul>
  43. 43. Drizzledump Migration MySQL drizzledump Drizzle stdout
  44. 44. Plugin System <ul><li>~28 different types of plugins
  45. 45. ~80 plugins included </li></ul>
  46. 46. Replication Slave Master Slave Plugin Connector InnoDB Transaction Log Slave Listener Transaction Applier
  47. 47. Authentication Auth_all Auth_file Auth_http Auth_ldap Auth_pam Auth plugin system
  48. 48. Testing Photo by Adam Howarth under CC by NC ND 2.0 license
  49. 49. Testing <ul><li>Jenkins CI
  50. 50. Randgen
  51. 51. Dbqp
  52. 52. Benchmarks </li><ul><li>Sysbench
  53. 53. SQLBench
  54. 54. DBT2 </li></ul></ul>
  55. 55. Testing Jenkins CI Launchpad Developer's Computer bzr push Launchpad Branch Merge Request Peer Approval Jenkins Build Jenkins Staging Merge Write Code bzr commit make test
  56. 56. Release Tag/Release Development build every 2 weeks Aim for GA release at least twice a year
  57. 57. The Future Photo by Gaudencio Garcinuño under CC by SA 2.0 license
  58. 58. The Future <ul><li>Libdrizzle Native Sharding
  59. 59. Catalogs
  60. 60. New IP address data type
  61. 61. New SET/TUPLE data type
  62. 62. Xtrabackup </li></ul>
  63. 63. The Future Libdrizzle Native Sharding MySQL or Drizzle servers Application libdrizzle Shard 1 Shard 2 Shard 3
  64. 64. The Future Catalogs Drizzle Server Catalog 1 Application 1 Application 2 Database 1 Database 2 Catalog 2 Database 3 Database 4
  65. 65. Questions? Photo by Ντάνκαν under CC by NA SA 2.0 license
  66. 66. Developer Day Cartoon by Geek and Poke under CC by ND 2.0 license Friday 15 th April 9:30 – 16:00 Hilton Hotel (across the road) Coastal Ballroom
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×