Drizzle Talk

Preview:

DESCRIPTION

Drizzle talk for MySQL Developer's Meeting.

Citation preview

Introduction to Drizzle(it is a type of rain)

Master Plan

Rethink Everything

Do not assume everything was bad.

Do Not Live in the Past

Multi-Core

• No new locks

• Remove old locks

• Think today:

• Burn memory (copy on write)

• Messages scales.

MySQL Market is now just entering 16 Core.

Do not play catchup.Leap forward.

Leverage Sun

Library of Congress is just 26 Terabytes.

The world is 64bit, and there is a lot of RAM.

(SSD will be common in two years.)

MicroKernel

• Move code to the Edge

• No new features in core

• To add interfaces you have to remove == amount of code

We have no...

• Stored Procedures

• Views

• Triggers

• No Query Cache

We may though...

SP’s through Real Languages

Views are useful, but not when materialized

Triggers no, but maybe Callbacks...

Prepared Statements are out.

(no one uses them, they blow up the server)

What we are doing...

• No required authentication (think http)

• Round Trip Serialized SQL

• Make SQL Injection harder

Innodb is our Default Engine

(If Maria or PBXT turn out to be faster, we will switch. Transactional/Performance matter.)

Dump ACL

• We authenticate in clouds.

• KISS

• PAM (Pluggable Authentication Modules)

• No cost authentication

Authorization is coming...

Do people really sort blobs?

Field Types• Less primitives

• We just now have “blob”

• Weakly Typed.

• 3 byte int? (See Slashdot Comment Problem)

• Think UUID/IPV4(6)/SERIAL...

• ENUM tosses an error if a wrong value is inserted.

Интернет является UTF-8.

は、 Web UTF - 8です。

The Web is UTF-8.

UTF-8

• Protocol is UTF-8.

• We store in UTF-8.

• (default collation is still up for grabs)

Recycle

In with the New

• C99 (types for C++ code)

• Posix

• Package-lib

• STL is in.

TABLE != Table(we are going from C+ to C++)

Reuse many eyeballs

• PCRE today (not REGEX)

• No “shipped” libraries

• Maybe ICU? libatomic-ops? Intel Building Blocks? talloc()? glib()?

• Proto-buffers.

How big is it?6.0.5-alpha: 1,128,112

5.1.25-rc: 1,009,108

5.0.51b: 999,382

Drizzle: 315,560

generated using David A. Wheeler's 'SLOCCount'.

LaunchPad

• Forking is good.

• No emailed patches.

• Anyone can create an account.

• Neutral ground (this has turned out to be important).

• Short URLs (and yes this matters)

Open Source• “Captains” handle trees, karma gets you in

• Those who commit are Janitors.

• Those who only work on their own code are not Captains.

• Changes are sent to mailing list. Fuzzy ++ system used (negatives are weighed more heavily)

Code Drives Decisions

Requirement for Release

• All Incompatible Changes are completed. (and more require upgrades to version)

• All tests work.

• New code additions are fine (think Linux Kernel)

So how do I get involved?

• http://launchpad.net/drizzle

• bzr branch lp:drizzle

• http://launchpad.net/drizzle-discuss

• (mailing list)

• Freenode #drizzle

Recommended