open life blog

MariaDB 5.2: Benchmarking Virtual Columns, Views and ExtractValue()

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:

MariaDB 5.2: Using MariaDB as a document store and Virtual Columns for indexing

This is a followup to my previous post about Virtual Columns. In this post I will do a more in-depth test on using virtual columns in a use case where MariaDB is used as a document store.

Document oriented DB basics

Relational databases store data in 2-dimensional tables, rows and columns. Document oriented databases do not store Word documents or novels, rather the "documents" are essentially serialized PHP arrays, Java-objects, etc. The most popular document format today is JSON. JSON "documents" have exactly the same syntax as a JavaScript array, originally JavaScript programmers would just 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 covers Drizzle beta and MariaDB RC

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.

LWN.net: New releases from MySQL descendants Drizzle and MariaDB

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.

...

MariaDB 5.2: What would you use virtual columns for?

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:

Upgrading Kubuntu Jaunty to MariaDB 5.2 RC

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.

3 Istanbul videos summarizing everything you need to know of MySQL and MariaDB development status

Monty with a bellydancer in Istanbul 2010
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.

A MySQL-MariaDB playlist

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:

Tapping around Open Core and contributor agreements: Syslog-ng, Diaspora, FreeIPA

While back on the Open Core topic anyway, a few notes on how 3 projects have reacted to the debate and criticism of the past Summer.

Syslog-ng

I personally work mostly in the middleware layer of things, especially databases, so I'm most familiar with the open core practices of MySQL, SugarCRM, JasperSoft and others in this space. So when LWN reported on the open core backlash last Summer, it was the first time I learned that a syslog utility known as Syslog-ng also follows this model. A basic syslog functionality is free and open source software, and there is a commercial version that comes with closed source addons. They have a contributor agreement of course, to make it work.

Except that they have now tweaked their model as follows:

About the bookAbout this siteAcademicAccordAmazonAppleBeginnersBooksBuildBotBusiness modelsbzrCassandraCloudcloud computingclsCommunitycommunityleadershipsummitConsistencycoodiaryCopyrightCreative CommonscssDatabasesdataminingDatastaxDevOpsDistributed ConsensusDrizzleDrupalEconomyelectronEthicsEurovisionFacebookFrosconFunnyGaleraGISgithubGnomeGovernanceHandlerSocketHigh AvailabilityimpressionistimpressjsInkscapeInternetJavaScriptjsonKDEKubuntuLicensingLinuxMaidanMaker cultureMariaDBmarkdownMEAN stackMepSQLMicrosoftMobileMongoDBMontyProgramMusicMySQLMySQL ClusterNerdsNodeNoSQLNyrkiöodbaOpen ContentOpen SourceOpenSQLCampOracleOSConPAMPParkinsonPatentsPerconaperformancePersonalPhilosophyPHPPiratesPlanetDrupalPoliticsPostgreSQLPresalespresentationsPress releasesProgrammingRed HatReplicationSeveralninesSillySkySQLSolonStartupsSunSybaseSymbiansysbenchtalksTechnicalTechnologyThe making ofTransactionsTungstenTwitterUbuntuvolcanoWeb2.0WikipediaWork from HomexmlYouTube