In this post I will share results on some "benchmarking" I did on the database created in the previous post: MariaDB 5.2: Using MariaDB as a document store and Virtual Columns for indexing. In addition to just playing with the new syntax, I wanted to actually benchmark using virtual columns against some other techniques. If you didn't read that previous post yet, please do so that you know the schema that is being used and the whole point of what we are doing.
The premise for this benchmark was already given last week:
Before I write the next blog, I invite you to guess the result of the benchmark. I had two conflicting rules of thumb as hypothesis:
Document oriented DB basics
eval("data = " + jsondocument); to get the data into a variable (unserialize). For more information about JSON and how a JSON database would work, see the Wikipedia article and for instance the MongoDB manual.
Another format that has been used for document stores is XML documents, and many programming languages can serialize objects into XML.
LWN.net has a nice article on their front page on Drizzle's and MariaDB's recent beta and RC releases. it is behind a paywall for a few more days, but using the link below you can already read it.
For years, MySQL has been the highest-profile open source relational database system, but with the Sun (and, later, Oracle) acquisition of MySQL's corporate parent MySQL AB, the development community has split in several directions. Now, a few years later, both of the leading community-driven forks of MySQL, Drizzle and MariaDB, have made important new releases.
In my previous post I blogged about upgrading to MariaDB 5.2 RC. This is the first blog post where I will look at a new feature in MariaDB 5.2: Virtual Columns. This feature was originally contributed to MySQL by Andrey Zhakov in 2008. MariaDB is now the first to include it and ship it in an upcoming stable release. (I believe it is also included in Drizzle, at least Monty Taylor was working with Andrey on it some time ago.)
The MariaDB knowledgebase explains it in detail, but the basic idea is easy to explain:
MariaDB 5.2.2 RC was released a few weeks ago, and last night I finally upgraded my workstation to have a look. I had to perform several APT related steps to upgrade, so these notes are more a commentary on apt(-get) than MariaDB itself (more on that later) and I'm mostly writing this down for future reference, should I need to do this again for the next upgrade.
At the MariaDB developer meeting in Istanbul, we didn't yet tackle the logistics of filming and streaming the talks given, so if you weren't there, you have to be content with the blogs and slides published. I did however take the following 3 videos and now that I'm outside of Turkey's Internet firewall, I published them on YouTube. They are not technical at first sight, but if you think about it, they illustrate and summarize perfectly the current status of MySQL/MariaDB community development.
Hakan and My have done an excellent job organizing our MariaDB developer meeting here in Istanbul. For the farewell dinner, Hakan asked what kind of music we'd like the DJ to play. I realized it is possible to compile a rather nice list of MySQL/MariaDB related music for an evening:
One of many things I really enjoyed working as a Sales Engineer back at MySQL Ab and Sun was that I was paid full time to encourage companies to use open source for their database layer. While Linux has already become the norm for the operating system on servers, and open source alternatives exist for app servers, it wasn't until a few years ago we really started seeing major traction of that in the database layer. And I was happy to be a small part of it!
I'm not really a salesy person. I mean I'm good at evangelizing something I believe in, addressing customer business needs and such. But you couldn't get me to lift a finger just to meet a quota, if I didn't really believe in the product. Which is what good sales guys can do. (Also known as "selling what you have in the truck".)
But thinking back at my time selling MySQL, I felt it was a great privilege to be paid a salary to travel to companies around Europe and spend a day with them explaining how and why to migrate from a proprietary database they had standardized on, to MySQL. And btw, we always met our quota too.