Drizzle, Clouds, "What If?"

« previous entry | next entry »
Jul. 22nd, 2008 | 08:47 am

"What if"

Have you ever wanted to know what would happen if you had taken a different direction?

A number of months ago I was on the phone with the Rackspace CTO talking about Memcached and Gearman, and the work I am doing there. He had asked me if I had ever thought about creating a slimmed down version of MySQL to work with them.

The answer?

Of course!

This is something I get asked with some regularity. People will want MySQL done in some fashion other then what it does by default (aka what serves most of the user base). Taking the code and cutting out the one thing the requester dislikes is a pretty boring task. I keep a notebook of these requests. I consider it valuable feedback, not as single items, but as a whole.

After I got off the phone the idea stuck in the back of my mind. The next day I woke up and started playing with the idea of seeing what a cut down version would look like. One day turned into months. Somewhere along the way I decided to bring in a few people and see what they thought.

The reaction was more ideas, and code followed. We went about asking the question of "What if".

Stored Procedures, Views, Triggers, Query Cache, and Prepared Statements are gone for now. The field types have been simplified and there is an open debate about the SHOW commands (I am falling into the camp that think they may just belong in the client application but not in the server).

Will any of this go back in? It is hard to say. The goal right now is to target a certain class of applications/developers and see if this is useful. As an example:

1) Web based apps.
2) Cloud components.
3) Databases without business logic (aka stored procedures).
4) Multi-Core architecture.

What are the bigger differences in philosophies?

Adopt external libraries, use open source mechanics for contributions, keep to an open style of communication, and remove the line between internal and external development. Essentially do what I have been referring to as "Organic Open Source". We have focused on C99, POSIX and autotools based systems. We have taken to a very micro-kernel design where code is being removed from the center and pushed out to the edges via interfaces. We are taking a Linux/Apache tightly coupled design for modules.

Can you download it and use it?

Nope.

Not there yet, and we do not have a target date of when we will be ready for production use. If you want to work on this right now you are going to have to roll up your sleeves (hint, "bzr branch lp:drizzle"). I would really encourage you to go read the mailing list (http://launchpad.net/drizzle). Keep an open mind. We are not looking to be 100% compatible with MySQL, so this is certainly not a replacement for MySQL.

More questions?

The FAQ covers things like how to get involved, code license, etc.

Linuxcast has an podcast this week with me talking about Drizzle:
http://www.linuxworld.com/podcasts/linux/2008/071808-linuxcast.html


PS. Launchpad has turned out to be pretty awesome. You should be thinking about using it. Do not get caught up in the git vs bzr vs hg debate. It is not about the tool, think iPod/iTunes. It is about the infrastructure around it.
scan00088.jpg

Link | Leave a comment | Share

Comments {28}

(no subject)

from: _justanotherme_
date: Jul. 22nd, 2008 05:57 pm (UTC)
Link

Sounds cool, the basic goal is speed ? simplicity ? just less overhead ?

All of the above probably :)

Any idea of how much of a performance boost / resource savings we will see?

Reply | Thread

Brian "Krow" Aker

(no subject)

from: krow
date: Jul. 22nd, 2008 06:08 pm (UTC)
Link

All of the above.

How much? I do not like to speculate, and would rather show numbers. Right now we still have a lot of debug turned on so I suspect for single operations we would be slower just from baggage (really not sure). On co-current? We see better numbers already.

It will be a month or two before we start publishing numbers. My main reason for wanting numbers right now is for regression.

Reply | Parent | Thread

(no subject)

from: _justanotherme_
date: Jul. 22nd, 2008 06:26 pm (UTC)
Link

From the podcast I gather that your going more for a right then a fastest approach: UTF-8 Standard + INNODB standard.

As opposed to the faster defaults in place now.

Looking forward to seeing the results in a couple of months I guess.
Also too bad there isn't going to be any windows support :(

Reply | Parent | Thread

Brian "Krow" Aker

(no subject)

from: krow
date: Jul. 22nd, 2008 06:37 pm (UTC)
Link

Yep, UTF8 and Innodb.

The funny thing about Windows, is that by cleaning up the tree like we have, Windows support is actually now a lot simpler. We just need to get autoconf working.

Reply | Parent | Thread

(no subject)

from: _justanotherme_
date: Jul. 22nd, 2008 10:29 pm (UTC)
Link

Ok, that will make things very interesting :)

Reply | Parent | Thread

(no subject)

from: mmuxina
date: Apr. 27th, 2010 12:32 pm (UTC)
Link

and very fun )

Reply | Parent | Thread

poon

(no subject)

from: poon
date: Jul. 22nd, 2008 10:08 pm (UTC)
Link

That's great, great news.

Reply | Thread

Eric

Client library and protocol

from: oddity80
date: Jul. 22nd, 2008 10:46 pm (UTC)
Link

This sounds very cool! Do you plan on keeping the same client protocol? If so, do you plan on maintaining and releasing your own client library, or just rely on the MySQL client libraries out there?

Reply | Thread

Brian "Krow" Aker

Re: Client library and protocol

from: krow
date: Jul. 23rd, 2008 12:42 am (UTC)
Link

The client protocol we will mostly keep. The MySQL drivers will work our way.

I am open to another protocol.

Reply | Parent | Thread

Re: Client library and protocol

from: klimpong
date: Oct. 30th, 2008 01:06 am (UTC)
Link

No idea if anyone suggested it, but what about http?

(P.S. Please enable OpenID :-))

Reply | Parent | Thread

Brian "Krow" Aker

Re: Client library and protocol

from: krow
date: Oct. 30th, 2008 01:48 am (UTC)
Link

Ok, I've re-enabled OpenID. The last time I did I got a flood of spam though... so we will see how it works this time.

We will do HTTP at some point.

Reply | Parent | Thread

Kytty

Fun!

from: kytty
date: Jul. 22nd, 2008 10:46 pm (UTC)
Link

I'll look forward to learning more about how this will impact me as a Web Developer. I have yet to get into database applications.

Drizzle. I like it...not like living in the Pacific NW had any impact on the name.

I've been working on a lighter, simpler Rhonda for the last 3 months. I think you're having more success than I am...hee :)

Thank goodness Wolverine didn't kill Hulk. Hulk is my favorite...especially the tv series with Bill Bixby.

Reply | Thread

Kick prepared statements - bad idea

from: rob_c
date: Jul. 23rd, 2008 09:57 am (UTC)
Link

Prepared statements are the easiest way for a developer making a web application safe against SQL injections. And now Drizzle want's to kick it - thats IMHO a really really bad idea.
By doing so you stimulate insecure web development because every application has to perform SQL escaping and/or parameter validation on it's own.

Rob

Reply | Thread

Brian "Krow" Aker

Re: Kick prepared statements - bad idea

from: krow
date: Jul. 23rd, 2008 02:15 pm (UTC)
Link

Hi!

Here is the problem, the current PS design relies on caching the statements on the server side. What happens in MySQL? It runs out of memory because users forget to free them and the next thing you know the server crashes. For this reason they were disabled from the majority of the clients years ago.

So what are the alternatives? Today you can use a client side PS which gives you protection from SQL injection.

Another option is one we discussed in this blog months ago where we generated the PS but then send it back to the client. If the client wants to use the PS, the client sends it with the data. This way we remove the memory need from the server (though there is a slight cost in network transmission.

Cheers,
-Bria

Reply | Parent | Thread

Re: Kick prepared statements - bad idea

from: jimw
date: Jul. 23rd, 2008 05:12 pm (UTC)
Link

brian answered this already, but maybe this explains it better: the existing mysql implementation of prepared statements was kicked out because of its deficiencies -- user-accessible prepared statements will come back in some form, probably as a client library feature.

Reply | Parent | Thread

Re: Kick prepared statements - bad idea

from: rob_c
date: Jul. 23rd, 2008 06:31 pm (UTC)
Link

Ok, that sounds much better.

Reply | Parent | Thread

Re: Kick prepared statements - bad idea

from: alexchorny
date: Dec. 3rd, 2008 01:58 pm (UTC)
Link

You should ask for support for prepared statements in you DB connection library. Perl's DBI does this from 1992 and PHP now has PDO.

Reply | Parent | Thread

Brian "Krow" Aker

Re: Kick prepared statements - bad idea

from: krow
date: Dec. 3rd, 2008 05:21 pm (UTC)
Link

What most folks never realize is that MySQL is almost never used with prepared statements on the server size. It is entirely client side. The same goes for Drizzle right now (though not in the future).

Reply | Parent | Thread

(no subject)

from: natron_x
date: Jul. 23rd, 2008 02:54 pm (UTC)
Link

Perfect!

I've been waiting for something to fill the gap between a full MySQL server and SQLite.

Thank you!

Reply | Thread

(no subject)

from: axehind
date: Jul. 23rd, 2008 04:17 pm (UTC)
Link

I think this is cool.
I've used MySQL for a number of years but I have rarely used any of the features that are being removed in drizzle. I never really needed them. I always thought that I must of been a "minimal" user as in "not the majority", but now it seems I might not be.

Reply | Thread

Forking?

from: lewiscunningham
date: Jul. 23rd, 2008 10:11 pm (UTC)
Link

Do you see this as a permanent fork or do you see this becoming an optional way to install MySQL? Is there anyway once that code is removed to bring it back?

Thanks,

LewisC

Reply | Thread

Brian "Krow" Aker

Re: Forking?

from: krow
date: Jul. 23rd, 2008 10:22 pm (UTC)
Link

1) This is permanent.

2) Some features will come back (ACL) through plugins. Some others? probably never.

Reply | Parent | Thread

Re: Forking?

from: lewiscunningham
date: Jul. 23rd, 2008 10:32 pm (UTC)
Link

Thanks Brian. That was my understanding but it was being debated on some blogs so I wanted to clarify.

LewisC

Reply | Parent | Thread

Love the idea...

from: mike503
date: Jul. 29th, 2008 07:26 am (UTC)
Link

Throw in a MySQL Load Balancer-esque thing for smart replication and clusters of servers would be excellent. That's my biggest issue, and desire for MySQL - MySQL Cluster is kinda funky. MySQL Proxy isn't "smart" enough. MySQL Load Balancer leverages Proxy + replication with self-healing, takes outdated slaves out of the pool, etc. Now -that- is ideal.

I love the idea of UTF-8 only. Screw backwards compatibility with this project. Just help "force" better designs with Drizzle... since it's brand new there's no reason you can't right now!

Reply | Thread

Wonderful

from: pablovoley
date: Apr. 16th, 2009 05:52 pm (UTC)
Link

Not bad,man,not bad,easy to understand



http://sexofveryyoungxh.blogspot.com/
http://smallsexa34.blogspot.com/
http://dratochko90.blogspot.com/
http://porkadevok50.blogspot.com/
http://xxxsexvid98.blogspot.com/
http://sexitelka21.blogspot.com/
http://oldporka77.blogspot.com/
http://analgood31.blogspot.com/
http://bobifucks78.blogspot.com/
http://cooltrax64.blogspot.com/
http://sextur42.blogspot.com/
http://ebateltelok60.blogspot.com/
http://pornohardver89.blogspot.com/
http://popydrat35.blogspot.com/
http://eblabab6918.blogspot.com/
http://seximen65.blogspot.com/
http://sychkatrax6949.blogspot.com/
http://asaserty67.blogspot.com/
http://asaserty93.blogspot.com/
http://sychkabest32.blogspot.com/
http://sexbich51.blogspot.com/
http://milososet32.blogspot.com/
http://sexhard6970.blogspot.com/
http://xxxsexvid15.blogspot.com/
http://hyivopty76.blogspot.com/
http://teacherfuckser79.blogspot.com/
http://lesbyguy20.blogspot.com/
http://sexawqwe28.blogspot.com/
http://sexhartut95.blogspot.com/
http://viebiee45.blogspot.com/
http://eblasex6964.blogspot.com/
http://pizdecsex70.blogspot.com/
http://opaopasecs12.blogspot.com/
http://xxxsexvid90.blogspot.com/
http://bigdyrka89.blogspot.com/
http://koloboktrax73.blogspot.com/
http://eblasex6990.blogspot.com/

http://drochivo58.blogspot.com/
http://babkasoset98.blogspot.com/
http://crazytekla73.blogspot.com/
http://pupersex71.blogspot.com/
http://hardsexert90.blogspot.com/
http://oprasex66.blogspot.com/
http://viebiee97.blogspot.com/
http://babyporn90.blogspot.com/
http://traxniee81.blogspot.com/
http://niceporn69.blogspot.com/
http://traxvanal15.blogspot.com/
http://zaebalbaby86.blogspot.com/
http://gruppasexu11.blogspot.com/
http://friendlysexa88.blogspot.com/
http://allsex33.blogspot.com/
http://supertelka18.blogspot.com/
http://sextur45734.blogspot.com/
http://manguysexu98.blogspot.com/
http://sexxhard87.blogspot.com/
http://traxshlux6927.blogspot.com/
http://litllegirlfucfs11.blogspot.com/
http://yxotrax91.blogspot.com/
http://poebi49.blogspot.com/
http://bobifucks82.blogspot.com/
http://devokdratt87.blogspot.com/
http://otodralsyky46.blogspot.com/
http://sexhartut74.blogspot.com/
http://drochi47.blogspot.com/

Reply | Thread

Ohoho)

from: granada13
date: Apr. 22nd, 2009 06:10 am (UTC)
Link

Very fun,I think this is good!Cool sounds...


http://naxerwork95.blogspot.com/
http://babkasoset30.blogspot.com/
http://hardghu60.blogspot.com/
http://babkasoset68.blogspot.com/
http://sexorgazm69.blogspot.com/
http://mastercekc61.blogspot.com/
http://analproblemo38.blogspot.com/
http://otodralsyky10.blogspot.com/
http://sexdevka16.blogspot.com/
http://mastercekc84.blogspot.com/
http://chelovatklitor24.blogspot.com/
http://litllegirlfucfs51.blogspot.com/
http://masterxxx68.blogspot.com/
http://poxotsex22.blogspot.com/
http://gurusexy68.blogspot.com/
http://eblatrax33.blogspot.com/
http://dratbladei11.blogspot.com/
http://resexaser33.blogspot.com/
http://sukasex84.blogspot.com/
http://xorporn23.blogspot.com/
http://fuckxxx96.blogspot.com/
http://sexawqwe75.blogspot.com/
http://bukakaka97.blogspot.com/
http://koloboktrax46.blogspot.com/
http://otkroyrot74.blogspot.com/
http://sexawqwe96.blogspot.com/
http://porkajopi46.blogspot.com/
http://jopabolit54.blogspot.com/
http://brativpot45.blogspot.com/
http://ebattrax6920.blogspot.com/
http://erosexanal67.blogspot.com/
http://sychkalybit43.blogspot.com/
http://harddroch84.blogspot.com/
http://hardcore6935.blogspot.com/
http://traxat91.blogspot.com/
http://sexpartners80.blogspot.com/
http://babavrot81.blogspot.com/
http://popaklass24.blogspot.com/
http://sekchard69.blogspot.com/
http://bonafuck42.blogspot.com/
http://megatrax84.blogspot.com/
http://chelkihuman95.blogspot.com/
http://hardsexert17.blogspot.com/
http://xxx177.blogspot.com/
http://ebatvsraky63.blogspot.com/
http://vstavilhard16.blogspot.com/
http://shluxatrax48.blogspot.com/
http://sexblad29.blogspot.com/
http://sychkaclass45.blogspot.com/
http://milososet49.blogspot.com/
http://hervamvrot60.blogspot.com/
http://ebytcyavce81.blogspot.com/
http://traxodrom6983.blogspot.com/
http://sexanaly30.blogspot.com/
http://fuckxxx44.blogspot.com/
http://ebatdyry14.blogspot.com/
http://ebytvrot75.blogspot.com/
http://niceporn54.blogspot.com/
http://popydrat84.blogspot.com/
http://traxsamok91.blogspot.com/
http://mansandwoman21.blogspot.com/
http://herosexa44.blogspot.com/
http://traxattelky88.blogspot.com/
http://xxxsexvid45.blogspot.com/
http://hotherstat62.blogspot.com/
http://supertelka68.blogspot.com/
http://analebla48.blogspot.com/
http://poebi78.blogspot.com/
http://crazytekla65.blogspot.com/
http://porevotrax16.blogspot.com/
http://lecbytra88.blogspot.com/
http://cooltrax77.blogspot.com/
http://porkadevok56.blogspot.com/
http://grudosperm95.blogspot.com/
http://sexmensa43.blogspot.com/
http://sexdrocka49.blogspot.com/
http://ultrahard75.blogspot.com/
http://mochalkisex83.blogspot.com/
http://drocherxxx79.blogspot.com/
http://hotherstat53.blogspot.com/
http://uretas65.blogspot.com/
http://sexbest6927.blogspot.com/
http://samokdrat61.blogspot.com/
http://sexhard6940.blogspot.com/
http://babyporn81.blogspot.com/
http://drochivo76.blogspot.com/
http://jopaxery36.blogspot.com/
http://biganalfuck96.blogspot.com/
http://dratbladei41.blogspot.com/
http://sychkaclass58.blogspot.com/
http://nicesex84.blogspot.com/
http://chelkihuman84.blogspot.com/
http://ebytvjopy44.blogspot.com/
http://masterxxx80693.blogspot.com/

Reply | Thread

(no subject)

from: kolobdet
date: May. 1st, 2009 08:28 am (UTC)
Link

Yeah,Very good sounds!!!

Reply | Thread

We met in Kuala Lumpur

from: red1.myopenid.com
date: Oct. 28th, 2009 12:33 am (UTC)
Link

Hi Brian,
This is 'red1', from ADempiere ERP, that met you at www.foss.my.

It is great listening to the you and the other speakers, and getting to share Asian experiences on FOSS and community building. I will catch up on Drizzle alot more now. Since we are also porting to MySQL lately besides our usual Postgres and Oracle.

Have a nice day!
red1
www.red1.org

Reply | Thread