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.

Solid State Disks (SSDs)

The storage revolution is here and it is RAM. Solid State Disks (SSDs), which look like hard disks on the outside but are packed full of non-volatile RAM on the inside, have made quite a splash. They often show up in notebook computers with the promise of lower power, no moving parts, and faster boot times and application startup. And while they’ve delivered on most of those promises, the killer SSD application is database servers.

SSDs currently cannot match the raw capacity of “spinning rust” counterparts (1.5 TB and 2 TB hard drives are available today), but the new drives make up for that by having virtually no seek time. The difference between random and sequential I/O is essentially erased. Moving a traditionally I/O-bound database application (one that needed many disks to ease the pain of seek time, not for aggregate space) from hard disks to a pair of high-end SSDs in a RAID-1 configuration often yields truly stunning results. What used to take hours can happen in minutes and even seconds.

This quantum leap in performance is here to stay and only stands to get better. Despite some recent FUD, SSDs are ready for prime time today. The fact is every major storage vendor is currently re-tooling and revamping its product line to integrate SSDs into their offerings. No doubt they’ll be boasting some amazing best case performance numbers soon.

But like the single-core to multi-core transition, going from hard disks to SSDs really requires re-thinking and redesigning things to get the most benefit.

Fast Networks and Memcached

The classic LAMP architecture has quietly been evolving to incorporate new pieces, largely thanks to gigabit Ethernet (which provides disk-like transfer speeds), 64-bit CPUs, and dropping RAM prices. Many high-volume web sites have added a “caching tier” to their architecture. This caching tier is often based on memcached and sits between the application layer and the database.

Refactoring, Removing, and Plugins

As you can see, many of the fundamental features of systems have evolved and changed since MySQL began it’s hockey stick growth nearly a decade ago. When you combine that with the organic growth of MySQL’s code base over the years and all the features that have been crammed into it, you end up with a code base that, to put it politely, needs work.

So Aker and team have set out to modernize the code, removing old abstractions that are no longer relevant (mysys), removing custom code and replacing it with modern C++ data structures and algorithms, and fixing up various inconsistencies. Along the way the team has been ruthlessly removing needless locks (mutexes) that would greatly reduce concurrency and overall throughput.

The SHOW PROCESSLIST command in MySQL is a perfect example. Every time you run it on a server, it grabs a global lock that is not released until it has finished reading all the information about the state of threads in the server, including the text of currently executing queries. Now that’s something that happens very quickly on most servers, but what about a 64- or 128-core server (available today) running thousands of queries per second? Even a stall of a few milliseconds can really back things up. Worse, you’re more likely to run SHOW PROCESSLIST when trying to debug why a server has slowed down. In doing so, you’d further degrade the situation.

Hence, the Drizzle implementation of SHOW PROCESSLIST no longer performs any locking. It’s effectively performing a dirty read of the thread status. And that’s just fine for 99.999% of uses.

As the team has combs through the code, it occasionally stumbles upon a feature that adds complexity to the system (or reduces concurrency) and asks if it’s worth keeping. Often times the answer is no. The result is that many features have been dropped entirely and others are being moved to plugins.

What’s Gone

Here’s a short list of some major features that have been removed from Drizzle.

With the popularity of memcached and other application level caching, the need for a query cache has decreased over time. It was of limited utility in high-volume applications because every update to a table would invalidate all related entries in the cache. Moreover, locking in the query cache was not nearly granular enough. Hence, it’s been removed from Drizzle.

Triggers have been removed with an eye toward re-adding them once a proper plug-in interface can be defined.

The MyISAM storage engine that served as the bedrock of MySQL for many years does not exist in Drizzle.  It suffered from very poor concurrency and maintaining support for it “contaminated” other parts of the server code.  InnoDB is the default storage engine in Drizzle.

Both the Event Scheduler and Stored Procedures have been elided while developers debate the merits of having them in the kernel and/or developing a reasonable API to support different schedulers and stored procedures in multiple languages.

Views are gone but are expected to reappear with a better implementation at some point.

Prepared Statements are gone as well.  The implementation in MySQL had numerous problems to begin with, plus Drizzle has a new protocol which allows for a better implementation in the future.

Replication has been removed in favor of a more flexible, modular logging system upon which its replacement can be built.

There are numerous other changes in Drizzle as well. Character sets are gone. Everything in Drizzle is UTF-8.  And the variety of column types has been greatly reduced as well. A list of the differences between Drizzle and MySQL is available.

Comments on "Drizzle: Rethinking the MySQL Database Kernel"

Hello i am kavin, its my irst time to commenting anyplace, when i read this post i thought i
couuld also make comment due to this sensible paragraph.

Visit mmy homepage … cheap car insurance in ohio

I’m not sure why bbut this web site is loading
very sloww forr me. Is anyonje else having this problem
or iss it a problem on my end? I’ll check back later andd see if the problem still exists.

Also visit my blog post: cheap car insurance

continukusly i used to read smaller articles which also clear their motive, and that
is also happening witrh this article which I am reading here.

Feel free to visit my web page – cheap full coverage car insurance

I simply want to tell you that I am just beginner to blogging and site-building and absolutely loved this website. Probably I’m going to bookmark your website . You absolutely come with impressive stories. Appreciate it for sharing with us your website page.

It’s actually a nnice and helpful piece of information. I
am glad that you just shared this heelpful info with us.
Please stay uss informed like this. Thank you for sharing.

my weblog … cheap car insurance in florida

For most recent news youu have to go to see the web and on world-wide-web
I found this web page as a best website for most up-to-date updates.

Here is my site – cheap car insurance

I just want to say I am all new to weblog and definitely enjoyed your web blog. Almost certainly I’m want to bookmark your blog . You actually come with good stories. Kudos for revealing your website page.

Hi my family member! I wksh to sayy tyat this
post is amazing, great written and come with approximately all important infos.
I’d like to look more posts like this .

my page: cheap car insurance online

Way cool! Some very valid points! I appreciate yoou penning this post plus the rest of the website is also very good.

Visit myy weblog cheap car insurance texas

Asking questions are genuinely nice thing if you arre
not understanding something completely, however this post offers good understanding even.

Also visit my webgpage – cheap car insurance

Hmm it seems like your website ate my first commenjt (it was extremely long)soI guess I’ll just sum it up what I submitted and say, I’m thooroughly enjoying your blog.
I as well am an aspiring blog blogger bbut I’m still new to everything.
Do you have anyy points for rookie blog writers? I’d definitely appreciate it.

Here is my web page … Cheap car insurance

Oh my goodness! Amazing article dude! Many thanks, However I am going through divficulties wuth your
RSS. I don’t understand the reason why I am unable
to subscribe to it. Is there anybody getting similar RSS issues?
Anyone who knows the answer can you kindly respond?

Feel free to surf to my web page … very cheap car insurance

Appreciate this post. Let me try it out.

My web page :: Car insurance companies

I’m curious to find out what blog system you are utilizing?
I’m having some small security problems with my latest blog and I would like to find something more safeguarded.
Do youu have any solutions?

Also visit my blog post: cheap car insurance in nj

Here are some hyperlinks to web pages that we link to due to the fact we feel they are worth visiting.

Excellent blog right here! Additionally your site lots
up very fast! What host are you the usage of? Can I get your
associate hyperlink in your host? I want my
website loaded up as quickly as yours lol

Here is my web site; Cheap car insurance

I couldn’t resist commenting. Exceptionally well written!

Feel free to surf to my webpage – Cheap Car Insurance

You could definitely see your expertise in the article you write.
The arena hopes for even more passionate writers like you
who aren’t afraid to say how they believe.
At all times follow your heart.

Review my blog: cheap car insurance in md

I just want to mention I’m all new to blogs and definitely loved your web-site. More than likely I’m going to bookmark your blog . You actually come with fabulous posts. With thanks for revealing your web-site.

Muchos Gracias for your post. Really Cool.

Usually posts some really interesting stuff like this. If you?re new to this site.

Awesome blog article.Much thanks again. Really Great.

With the relation to Black Mamba, Nike Zoom Kobe VI is
more populated. Diesel sneakers have a rubber sole for superb traction, wherever you go.

They coordinate their work with the fashion merchandisers and
store managers who are assigned in different store outlets and locations by overseeing the visual merchandising initiatives
of each unit.

Feel free to visit my webpage … cheap giuseppe zanotti shoes

I love it when folks get together and share views.
Great blog, keep it up!

Look into my weblog canadian pharmacy

If you’re still on the fence: grab your favorite earphones, head down to a Best Buy and ask to plug them into a Zune then an iPod and see which one sounds better to you, and which interface makes you smile more. Then you’ll know which is right for you.

Apple now has Rhapsody as an app, which is a great start, but it is currently hampered by the inability to store locally on your iPod, and has a dismal 64kbps bit rate. If this changes, then it will somewhat negate this advantage for the Zune, but the 10 songs per month will still be a big plus in Zune Pass’ favor.

Light-ray frames are lighter yet stronger and hypoallergenic as
well. Straps are quite stylish nowadays and young fashionistas are getting
all creative with their spectacles using these straps, so not
only will you be able to safeguard your glasses
better, however you also get to improve their charm too.

Crystal clear frames with bright lenses are coming out from multiple designers as well.

Feel free to visit my blog post – http://www.hfpacoustical.us/hfp/

I am in fact pleased to read this web site posts which includes lots of helpful information, thanks for providing these data.

Feel free to visit my website; cialis from online pharmacy

Marinate it or season it with salt, pepper and lemon juice.
Teach the sentence words for preparing materials to cook.

Two slices of pimento filled olives make great snake eyes and a sliver of red pimento for a tongue.

Its really great how you explain issues in a few sentences but portray a great message. I really love what MySQL guru Jeremy Zawodny is doing for drizzle. Great article.

I simply want to mention I am newbie to blogs and truly savored you’re web page. Likely I’m planning to bookmark your site . You amazingly have fabulous posts. Kudos for sharing with us your webpage.

Wow, incredible blog layout! How long have you been blogging for?
you made blogging look easy. Thee overall look of your web site
is fantastic, llet alone the content!

Here is my homepage: dyson dc25

Article writing is also a fun, if you know afterward you can write if not it is complex to write.

my weblog: dyson fan

Asking questions are actually pleasant thing if you are not understanding something completely, except this
paragraph provides nice understanding yet.

We can play with the color of the blouse and adapt it to the style and workplace of each person. com,a number of us are manufacturer, wholesale and
exporter regarding rattan furniture everywhere over the Indonesia.
Most women and major celebrities prefer branded leather Chanel handbags simply because it is their style icon.

My weblog … cheap prada bags

?ev?rtheless, when dealing wwith this kind of agency, modest and ?uge business will
be the concentration. After reaching my ?ccountant and relaying my concerns, the next attribut? wortgh addressingg
is ?ommunicat?on. T?e skills you acquire iin you? training to
become a CPA will give you confidence in yourself and yokur newfound abilities.

my homepage :: boca raton Florida cpa

The inclusion of important aspects such as athletic shorts for
men or other proper clothing outside of safety equipment should
also be considered depending on the sport or activity played.
Lady Gaga was photographed stepping out for errands in New York City on Sunday (March 23, 2014).
Whether it’s sandals, trainers or high heels, we
usually go out with something on our feet in the morning.

Here is my weblog – outlet christian louboutin

Although websites we backlink to below are considerably not associated to ours, we really feel they’re essentially worth a go by means of, so have a look.

Here are some hyperlinks to web sites that we link to since we consider they may be really worth visiting.

Leave a Reply