using drizzle
play

Using Drizzle OSCON 2010 Eric Day - http://oddments.org/ Senior - PowerPoint PPT Presentation

Using Drizzle OSCON 2010 Eric Day - http://oddments.org/ Senior Software Engineer @ Rackspace Drizzle Overview What is it? Plugins! Installing Starting drizzle.cc Boots Shell OSCON 2010 Using Drizzle 2 What is Drizzle? A


  1. Using Drizzle OSCON 2010 Eric Day - http://oddments.org/ Senior Software Engineer @ Rackspace

  2. Drizzle Overview ● What is it? ● Plugins! ● Installing ● Starting ● drizzle.cc Boots Shell OSCON 2010 Using Drizzle 2

  3. What is Drizzle? A lightweight SQL database for the “cloud” and web OSCON 2010 Using Drizzle 3

  4. What is Drizzle? A lightweight SQL database for the “cloud” and web OSCON 2010 Using Drizzle 4

  5. What is Drizzle? A lightweight SQL database for the “cloud” and web OSCON 2010 Using Drizzle 5

  6. What is Drizzle? A lightweight SQL database for the “cloud” and web OSCON 2010 Using Drizzle 6

  7. What is Drizzle? A lightweight SQL database for the “cloud” and web OSCON 2010 Using Drizzle 7

  8. Plugins are the new black OSCON 2010 Using Drizzle 8

  9. Pluggable Protocol ● MySQL Protocol (3306) ● Drizzle Protocol (4427) ● Console Plugin ● HTTP/REST? ● Postgres Protocol? OSCON 2010 Using Drizzle 9

  10. shell$ ./drizzled --datadir=/tmp/foo --console-enable InnoDB: The InnoDB memory heap is disabled InnoDB: Mutexes and rw_locks use GCC atomic builtins. 100410 14:08:01 InnoDB: highest supported file format is Barracuda. 100410 14:08:01 InnoDB Plugin 1.0.4 started; log sequence number 44274 Listening on 0.0.0.0:3306 Listening on :::3306 Listening on 0.0.0.0:4427 Listening on :::4427 ./drizzled: Forcing close of thread 0 user: '' ./drizzled: ready for connections. Version: '2010.03.1336' Source distribution (trunk) drizzled> OSCON 2010 Using Drizzle 10

  11. drizzled> use data_dictionary; OK drizzled> select * from MODULES where MODULE_NAME='console'; MODULE_NAME MODULE_VERSION MODULE_AUTHOR IS_BUILTIN MODULE_LIBRARY MODULE_DESCRIPTION MODULE_LICENSE console 0.1 Eric Day FALSE console Console ClientBSD drizzled> ./drizzled: Forcing close of thread 1 user: '' ./drizzled: Normal shutdown 100410 14:08:08 InnoDB: Starting shutdown... 100410 14:08:09 InnoDB: Shutdown completed; log sequence number 44284 shell$ OSCON 2010 Using Drizzle 11

  12. Drizzle Protocol ● We killed little bobby tables ● Packet header sharding key ● Support HTTP-like redirect ● Concurrent queries OSCON 2010 Using Drizzle 12

  13. libdrizzle ● Multi-protocol support ● MySQL, Drizzle ● Both Client and Server parts of the protocol ● Have PHP, Python, Perl and Ruby already ● Oh, and it's BSD, so use it anywhere OSCON 2010 Using Drizzle 13

  14. Pluggable Scheduler ● Mutli Threaded ● Pool of Threads ● Single Threaded ● Platform Specific? OSCON 2010 Using Drizzle 14

  15. Badges? We don't need no stinking badges! OSCON 2010 Using Drizzle 15

  16. Pluggable Authentication ● None ● authenticate(user, pass) ● PAM ● LDAP ● HTTP ● libdrizzle? OSCON 2010 Using Drizzle 16

  17. Pluggable Authorization ● None ● restrictSchema() ● LDAP ● restrictTable() ● Hard-coded policy ● restrictProcess() OSCON 2010 Using Drizzle 17

  18. Pluggable Query Cache ● None ● Local memory ● memcached ● NDB? OSCON 2010 Using Drizzle 18

  19. Pluggable Query Filter ● Rewrite/block queries ● rewrite(schema, query) ● Rewrite queries for tuning ● (Anybody seen MySQL Proxy) OSCON 2010 Using Drizzle 19

  20. Pluggable Logging ● None ● pre(session) ● query_log ● post(session) ● gearman ● Syslog ● user_statistics OSCON 2010 Using Drizzle 20

  21. Pluggable Errors ● stderr ● errmsg(session, priority, format, *args) ● notify ● syslog? OSCON 2010 Using Drizzle 21

  22. Pluggable Function ● md5() ● memcached_* ● gearman_* ● rot13() OSCON 2010 Using Drizzle 22

  23. Pluggable Replication ● Google Protocol Buffers – Java – Python – C++ ● Replicator ● Applier ● Reader OSCON 2010 Using Drizzle 23

  24. Pluggable Data Dictionary ● INFORMATION_SCHEMA ● Other table functions OSCON 2010 Using Drizzle 24

  25. Um. So how do I run it? OSCON 2010 Using Drizzle 25

  26. Install ● From apt: – In Debian unstable ● Launchpad PPA – sudo apt-get install python-software-properties – sudo add-apt-repository ppa:drizzle-developers/ppa – sudo apt-get update – sudo apt-get install drizzle OSCON 2010 Using Drizzle 26

  27. Install ● From RPM: – http://drizzle.org/wiki/RPMInstallation OSCON 2010 Using Drizzle 27

  28. Install ● From source: – ./configure ; make ; make install – No bootstrap step – No system tables OSCON 2010 Using Drizzle 28

  29. Startup drizzled --datadir=/my/data/path OSCON 2010 Using Drizzle 29

  30. Plugins ● apt-get install drizzle-plugin-pbxt ● Enabled at startup --plugin-add=md5,pbxt ● No need for a sysadmin to run SQL to install a plugin! OSCON 2010 Using Drizzle 30

  31. OSCON 2010 Using Drizzle 31

  32. Boots Shell ● launchpad.net/boots or lp:boots ● New command line client from Portland State – (one of the devs, chromakode, also wrote the cool xkcd April Fool's Day hack) ● Pluggable ● Scriptable ● Lingos – Custom command language OSCON 2010 Using Drizzle 32

  33. Piped SQL shell$ boots -u root -h 127.0.0.1 -l pipedsql Boots (v0.2.0) 127.0.0.1:3306 (server v5.1.40) > SELECT * FROM mysql.user; | csv_out("users.csv") 5 rows in set (0.06s server | +0.00s working) > Boots quit. shell$ cat users.csv localhost,root,,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y, Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,,,,,0,0,0,0 OSCON 2010 Using Drizzle 33

  34. Get involved! ● http://drizzle.org/ ● https://launchpad.net/drizzle ● Contact me at http://oddments.org/ ● Stickers! OSCON 2010 Using Drizzle 34

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend