|Showing entries 1 to 30 of 988||Next 30 Older Entries|
I’ll be in Hong Kong for the upcoming OpenStack Summit Nov 5-8. I’d be thrilled to talk database things with others present, especially around Trove DBaaS (DataBase as a Service) and high availability MySQL for OpenStack deployments.
I was last in Hong Kong in 2010 when I worked for Rackspace. The closest office to me was in Hong Kong so that’s where I did my HR onboarding training. I remember telling friends on the Sunday night before leaving for Hong Kong that I may be able to make dinner later in the week purely depending on if somebody got back to me on if I was going to Hong Kong that week. I was, and I went. I took some photos while there.
Walking from the hotel where we were staying to the Rackspace office could be[Read more...]
From time to time we have to work with live environments and production databases. For some of us this is day-to-day job. And most of the time cost of a mistake is way higher than expected improvement especially on the databases. Because issue on the database side will affect everything else.
I heard enough war stories about ruined productions and can imagine well enough speed of DROP DATABASE command replicating across the cluster. So I’m scared to make changes in production. The more loss expected if things go wrong the more I’m going to be scared planning every change. But I still love to make improvements so the only question is how to make them safer.
This post is not intended to be a guide or best practices on how to avoid issues at all,[Read more...]
This week we start talking about the Python MySQL Utilities. Ear Candy is a pitfall when importing a mysqldump export and At the Movies is "Deploying MySQL in AWS and OpenStack" by Mark Riddoch of SkySQL.
MySQL Utilities documentation
This week we continue our interview with Noam Kritzer of Bakos & Kritzer, talking about patent case law and patent trolls. Ear Candy is temporary table ghost files, and At the Movies is Manipulating JSON with MariaDB and MySQL.
Copyright.gov, a resource written for lay people.
This week we interview Noam Kritzer from the law firm of Bakos & Kritzer about copyright, patents and trademarks. Ear Candy is about SUBSTRING_INDEX and At the Movies is Colin Charles presenting a panel on MariaDB.
DB Hangops - every other Wednesay at noon Pacific time
Oracle is having a MySQL OTN Virtual Developer Day August 31st.
FrOSCon - Aug 24-25th, 2013 in St. Augustin, Germany.
The MariaDB project is pleased to announce the immediate availability of MariaDB 5.5.32. This is a Stable (GA) release. See the Release Notes and Changelog for detailed information on this release and the What is MariaDB 5.5? page in the AskMonty Knowledgebase for general information about the MariaDB 5.5 series.[Read more...]
My fellow testers and others who run RQG tests on MySQL flavors might be interested in some additions that are being used for MariaDB testing. While none of them is a major breakthrough, maybe they will make somebody’s life a little easier.
A quick introduction for those who have never heard of RQG, but are still curious what this blog post is about.
RQG stands for Random Query Generator, also known as randgen — an open-source product, available under the GPL v2 license. Quoting its home page on Launchpad, it is a “pseudo-random data and query generator that can be used to test any Perl DBI, JDBC or ODBC-compatible SQL server, in particular MySQL, but also JavaDB and PostgreSQL”.
The framework was created by my former[Read more...]
It has recently been brought to our attention that the MySQL man pages have been relicensed. The change was made rather silently going from MySQL 5.5.30 to MySQL 5.5.31. This affects all pages in the man/ directory of the source code.
You can tell the changes have come during this short timeframe (5.5.30->5.5.31). The old manual pages were released under the following license:
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
The new man pages (following 5.5.31 and greater – still valid for 5.5.32) are released under the following license:
This software and related documentation are provided under a license agreement containing restrictions on use
The MariaDB project is pleased to announce the immediate availability of the MariaDB 5.5.31. This is a Stable (GA) release. See the Release Notes and Changelog for detailed information on this release and the What is MariaDB 5.5? page in the AskMonty Knowledgebase for general information about the MariaDB 5.5 series.[Read more...]
This is one close to my heart. I’ve recently written on other storage engines: Where are they now: MySQL Storage Engines, The MERGE storage engine: not dead, just resting…. or forgotten and The MEMORY storage engine. Today, it’s the turn of MySQL Cluster.
Like InnoDB, MySQL Cluster started outside of MySQL. Those of you paying attention at home may notice a correlation between storage engines not written exclusively for MySQL and being at all successful.
Back when the first version of the MariaDB Java Client was released, someone asked in the comments about the performance characteristics of the driver compared to ConnectorJ. I answered with hand-waving, saying that nobody does anything stupid, the performance of the drivers would be roughly the same, but I promised to measure it and tell the world one day. And now that day has come. The day where three MySQL JDBC drivers (ConnectorJ, MariaDB JDBC, and Drizzle JDBC) are compared against each other. Unlike the server, which gets benchmarking attention all the time, there is no standard benchmark for connectors, so I needed to improvise, while trying to keep the overhead of the server minimal. So I did something very primitive to start. I used my two favorite queries:
DO 1— this one does not retrieve a result set, and thus can be seen as a small
This is the required post about things I observed during this years MySQL conference.
Things that are awesome:
Things that can be improved:
Things that just bumped me:
The MariaDB project is pleased to announce the immediate availability of the MariaDB Java Client 1.1.2. This is a Stable (GA) release. See the Release Notes and Changelog for detailed information on this release and the About the MariaDB Java Client page in the AskMonty Knowledgebase for general information about the client.[Read more...]
Many developers use master-slave replication to solve a number of different problems, including problems with performance, supporting the backup of different databases, and as a part of a larger solution to alleviate system failures. Traditionally, master-slave replication is done with real servers, but it can also be done with cloud database servers. This guest post from Jelastic (originally published here) describes how to set up MariaDB master-slave replication using their Jelastic PaaS (Platform as a Service).
Master-slave replication enables data from one database server (the master) to be replicated to one or more other database[Read more...]
This week we talk to Giuseppe Maxia about MySQL Sandbox. Ear Candy is about table_open_cache, Open_tables and Opened_tables, and At the Movies features MariaDB.
MariaDB slave of a master:
make sandbox mysql-tarball --master
make sandbox mariadb-tarball --slaveof master-port=foo
./my sqldump instancename
Remote mysql sandbox deploy:
deploy remote sandboxes -m MySQLVer -l list,of,servers
When dealing with high performance, low latency storage devices, such as SSD cards, one finds bottlenecks in new places. This is a story about such a bottle neck and how to work around it.
One unique feature of InnoDB is the double write buffer. This buffer was implemented to recover from half-written pages. This can happen in case of a power failure while InnoDB is writing a page (16KB = 32 sectors) to disk. On reading that page, InnoDB would be able to discover the corruption from the mismatch of the page checksum. However in order to recover, an intact copy of the page would be needed.
The double write buffer provides such a copy. Whenever InnoDB flushes a page to disk, it is first written to the double write buffer. Only when the buffer is[Read more...]
Following on from my fun post on Where are they now: MySQL Storage Engines, I thought I’d cover the few storage engines that are really just interfaces to a collection of things. In this post, I’m talking about MERGE.
The MERGE engine was basically a multiplexer down to a number of MyISAM tables. They all had to be the same, there was no parallel query execution and it saw fairly limited use. One of the main benefits was that then you could actually put more rows in a MyISAM table than your “files up to 2/4GB” file system allowed. With the advent of partitioning, this really should have instantly gone away[Read more...]
A few weekends ago, I started to again look at the code in Drizzle for producing internal temporary tables. Basically, we have a few type of tables:
If you’re lucky enough to be creating one of the first three types, you go through an increasingly lovely pile of code that constructs a nice protobuf message about what the table should look like and hands all responsibility over to the storage engine as to how to do that. The basic idea is that Drizzle gets the heck out of the way and lets the storage engine do its thing. This code path looks rather different[Read more...]
Continuing on from my previous posts, MySQL code size over releases and MariaDB code size I’ve decided to also look into some other code branches. I’ve used the same methodology as my previous few posts: sloccount for C and C++ code only.
There are also other branches around in pretty widespread use (if only within a single company). I grabbed the Google, Facebook and Twitter patches and examined them too, along with Percona Server 5.1 and 5.5.Codebase LoC (C, C++) +/- from MySQL Google v4 patch 5.0.37 970,110 +26,378 (from MySQL 5.0.37) MySQL@Facebook 1,087,715 +15,768 [Read more...]
Continuing on from my previous post, MySQL code size over releases.
I wanted to look at the different branches/patch sets of MySQL out there and work out how far from upstream they deviated. I’m just going to compare against whatever upstream version the most easily accessible version is based on (be it 5.0.x, 5.1.x or whatever).
For MariaDB versions, I removed innodb_plugin and replaced it with xtradb for stats purposes as the MariaDB innodb_plugin is essentially the same as upstream and I don’t want to artificially inflate the diff size.
The first three major versions of MariaDB were all based on MySQL 5.1. I used sloccount and only counted C and C++ code.
So, let’s look at some of the MySQL patch[Read more...]
After some final testing and polishing, the MariaDB project and Codership are pleased to announce the release of MariaDB Galera Cluster 5.5.29. This is a Stable (GA) release. MariaDB Galera Cluster links:
First, congratulations Oracle on the GA of MySQL 5.6! Well done!
In this post I walkthrough the features of the first two alpha versions of MariaDB 10.0. The first, 10.0.0-alpha, which was made available in November, and 10.0.1-alpha that saw daylight yesterday. I will go through the features by placing them in the following categories:
I’m getting more and more concerned about the current Oracle approach to MySQL security. And the fact that I was solely responsible for the firstname.lastname@example.org for about ten years, doesn’t make it easier, on the contrary, it only emphasizes changes in the attitude.
Starting from the obvious — somewhat slower response to critical bug fixes, which can be expected, Oracle is a big company, right? Very little information about security vulnerabilities is disclosed, CPUs are carefully stripped from anything that might help to understand the problem, it takes hours to map them to code changes. Heck, even test cases are kept private now. This seriously smells[Read more...]
|Showing entries 1 to 30 of 988||Next 30 Older Entries|