Mariadb is a fork of Mysql created when it was bought by Oracle. Oracle != !evil. MariaDB is an enhanced, drop-in replacement for MySQL.
Several users have reported in the forums and by email that Piwik runs under MariaDB. It would be great to setup Travis CI so it runs our Integration tests on MariaDB on latest PHP version.
Follow up of #4233
MariaDB is currently being discussed at Travis: https://github.com/travis-ci/travis-ci/issues/1081
Also: I vote against blowing up our build matrix to more builds. We're already using a lot of Travis' resources and should be more conservative. At some point we should drop MySQLi in favor of PDO.
Great news, Travis CI supports MariaDB via apt!
See this comment: https://github.com/travis-ci/travis-ci/issues/1081#issuecomment-33871728
I suggest we setup Integration+Core+Plugins builds on MariaDB, using PDO only (let's not run mysqli as to save resources - but maybe we could check quickly whether it still works).
Travis CI added support for MariaDB so we could enable it https://github.com/travis-ci/travis-ci/issues/1081
@mattab: maybe we should consider enabling this build? We are using MariaDB + TokuDB on prod environments so would be nice to avoid regressions here. Cheers!
Sorry to hijack the thread a bit but @quba , that would be very interesting to have something about your experience with TokuDB and Piwik !
Percona has bought TokuDB, and now you can install it through packages:
We use this at out work now, and it just works perfect.
Some settings that we have set for TokuDB are based on: http://code.openark.org/blog/mysql/tokudb-configuration-variables-of-interest
tokudb_commit_sync = 0 tokudb_fsync_log_period = 1000 tokudb_load_save_space = 1 default-storage-engine=TokuDB
Where tokudb_commit_sync = 0 makes it really fast, but also a bit unstable. If the mysql server crashes, you could loose some data that was still in memory.
It's not completed because of continuous testing but I don't really think it's needed.
@tsteur that would actually be quite simply to do. We only need to add the maria-db addon to the builds we want to run it with.
Should we run the all tests or the ui tests on maria db maybe?
@sgiehl personally I would not add yet another build job. They should be compatible with MySQL anyway and I reckon should there ever be an issue then we can still investigate that issue and fix it if needed etc. For sure lets not run UI tests on it as it's slow etc. When this becomes a priority we'd probably do integration and system tests.
For what it is worth: I would say that MariaDB is just a drop-in replacement, and should behave like normal MySQL. Therefore adding more build jobs it not that useful.
The same thing I did when I started using TokuDB in the past. They (TokuDB developers) stated that it was a drop-in replacement, which should be 100% compatible with MySQL. So I just start using TokuDB, and up till now, it still works.
So I agree with @tsteur .
Great to hear re TokuDB @theyosh by any chance do you have any comparison of performance or in general compared to standard MySQL or MariaDB? And if it's just a "very happy and things run smooth and fast " comment :)
I do not have any comparison. I had posted in the past in the forum about performances. But that was way back. I just did not switched back. As TokuDB is really a drop-in replacement, I use it for all my MySQL stuff. :) They stated about 4 times less space on disk (on the fly compression) and 20 times faster. I can confirm that the storage usage is about 3.5 times lower. And the speed is really fast. I can't say 20 times faster, but certain about 5 times. So cleaning a week becomes about 1 day.
But I am not sure how the state is right now, as Percona has purchased it. And I have not tried to upgrade my MySQL server to version 8 which is the latest. I am still on the 5.7 version.
And as far as I know, MySQL and MariaDB are not that different in speed. In the beginning MariaDB was a bit faster at certain points. But not really something that I would say it is superior.
But back on topic. I would stick to the policy, we test 'standaard' MySQL. And other party that claims to be a drop-in replacement, could be used at own risk. No active support.
Thanks for the feedback @theyosh very appreciated.
And yes agreed . I'll close the issue for now and should it ever become an issue we can always reopen.