beginner's guide to drizzle

Download Beginner's guide to drizzle

If you can't read please download the document

Upload: andrew-hutchings

Post on 16-Apr-2017

1.684 views

Category:

Technology


2 download

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