Archive for the ‘Drizzle’ Category

MySQL locking with INSERT/DELETE workload

Март 7th, 2012

Yep. I see this too at work. InnoDB is in my opinion really good at handling concurrent workloads. So good I was surprised when I eventually found a project that was having locking issues. SHOW ENGINE INNODB STATUS showed queries had been waiting for hours on some locks they would never get. Yeah, it's a large and busy database, but it took me by surprise nevertheless.

It turns out, while InnoDB handles concurrent UPDATEs very efficiently, a combination of transactions that DELETE and INSERT rows - even just in the same general area of a table - will make the transactions wait for each other. Hence a workload that does a lot of inserts and deletes may get you into trouble. The solution is to change to READ COMMITTED or even READ UNCOMMITTED mode.

read more


PlanetMySQL Voting: Vote UP / Vote DOWN

Presentation: Databases and the Cloud (and why it is more difficult for databases)

Март 6th, 2012

A week ago I again had the pleasure to give a guest lecture at Tampere University of Technology. I've visited them the first time when I worked as MySQL pre-sales in Sun.

To be trendy, I of course had to talk about the cloud. It turns out every section has the subtitle "...and why it is more difficult for databases". I also rightfully claim to have invented the NoSQL key-value development model in 2005.

read more


PlanetMySQL Voting: Vote UP / Vote DOWN

A year with Drizzle

Февраль 18th, 2012

Today I'm coming out of the closet. Since I'm a professional database expert I try to be like the mainstream and use the commercial MySQL forks (including MySQL itself). But I think those close to me have already known for some time that I like community based open source projects. I cannot deny it any longer, so let me just say it: I'm a Drizzle contributor and I'm very much engaged!

I've been eyeing the Drizzle project since it started in 2008. Already then there were dozens of MySQL hackers for which this project was a refuge they instantly flocked to. Finally a real open source project based on MySQL code that they could contribute to, and they did. It was like a breath of fresh air in a culture that previously had only accepted one kind of relationships: that between an employer and an employee. Drizzle was more liberal. It accepted also forms of engagement already common in most other open source projects that are based on relationships between 2 or more consenting contributors.

But in 2008 I wasn't yet ready to engage with Drizzle. Like I said, I worked in a role where I would go to database users and help them use MySQL in demanding production settings. So as much as I admired Drizzle already back then, I needed something that could give me good releases, and support me when needed.

read more


PlanetMySQL Voting: Vote UP / Vote DOWN

Drizzle Day and MariaDB day to end your MySQL user conference

Февраль 9th, 2012

Good news to all of you who are going or were thinking of going to the Percona Live MySQL Conference and Expo. Yesterday two great addon events were announced, both happening on Friday April 13th, right after the main conference:

Drizzle Day 2012

read more


PlanetMySQL Voting: Vote UP / Vote DOWN

Drizzle Day 2012

Февраль 8th, 2012

Henrik has already posted it over on the Drizzle Blog, but I thought I’d give a shout out here too.

We’re holding a Drizzle Day right after the Percona Live MySQL Conference and Expo in April. So, since you’re all like me and don’t book your travel this far in advance, it’ll be easy to stay for the extra day and come and learn awesome things about Drizzle.

I’m also pretty glad that my employer, Percona is sponsoring the event.


PlanetMySQL Voting: Vote UP / Vote DOWN

MySQL progress in a year

Февраль 7th, 2012

Usually people do this around New Year, I will do it in February. Actually, I was inspired to do this after reviewing all the talks for this year's MySQL Conference - what a snapshot into the state of where we are! It made me realize we've made important progress in the past year, worth taking a moment to celebrate it. So here we go...

Diversification

read more


PlanetMySQL Voting: Vote UP / Vote DOWN

MySQL progress in a year

Февраль 7th, 2012

Usually people do this around New Year, I will do it in February. Actually, I was inspired to do this after reviewing all the talks for this year's MySQL Conference - what a snapshot into the state of where we are! It made me realize we've made important progress in the past year, worth taking a moment to celebrate it. So here we go...

Diversification

In the past few years there was a lot of fear and doubt about MySQL due to Oracle taking over the ownership. But if you ask me, I was more worried for MySQL because of MySQL itself. I've often said that if MySQL had been a healthy open source project - like the other 3 components in the LAMP stack - then most of the NoSQL technologies we've seen come about would never have been started as their own projects, because it would have been more natural to build those needs on top of MySQL. You could have had a key-value store (HandlerSocket, Memcache API...), sharding (Spider) and clustering (Galera). You could have had a graph storage engine (OQGraph engine isn't quite it, I understand it is internally an InnoDB table still?). There could even have been MapReduce functionality, although I do think the Hadoop ecosystem targets problems that actually are better solved without MySQL.

read more


PlanetMySQL Voting: Vote UP / Vote DOWN

Speaking at Percona Live MySQL Conference & Expo 2012

Январь 27th, 2012

I’m speaking at Percona Live MySQL Conference & Expo 2012. My two talk are: Getting Started with Drizzle 7.1 and Verifying MySQL Replication Safely With pt-table-checksum 2.0. No, there’s no relationship between those topics; they’re just things I know well.

I’ve been stalking Drizzle for many years. When it went GA last year, I began hacking Drizzle, focusing on plugins which give it nearly all its functionality. Recently, I helped overhaul the configuration, administration, and plugin sections of the Drizzle docs. I’m also frequently poking around the plugins’ source code. Consequently, I know a lot about making Drizzle work. My talk with transfer the bulk of the best of that knowledge to you so that you can return to your place of work/hobby/world domination and start using Drizzle 7.1 yourself without having to resolve some of the mysteries I had to resolve by reading the source code.

As for pt-table-checksum 2.0, part of Percona Toolkit, it’s a complete re-write of the venerable pt-table-checksum 1.0 which worked very well for years but required some fine-tuning. Well, in certain cases it didn’t work as well, which required more fine-tuning. So Baron redesigned the entire tool (with help and feedback from a lot of people at Percona), and I programmed it. It works wonderfully, and most of the time you can “just run it” and it will Just Do The Right Thing, but you will nonetheless benefit if you come to this talk and poke and prod its internal with me.

If you’ve never been to this conference before (formerly it was just the “MySQL Conference & Expo”, but it’s always been, afaik, at this time and place), you should really come because it’s very enlightening. It’s the Super Bowl/World Cup/Wimbledon/etc. of MySQL conferences in my humble opinion.


PlanetMySQL Voting: Vote UP / Vote DOWN

MySQL and PostgreSQL Cloud Offerings – linux.conf.au 2012 miniconf talk by myself and Selena

Январь 23rd, 2012

Selena and I gave a talk on the various issues of running databases “in the cloud” at the recent linux.conf.au in Ballarat. Video is up, embedded below:


PlanetMySQL Voting: Vote UP / Vote DOWN

Making rpm builds a first class citizen: How?

Январь 20th, 2012

In my previous post I explained why I believe the production of RPM and DEB packages should be more integrated with the rest of your development process. Now it's time to look into how you can put the RPM build scripts inside your main source code repository, and in particular how I did that to produce RPM packages for Drizzle.

read more


PlanetMySQL Voting: Vote UP / Vote DOWN