beginner's guide to drizzle
TRANSCRIPT
A Beginner's Guide
Andrew HutchingsSofware DeveloperRackspace
Email: [email protected]: @LinuxJediBlog: http://www.linuxjedi.co.uk/
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 Rene S. under a CC by NC ND 2.0 license
What is Drizzle?
MySQL +
=
What is Drizzle?
Refactored CodeHigh PerformanceTarget Web and CloudMore 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.0 license
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 Stfan under a CC BY-NC-SA 2.0 license
Open Standards
Picture by Jeff Moriarty under a CC BY 2.0 license
Open Standards
Everything is open
All developers treated equally
Google Summer of Code
Open Standards
Boost
Google Protocol Buffers
C++
Documentation
Uses Python-Sphinx
Creative Commons Licensed
Bundled in source
Drizzle is Strict
Drizzle is strict, it doesn't assume
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
Stewart Smith covering more Gotchas fixed in Drizzleon Thursday at 2pm, Ballroom H
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;OrSELECT * FROM t1, t2 WHERE ...;
Libdrizzle
Uses MySQL Protocol
BSD licensed
High Performance
Libdrizzle
Libdrizzle
Source: http://www.joinfu.com/
Libdrizzle vs. Libmysqlclient with sysbench, April 2009
Data Types
TIMESTAMP with microseconds!
New UUID type
New BOOLEAN type
Data Types
Only INT and BIGINT
Only BLOB and TEXT
Only VARCHAR and VARBINARY
No 0000-00-00 date
Time is UTC only
Compatibility
Photo by Stfan under a CC BY-NC-SA 2.0 license
Compatibility
Drizzle talks MySQL Protocol
Most syntax is still compatible
Drizzledump Migration
MySQLdrizzledumpDrizzlestdout
Plugin System
~28 different types of plugins
~80 plugins included
Replication
SlaveMasterSlave PluginConnectorInnoDBTransaction LogSlaveListenerTransactionApplier
Authentication
Auth_allAuth_fileAuth_httpAuth_ldapAuth_pamAuth plugin system
Testing
Photo by Adam Howarth under CC by NC ND 2.0 license
Testing
Jenkins CI
Randgen
Dbqp
BenchmarksSysbench
SQLBench
DBT2
Testing
Jenkins CILaunchpadDeveloper'sComputerbzr pushLaunchpadBranchMergeRequestPeerApprovalJenkinsBuildJenkinsStagingMergeWrite Codebzr commitmake test
Release
Tag/Release Development build every 2 weeks
Aim for GA release at least twice a year
The Future
Photo by Gaudencio Garcinuo under CC by SA 2.0 license
The Future
Libdrizzle Native Sharding
Catalogs
New IP address data type
New SET/TUPLE data type
Xtrabackup
The Future
MySQL or DrizzleserversApplicationlibdrizzleShard 1Shard 2Shard 3
Libdrizzle Native Sharding
The Future
Drizzle ServerCatalog 1Application 1Application 2Database 1Database 2
Catalog 2Database 3Database 4
Catalogs
Questions?
Photo by under CC by NA SA 2.0 license
Developer Day
Cartoon by Geek and Poke under CC by ND 2.0 license
Friday 15th April 9:30 16:00
Hilton Hotel (across the road)Coastal Ballroom
Muokkaa otsikon tekstimuotoa napsauttamalla
Muokkaa jsennyksen tekstimuotoa napsauttamallaToinen jsennystasoKolmas jsennystasoNeljs jsennystasoViides jsennystasoKuudes jsennystasoSeitsems jsennystasoKahdeksas jsennystasoYhdekss jsennystaso