Best MariaDB ever hits the streets – MariaDB 10 innovations developed with Google, SkySQL & Fusion-IO

London, United Kingdom – 31 March 2014 – The MariaDB Foundation, an independent body which promotes the popular open source database MariaDB, today announced the much-anticipated general availability of MariaDB 10, providing today’s generation of application developers with enhanced performance and functionality.

Since its launch in 2009, MariaDB has built an active and vibrant open source community and has led the way in database innovation. In 2013, Wikimedia Foundation, the people behind Wikipedia, announced the migration of many of its production MySQL systems over to MariaDB and Google confirmed it aims to move its thousand-plus MySQL instances over to MariaDB technology.

Engineered by some of the world’s leading database experts, including MySQL founder, Michael ‘Monty’ Widenius, MariaDB has been enthusiastically adopted by a fast-growing eco-system including influential Linux distributions Red Hat, Fedora, Suse and Debian. MariaDB 10 includes numerous innovations developed with and for web-scale players like Google, Fusion-IO and Taobao such as:

Replication

  • MariaDB 10 sets a new standard in performance. It is many times faster than previous generations of MariaDB and especially legacy database MySQL thanks to new features including parallel replication and a further advanced group commit. Also, the replication slaves are now crash-safe.
  • It’s also now possible to replicate data from multiple master servers giving a complete view of the distributed data across big datasets for real-time analytical purposes via the multi-source replication feature.

NoSQL Capabilities

  • The CONNECT engine enables dynamic access to diverse data sources dynamically, including unstructured files such as log files in a folder, or any ODBC database, from within MariaDB 10. Great for ETL (Extraction, Transformation and Load) and Real-Time analysis.
  • Dynamic Columns store disparate labelled data objects in each row of a table in much the same way as NoSQL technologies.
  • Access data from Cassandra data directly inside MariaDB 10, and interoperate directly with a widely adopted Big Data technology.

Sharding

  • MariaDB 10 includes built-in sharding in the form of the SPIDER engine, allowing big database tables to be split across multiple servers, for performance and scale. MariaDB combines sharding with the new replication features to provide true high availability.

Michael ‘Monty’ Widenius, CTO MariaDB Foundation said: “MariaDB has led the way as a cutting-edge, open source database innovation. MariaDB 10 continues MariaDB’s reputation for delivering new capabilities ahead of the curve, building advanced features to address the needs of the most demanding users.

“We’d like to thank the tireless support of our principal contributors SkySQL and community members like Google and Fusion-IO whose continuous feedback is essential in driving innovation in MariaDB. We are also very thankful for all community developers that have contributed to the success of MariaDB.” concludes Widenius.

“We are delighted to see our collaboration with the MariaDB community come to fruition in the MariaDB 10.0 solution,” said Madhu Matta, Fusion-io Vice President of Hyperscale. “Databases continue to showcase how flash technologies like Fusion ioMemory drive application acceleration and solve critical customer problems. The unique combination of MariaDB 10 innovations and our flash aware interfaces like NVM Compression and Atomic Writes will help drive the next chapter of database technologies.”

Patrik Sallner, CEO SkySQL said: “MariaDB 10 is a landmark open source innovation and an evolution of the fundamental SQL technology which runs the world’s largest databases. Developers can now achieve state-of-the-art application performance at scale with a SQL database they know and trust. If you want fast and secure applications, MariaDB is the right choice.”

For application developers looking to build serious, revenue-generating applications using MariaDB, SkySQL will be soon releasing its next generation of MariaDB Enterprise that provides all the tools and professional expertise needed to run MariaDB in large, complex production environments.

About MariaDB Foundation
The MariaDB Foundation promotes, protects, and advances the MariaDB codebase, community, and ecosystem. It’s members are companies like SkySQL (who also employ many core MariaDB code contributors), Booking.com, Parallels and Automattic. In addition it receives sponsor support from a range of vendor and user companies. Visit www.mariadb.org to learn more.

For more information visit www.mariadb.org or contact Paul Maher, Positive Marketing on +44 7900 600013.

Download MariaDB 10.0.10

Release Notes Changelog What is MariaDB 10.0?

MariaDB APT and YUM Repository Configuration Generator

Reposted from Monty Says.

I recently read some comments that we at the MariaDB Foundation have not been very open about what we are doing.

We are very sorry about this. The problem is not that we are secret about what we are doing, the problem is that not many of us working at the MariaDB Foundation are very active bloggers.

I will try to address this concern by starting a monthly blog about the MariaDB development that MariaDB Foundation employees are doing. This together with Simon Phipps’ state of the sea lion blog, which is published here, should hopefully give everyone a better idea of what we are doing.

At the MariaDB Foundation we are now 4 people working full time on code, documentation, and spreading MariaDB. Here are the things we have done since the Foundation was formed in December 2012:

Major development efforts based on code from the community:

  • MDEV-4568 Port Percona response time distribution as audit plugin
  • MDEV-4911 Add KILL query id, and add query id information to process list
  • MDEV-4684 Enhancement request: –init-command support for mysqlslap

Major new development efforts:

  • MDEV-4702 Reduce usage of LOCK_open
  • MDEV-4011 Per thread memory usage
  • MDEV-4902 sql_yacc.yy incompatible with bison 3
  • MDEV-4950 mysql_upgrade fails with disabled InnoDB (a bug that is not fixed in MySQL)
  • MDEV-21 LGPL C client library
  • LGPL Java client library.
  • Some work on a new LGPL ODBC driver for MySQL and MariaDB.
  • Better error messages (the error code in an error message now has descriptive text)
  • Faster connect (lots of small fixes).
  • MDEV-3941 CREATE TABLE xxx IF NOT EXISTS should not block if table exists.

The MariaDB Foundation has also done a lot of work on the merge of MySQL 5.6 to MariaDB 10.0. The most notable features done by the Foundation are:

  • All InnoDB changes
  • All performance schema changes
  • Cleaned up the HANDLER interfaces (to make life easier for storage engine writers).
  • TRANSACTION READ ONLY | READ WRITE
  • MySQL-5.6 TIME/TIMESTAMP/DATETIME data types with fractional seconds
  • MySQL-5.6 temporal literals
  • utf16le character set
  • TO_BASE64 and FROM_BASE64 SQL functions
  • MySQL-5.6 collation customization improvements (in progress)

Note that the above is not a complete list of what is in MariaDB 10.0!

We are working with external entities and contributors to get features into MariaDB. Some of these have required a lot of work on the MariaDB Foundation side:

  • CONNECT storage engine
    • Porting to various operating systems (*BSD, Linux flavors, Solaris)
    • Porting to unixODBC
    • Fixing compiler warnings
    • Testing and writing mtr tests
    • Checking, reporting and fixing valgrind warnings
    • Reviewing the author’s code
    • Adding MySQL/MariaDB security support (FILE privilege and secure_file_priv)
    • Adding ConnectSE support in embedded server
    • Globalization: making ConnectSE support multiple MariaDB character sets
    • Discussing many aspects of better integration of ConnectSE into MariaDB with the author.
    • Packaging (RPMs, DEBs, MSI)
  • TokuDB storage engine
    • Review of code
    • Some small integration changes.
  • Parallel slave
  • Multi source replication
    • Worked closely with the original author to extend the code from a working proof of concept to production level code.
  • MDEV-4438 Spider storage engine
    • Continuously working with Kentoku
  • MDEV-4425 REGEXP enhancements (a Google Summer of Code project, in progress)
    • Mentoring Sudheera Palihakkara (the student)
    • Student’s code reviews (for RLIKE and RLIKE_REPLACE)
    • Code enhancements proposals
    • CMake related enhancements
    • Wrote RLIKE_SUBSTR and RLIKE_INSTR functions
  • Added support for –crash-script in mysqld_safe.

A lot of basic system maintenance:

  • Reported a lot of bugs (this is not a full list):
    • MDEV-4489 Replication of big5, cp932, gbk, sjis strings makes wrong values on slave
    • MDEV-4634 Crash in CONVERT_TZ
    • MDEV-4635 Crash in UNIX_TIMESTAMP(STR_TO_DATE(‘2020′,’%Y’))
    • MDEV-4651 Crash in my_decimal2decimal in a ORDER BY query
    • MDEV-4652 Wrong result for CONCAT(GREATEST(TIME(’00:00:01′),TIME(’00:00:00′))
    • MDEV-4653 Wrong result for CONVERT_TZ(TIME(’00:00:00′),’+00:00′,’+7:5′)
    • MDEV-4654 Wrong warning for CAST(TIME(’10:20:30′) AS DATE) + INTERVAL 1 DAY
    • MDEV-4655 Difference in how GREATEST and COALESCE process arguments
    • MDEV-4714 Wrong TIME value from a long string
    • MDEV-4724 MAKETIME does not preserve microseconds
    • MDEV-4838 Wrong metadata for DATE_ADD(‘string’, INVERVAL)
    • MDEV-4841 “Wrong character set of ADDTIME() and DATE_ADD()”
    • MDEV-4842 STR_TO_DATE does not work with UCS2/UTF16/UTF32
    • MDEV-4843 Wrong data type for TIMESTAMP(‘2001-01-01′,’10:10:10′)
    • MDEV-4844 Redundant warning in SELECT TIME(’00:00:00.’)
    • MDEV-4848 Wrong metadata or column type for LEAST(1.0,’10’)
    • MDEV-4850 MATCH uses a wrong fulltext index with mismatching collation
    • MDEV-4857 Wrong result of HOUR(‘1 00:00:00′)
    • MDEV-4858 Wrong error message for a huge unsigned value inserted into a TIME column
    • MDEV-4859 Wrong value and data type of “SELECT MAX(time_column) + 1 FROM t1″
    • MDEV-4861 TIME/DATETIME arithmetics does not preserve INTERVAL precision
    • MDEV-4862 Wrong result of MAKETIME(0, 0, 59.9)
    • MDEV-4863 COALESCE(time) returns wrong results in numeric context
    • MDEV-4868 Length of CURRENT_TIME is too long
    • MDEV-4869 Wrong result of MAKETIME(0, 0, -0.1)
    • MDEV-4870 Wrong values of CASE, COALESCE, IFNULL on a combination of different temporal types
    • MDEV-4871 Temporal literals do not accept nanoseconds
    • MDEV-4872 Inserting a huge number into a TIME column produces a wrong result
    • MDEV-4898 Too many warnings when inserting a bad value into a TIMESTAMP column
    • MDEV-4900 Bad value inserted into a TIME field on truncation
  • Fixed a LOT of bugs (the following is not a full list):
    • MDEV-4489 Replication of big5, cp932, gbk, sjis strings makes wrong values on slave
    • MDEV-4512 Valgrind warnings in my_long10_to_str_8bit on INTERVAL and DATE_ADD with incorrect types
    • MDEV-4518 Server crashes in is_white_space when it’s run with query cache…
    • MDEV-4634 Crash in CONVERT_TZ
    • MDEV-4635 Crash in UNIX_TIMESTAMP(STR_TO_DATE(‘2020′,’%Y’))
    • MDEV-4639 my_datetime_to_str: Conditional jump or move depends on uninitialized value
    • MDEV-4651 Crash in my_decimal2decimal in a ORDER BY query
    • MDEV-4652 Wrong result for CONCAT(GREATEST(TIME(’00:00:01′),TIME(’00:00:00′))
    • MDEV-4653 Wrong result for CONVERT_TZ(TIME(’00:00:00′),’+00:00′,’+7:5′)
    • MDEV-4724 MAKETIME does not preserve microseconds
    • MDEV-4804 Date comparing false result
    • MDEV-4819 Upgrade from MySQL 5.6 does not work
    • MDEV-4841 “Wrong character set of ADDTIME() and DATE_ADD()”
    • MDEV-4843 Wrong data type for TIMESTAMP(‘2001-01-01′,’10:10:10′)
    • MDEV-4863 COALESCE(time) returns wrong results in numeric context
    • MDEV-4871 Temporal literals do not accept nanoseconds
    • Fixed MySQL bug #69861 LAST_INSERT_ID is replicated incorrectly if replication filters are used.
    • Fixed issues with partitions and create temporary table SELECT
    • If one declared several continue handler for the same condition on different level of stored procedures, all of them where executed. Now we only execute the innermost of them (the most relevant).
    • Don’t abort InnoDB if one can’t allocate resources for AIO
    • Added some fixes that should make MyISAM & Aria REPAIR work with more than 4G records.
    • MDEV-4352 LOAD DATA was not multi-source safe
    • MDEV-4394 Sporadic failures in multi_source tests
    • MDEV-4033 Unable to use slave’s temporary directory /tmp – Can’t create/write to file ‘/tmp/SQL_LOAD-‘ (Errcode: 17 “File exists”)
    • Increase default value of max_binlog_cache_size and max_binlog_stmt_cache_size to ulonglong_max.
    • MDEV-4319 mysqlbinlog output ambiguous escaping (patch by Ian Good)
    • OPTION is now a valid identifier (not a reserved word)
    • Fixed issue with LOCK TABLE + ALTER TABLE ENABLE KEYS + SHOW commands.
    • MDEV-628 Querying myisam table metadata may corrupt the table.
    • Replace with an auto_increment primary key and another unique key didn’t replicate correctly with REPLACE.
    • BUG#51763 Can’t delete rows from MEMORY table with HASH key.
    • MDEV-389 Server crash inserting record on a temporary table after truncating it.
    • Fixed crashing bug in GROUP_CONCAT with ROLLUP
    • MDEV-4013 Password length in replication setup
    • MDEV-4009 main.delayed sporadically fails with “query ‘REPLACE DELAYED t1 VALUES (5)’ failed: 1317: Query execution was interrupted”
    • Fixed CREATE TABLE IF EXIST generates warnings instead of errors
    • Removed lock wait timeout warning when using CREATE TABLE IF EXISTS
  • Code cleanups and code rewrites.
  • Continued work to ensure that MariaDB works on many operating systems.
    • Did lots of small fixes for Solaris.
  • Review of code from the community.
  • Removed valgrind and compiler warnings.
  • Added new test cases.
  • QA & benchmarking.

Talked about MariaDB and Open Source/Free Software at a lot of conferences:

  • Percona Live London 2012
  • SkySQL Roadshow, Stuttgart
  • Vista developer Conference, Riga
  • PHP Conference, Pasila, Finland
  • SkySQL Roadshow, Amsterdam
  • Percona Live, Santa Clara
  • SkySQL Roadshow, London
  • MySQL Meetup, NYC
  • Suomen Arkistointi Seminaari, Mikkeli, Finland
  • SkySQL Roadshow, Berlin
  • Ali Baba Conference, Hangzhou, China
  • OSCON, Portland
  • Debconf, Switzerland
  • Froscon, St Augustin, Germany
  • Haaga-Helia Talks, Finland
  • IDCEE Conference, Ukraina
  • Latinux, Brazil & Peru
  • Highload Conference, Moscow
  • Foscon, Gotenburg, Sweden
  • Percona Live 2013, London

Other things people from the MariaDB foundation have done:

  • Created +200 and updated +3000 articles in the MariaDB Knowledge Base.
  • Visited a lot of companies to talk about the MariaDB Foundation.
  • Worked closely with OS distributions to get MariaDB accepted as a standard part of their distributions. Partly thanks to the MariaDB Foundation, the following distributions now have MariaDB packages:
    • GNU/Linux KDu
    • Mageia
    • Gentoo
    • openSUSE
    • Slackware
    • Arch Linux
    • ALTLinux
    • MariaDB Debian Live Images
    • Parabola GNU/Linux
    • TurboLinux
    • The Chakra Project
    • Fedora
    • Red Hat Enterprise Linux
    • FreeBSD
    • OpenBSD
    • Debian now has MariaDB packages in ‘unstable’.
    • For a full list and to see which distributions are replacing MySQL with MariaDB, see this page.
  • Updated SHOW AUTHORS and SHOW CONTRIBUTORS to give more merit to active contributors and sponsors.

We are very thankful to the MariaDB Foundation members and supporters that have made this work possible!

The current members are:

If you want the MariaDB foundation to do even more work like the above, you should ensure that your company becomes member in the MariaDB Foundation! You can also sponsor the foundation as a private person!

The Board of the MariaDB Foundation thought it would be good to provide an update — hopefully the first of a regular quarterly series — on how we’re progressing with the interim activities around constructing governance, identifying a new representative Board and structuring an engineering council.

  • The MariaDB Foundation is now independent of any business interests. With the acquisition of Monty Program Ab by SkySQL Ab, there’s now a clear separation of functions. The Foundation is the home of community activity around MariaDB, dedicated to sustaining and delivering the MariaDB database on behalf of its community independently of the business interests of any member. We are acting as a US 501(c)(6) not-for-profit and intend to follow the advice we have received to formally register with the IRS at the start of 2014.
  • Support from commercial backers is steadily flowing; you can see some of them listed on our new Supporters page, which is still being updated. We have two different kinds of supporters.
    • Commercial Sponsors are businesses within the MariaDB Community who want to team together to keep the infrastructure and administration running. In return, we offer them recognition via our Supporters Page.
    • Commercial Members are businesses within the MariaDB Community who additionally want to participate directly in the governance oversight. They will be helping the Board through our new Advisory List and will also be identifying up to half of the members of the new Board when we switch to permanent governance (the other half will be community contributors to the code). I’m pleased to have three generous supporters in this category already.
    • While we now have a good number of Commercial Sponsors, we still need more and I encourage you to offer sponsorship if your business uses MariaDB. If you have a high strategic dependence on MariaDB, I encourage you to consider Commercial Membership.
  • We have a small staff team in place. I’m acting as CEO in the interim period on a part-time basis, with Monty serving as my CTO and structuring our engineering functions. Working for him are two developers and a part-time administrator, with a current focus on documentation. We also have a General Counsel, Andrew Katz, supported by US attorney Andy Updegrove, and we’re retaining a “virtual CFO” through Virtual Management, Inc. I expect to add a membership director and further developers to the team in the coming months. I hope our overall staff team will peak at about 8 FTE by the end of the year.
  • The interim Board has met regularly. It comprises Sergei Golubchik, Rasmus Johansson, Andrew Katz, myself, Monty Widenius and Jeremy Zawodny. Since the governance we envisage is based on the Eclipse Foundation, we have also invited its executive director Mike Milinkovich to attend all our meetings as an advisor.
  • The Board is keen for MariaDB to play a full part in the wider community of open source communities. Consequently, we have now joined the Open Source Initiative as an Affiliate Member, and we have become a licensee of the Open Invention Network.
  • We’re now ready to start the next key element of the Foundation’s transformation, establishing community-based governance. We expect the permanent governance for the Foundation to reflect both the developer and business needs of the MariaDB Community, with the Board being equally divided between community-recognised technical contributors to MariaDB and Corporate Members. We plan to conduct public discussion of new Bylaws during August 2013.
  • We’re just starting discussion of how to structure an engineering council to act as the focus for consensus around MariaDB itself, very much along the lines of the current MariaDB Captains. We have not discussed any proposal to make any changes to the licensing of MariaDB and I don’t expect any such proposal to be made; we’re sticking with the GPL. Rather, I’m expecting the community around MariaDB to continue to strengthen and grow as an open community.

If you would like to discuss any aspect of the Foundation with me – especially if your company would like to become a Sponsor or Member — please get in touch. My e-mail address is webmink at mariadb org.