dcsimg

Drizzle: Rethinking the MySQL Database Kernel

Drizzle is a re-thought and re-worked version of the MySQL kernel designed specifically for high-performance, high-concurrency environments. In this exclusive article, MySQL guru Jeremy Zawodny takes an inside look at the goals and state of Drizzle development.

If you visit the Drizzle project homepage, it explains:

Drizzle is building a database optimized for cloud and [network] applications. [Drizzle] is being designed for massive concurrency on modern multi-cpu/core architectures. The code is originally derived from MySQL.

In other words, Drizzle is a re-thought and re-worked version of the MySQL kernel designed specifically for high-performance, high-concurrency environments. The goal is to make Drizzle an extensible database kernel that runs extremely fast on emerging hardware.

Much like Linux is a fast kernel that can be extended with loadable modules (notably filesystems and device drivers, among others), Drizzle explicitly says “no” to building in some features, instead pushing them out of the core and into plug-ins. This separation allows Drizzle to focus on only the most essential features of a modern database kernel. In fact, it’s almost a become a joke on the Drizzle mailing list that someone will say “Make it a plugin!” when anyone questions removing functionality from the server.

At this point you may be wondering who would be crazy enough to think that MySQL, known for its speed and agility, needs to be radically re-worked. After all, it’s been the dominant open source relational database for the better part of a decade now.

The Drizzle project is headed by Brian Aker, the former director of architecture for MySQL. Aker now works in the Office of the Chief Technology Officer at Sun (soon to be Oracle) and heads up a team of developers working on Drizzle and a few other projects (see one of Aker’s early posts on Drizzle). Some of those developers are Sun employees (Eric Day, Jay Pipes, Monty Taylor, Mark Atwood, and others), while others are either volunteers or contributing to Drizzle on behalf of their employer. Toru Maesaka of Mixi is one such developer.

A lot of the Drizzle work is driven by significant changes in hardware that have occurred since widespread adoption of MySQL began. Before discussing what Drizzle is and is not, it’s important to understand a bit about the last 5-7 years of evolution in hardware and systems and the challenges those presented to MySQL users, especially those who were constantly pushing the envelope of what’s possible.

Moore’s Law Turned Sideways

The most significant change in recent hardware history is that Moore’s Law took a surprising turn. For years, developers have been able to depend on the clock speed of CPUs doubling roughly every 18 months. In other words, the code you ran in early 2001 would be more than twice as fast if you simply upgraded the CPU in your server in late 2002. Why “more than” twice as fast? Not only did clock speeds increase, changes in the architecture of CPUs made them more efficient, too: larger caches, more registers, better instruction pipelines, and so on.

This doubling trend went on for so long that Moore’s Law was practically law and something destined to continue for the foreseeable future. But then something strange happened a couple years ago. Instead of seeing 4 GHz CPUs appear to replace 3.2 GHz CPUs, Intel and AMD started pushing multi-core CPUs that ran at slower clock speeds. Effectively, the megahertz and gigahertz game had come to an end. Instead of pure “vertical” scaling, Moore’s Law had been redirected along a different axis: horizontal scaling.

At the 2009 MySQL Conference, Sun co-founder Andy Bechtolsheim delivered a keynote presentation called The Solid State Storage Revolution, which contained a chart plotting CPU clock speeds over the last 20 years or so. It illustrated this sudden change very clearly and removed any doubt about where things are headed. (Sadly, his slides are not available online).

In a sense this isn’t new. Symmetric multiprocessing (SMP) has been around for years now in the form of motherboards with two or four physically separate CPUs. But having multiple CPU cores on the same physical chip was a new approach. Intel previewed the future with the introduction of Hyper-Threadingon some Pentium 4 CPUs. The technology allowed a single CPU to run two execution threads in parallel. It’s not the same as having two physical cores on the same chip, but it was a nice boost at the time.

With Moore’s Law overturned, the new road to efficiency and performance is to design for concurrency and parallelism. Any problem that can be split into sub-problems and executed in parallel fits this new world very well. As you’ll see momentarily, there are places where MySQL is able to exploit multi-core well, but others in which it was of no help at all.

RAID and RAM

As with all things hardware, the cost of running substantial RAID arrays (6-12 disks) with battery-backed write caches has dropped substantially. That doesn’t mean that disk I/O isn’t still the single biggest bottleneck in large databases—it is. Any time your data size grows substantially beyond what can fit in RAM, I/O bottlenecks appear. But today’s “commodity” hardware lets you push that barrier out quite a long way.

Thanks to commodity 64-bit CPUs, it’s not hard to find a server than can be loaded with 64 GB or even 128 GB of memory. That alone is sufficient to keep a very large percentage of MySQL deployments from having to worry about going to disk that often. But what about those really big deployments?

The transfer rates of modern disks and their controllers is measured hundreds of megabytes per second. But that’s assuming a best case scenario: linear (sequential) reads or writes. The real killer is random disk I/O. Any time the disk head needs to move (seek), you incur a delay of several milliseconds. Event the fastest hard disks available claim average seek times in the 4 ms range. Expecting more than about 200 seeks per second is unrealistic. In fact, the rule of thumb for years has been not to expect more than about 100 I/O operations (iops) from a single spindle.

Having larger disk arrays means being able to perform a greater number of iops per second: typically something like (N/2)*100 where N is the number of disks. You must divide by two because of mirroring. In a typical setup of 12 disks, there are 6 mirrored pairs (RAID-1) and stripe (RAID-0) data across them. This is commonly referred to as RAID 1+0.

Using this model, the only way to get another 200 iops out of your array (without sacrificing data integrity) is to add two or four more disks. Like Moore’s Law, this had been true for a very long time. But just like Moore’s Law, the storage game has recently changed in a most unexpected way.

Comments on "Drizzle: Rethinking the MySQL Database Kernel"

Your style is unique compared to other people I’ve read stuff from.
I appreciate you for posting when you’ve got the
opportunity, Guess I’ll just bookmark this page.

If not, the malware might capture some information. Now, gradually altdr
slide out the circuit board. ‘We need your vibrancy to
consider how you can be whole.

Review my blog – Maddennflmobilehack.blog.com

It’s going to be end of mine day, but before end I am reading this
wonderful paragraph to increase my know-how.

Tremendous issues here. I am very satisfied to peer your post.
Thanks so much and I am looking ahead to touch you.

Will you kindly drop me a mail?

Hey there would you mind letting me know which webhost you’re working with?
I’ve loaded your blog in 3 completely different browsers and I must say
this blog loads a lot faster then most. Can you suggest a good web hosting provider at a honest price?
Cheers, I appreciate it!

Every the moment in a whilst we choose blogs that we study. Listed below would be the latest sites that we pick.

I appreciate you sharing this blog article.Much thanks again. Really Great.

Great article, exactly what I needed.

Thanks for another informative website. The
place else could I get that type of information written in such a perfect means?
I’ve a venture that I am just now operating on, and I’ve been at the glance out for
such information.

I like looking through an article that can make people think.
Also, thank you for permitting me to comment!

Hello! Do you use Twitter? I’d like to follow you if that would be ok.
I’m definitely enjoying your blog and look forward to new posts.

Also visit my homepage: Buy essay papers (Rudy)

I just want to say I am very new to weblog and definitely loved you’re blog. Almost certainly I’m likely to bookmark your website . You actually have perfect well written articles. Many thanks for sharing your blog.

I’m not certain the place you are getting your information, however
great topic. I needs to spend some time finding out more or understanding more.
Thank you for magnificent info I was in search of this information for my mission.

My weblog – theme bedroom

ICC Mortgage And financial Services,Is a sincere and certified private Loan company approved by the Government,we give out international and local loans to all countries in the world,Amount given out $2,500 to $100,000,000 Dollars, Euro and Pounds.We offer loans with a dependable guarantee to all of our clients. Our loan interest rates are very low and affordable with a negotiable duration.
Available now
MORTGAGE, PERSONAL, TRAVEL, STUDENT, EXPANSION OF BUSINESS AND NEW UNSECURED, SECURE, CONSOLIDATE
AND MORE
Available now..
Apply for a loan today with your loan amount and duration, Its Easy and fast to get. 4% interest rates and monthly
installment payments.
{dawnmartin.icc@gmail.com}

Regards,
Dawn Martin
(917)791-7667

I know this if off topic but I’m looking into starting my own blog
and was curious what all is required to get setup? I’m assuming having a blog
like yours would cost a pretty penny? I’m not very internet savvy so I’m not 100%
sure. Any tips or advice would be greatly appreciated.

Thank you

It’s a shame you don’t have a donate button! I’d definitely donate to this fantastic blog!
I suppose for now i’ll settle for book-marking and adding your RSS
feed to my Google account. I look forward to new updates and will share
this website with my Facebook group. Chat soon!

I seriously love your blog.. Excellent colors & theme.
Did you build this website yourself? Please reply back as
I’m attempting to create my very own site and would love to find out where you got this from or just what the theme is called.
Many thanks!

It’s an awesome piece of writing in support of all the
web users; they will get advantage from it I am sure.

Hello, I desire to subscribe for this webpage to obtain newest updates,
so where can i do it please help.

I am sure this paragraph has touched all the internet visitors, its really really good post on building up new weblog.

Feel free to surf to my blog :: giuseppe zanotti sneakers

Hi there, I discovered your blog via Google even as looking for a related topic, your site got here up, it seems great.
I’ve bookmarked it in my google bookmarks.
Hi there, simply became aware of your weblog via Google, and located
that it’s truly informative. I’m gonna be careful for brussels.
I’ll appreciate in the event you proceed this in future.
Many other people will be benefited from your writing. Cheers!

A person essentially help to make significantly articles I
would state. This is the first time I frequented your website page
and to this point? I surprised with the research you made to
create this actual post amazing. Fantastic activity!

I simply want to say I’m newbie to weblog and honestly loved you’re website. Most likely I’m planning to bookmark your blog post . You actually have fantastic posts. Kudos for sharing with us your web page.

Remember many leasing companies firmly require a favorable credit record and submitting your lease
application towards the wrong lessor will only give you rejection. It is important to also remember that all savings referenced
are in addition to any offers made by participating companies.
There is no need to stand in the queues in front of the lenders
to beg some urgent funds when the online way is
open to you.

Wonderful blog you have here but I was wanting to know if
you knew of any user discussion forums that cover the same topics discussed in this article?
I’d really like to be a part of online community where I
can get advice from other knowledgeable individuals that share the same interest.
If you have any recommendations, please let me know. Thanks a lot!

Here iis my web blog – fifa ultimate team coins (Trena)

You should take part in a contest for onne of the most useful sites on the
web. I will recommend this web site!

Feel free to surf to my web-site :: usaa car insurance

I just want to tell you that I am beginner to blogs and seriously liked you’re blog. More than likely I’m want to bookmark your site . You really come with remarkable posts. Cheers for revealing your blog.

A big thank you for your blog post.Really thank you! Want more.

Howdy would you mind letting me know which web host you’re utilizing?
I’ve loaded your blog in 3 completely different internet browsers and I must say this blog loads a lot faster
then most. Can you recommend a good web hosting provider at a honest
price? Thanks, I appreciate it!

My web site prstorm.co.uk (Jestine)

I simply want to tell you that I’m newbie to blogs and really enjoyed your blog. Most likely I’m planning to bookmark your site . You really come with wonderful well written articles. Appreciate it for sharing your web site.

One of our visitors a short while ago suggested the following website.

Hi! I know this is kinda off topic however I’d figured
I’d ask. Would you be interested in exchanging links or maybe guest authoring a blog
article or vice-versa? My blog covers a lot of the same topics as yours and I believe we could greatly benefit from each other.
If you’re interested feel free to shoot me an e-mail.
I look forward to hearing from you! Superb blog by the way!

my web site top weight loss pills

I think that what you typed was actually very reasonable.

But, think on this, suppose you added a little content?
I ain’t saying your information is not solid., however
suppose you added something that grabbed people’s attention? I mean Drizzle:
Rethinking the MySQL Database Kernel | Linux Magazine is kinda plain. You might peek at Yahoo’s home page and note how they write post titles to grab
viewers to open the links. You might try adding a video or a
picture or two to get readers excited about everything’ve
written. In my opinion, it could bring your posts
a little livelier.

Also visit my weblog cheap car insurance in ct

That is a very good tip particularly to those new to the blogosphere.
Brief but very accurate information… Thanks for sharing this one.
A must read post!

Here is my weblog – Cheap car insurance

The other day, while I was at work, my cousin stole my iPad and tested to see if it can survive a 40
foot drop, just so she can be a youtube sensation. My
apple ipad is now destroyed and she has 83 views. I know this is totally off topic but I had to
share it with someone!

my web-site cheap car insurance online

This design is wicked! You obviously know how to keep a reader amused.

Between your wit and your videos, I was almost moved to start my own blog
(well, almost…HaHa!) Excellent job. I really loved what
you had to say, and more than that, how you presented
it. Too cool!

Here is my homepage – Cheap Car Insurance

Hello this is kind of of off topic but I was wondering if
blogs use WYSIWYG editors or if you have to manually code with HTML.

I’m starting a blog soon but have no coding experience so I wanted
to get advice from someone with experience.
Any help would be enormously appreciated!

Review my page Cheap Car Insurance

Hello! I know this is somewhat off topic but
I was wondering which blog platform are you using for this
website? I’m getting tired of WordPress because I’ve had problems with hackers and I’m looking at alternatives for another platform.
I would be great if you could point me in the direction of
a good platform.

My page :: cheap car insurance near me

This blog was… how do you say it? Relevant!! Finally
I’ve found something that helped me. Thank you!

Feel free to surf to my web page: Cheap Car Insurance

Great article, exactly what I needed.

Also visit my web page: Cheap car insurance

I just like the valuable information you supply to your articles.
I will bookmark your weblog and test once more here regularly.
I am moderately certain I will learn many new stuff proper right here!

Best of luck for the next!

Have a look at my page: Cheap Car Insurance

Here is a superb Weblog You might Find Interesting that we encourage you to visit.

I’m trupy enjoying the design andd layout of your website.
It’s a very easy on the eyes which makes it much moe enjoyable for me
to come her and visit more often. Did you hire out a developer
to create your theme? Superb work!

Also visit my weblog – cheap car insurance

Hmm is anyone else encountering problems with the pictures on this blog loading?
I’m trying too figure out if its a problem on my end or if it’s thhe blog.
Any responses would be greatly appreciated.

Here is my web site; cheap car insurance in sc

At this time it seems like BlogEngine is the preferred blogging platform
available right now. (from what I’ve read) Is that what you’re using on your blog?

Also visit my website :: cheap car insurance in california

Hurrah! After all I got a weblog from where I know how
to actually get useful data regarding my study and knowledge.

Feel free to surf to my blog post :: Cheap car insurance

This paragraph will help the internet people for setting up new weblog
or even a blog from start to end.

Here is my page :: Cheap Car Insurance

Hey! Someone in my Facebook group shared this website with us
so I came to check it out. I’m definitely enjoying the information. I’m bookmarking and will be tweeting this to
my followers! Terrific blog and great design.

Feel free to surf to my website … Cheap Car Insurance

If all of your hiking book is waterproof, yet you don’t have
a gusseted tongue, your hiking boot is not truly “waterproof”
at all. Simply press your index finger just beneath the knot as it forms.
This is unfortunate, since it means that while most drug tests can only turn up evidence of
other drugs if you.

My homepage: giuseppe zanotti uk

Excellent goods from you, man. I have take note your stuff prior to
and you are just too great. I actually like what you haave bought right here, certainly like
what you’re saying and the est way wherein you are saying
it. You are making it enjoyable and yoou still take carde off to stay it wise.
I cant wait to learn far more from you. Thaat is actually a terrific web
site.

My homepage; cheap car insurance

Leave a Reply