Buy Percona ServicesBuy Now!

MariaDB Vs Mysql

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MariaDB Vs Mysql

    Hello All, I am currently using 5.7 version of Mysql and Want to know, it has any kind of effect relocating from MySql to MariaDB? Which is best for hosting serves between MariaDB and Mysql?

  • #2
    Hello Shivambhatele

    Thanks for joining the Forum.

    That is a huge question that would really require an analysis of your application and needs before we could answer it. So I am afraid it's well out of scope for Percona to answer in the Forum, since we could only provide a high quality answer by addressing this through our consultancy services. For example, perhaps Percona Server for MySQL might answer your needs without leaving MySQL at all.

    You should be aware that MariaDB with version 10.4 have diverged and is no longer considered a distribution of MySQL as MariaDB is developing their own code and functionalities. You'll find a lot of discussion about that online. It might be a discussion other forum users might enjoy.

    Meanwhile, I thought you might find these free webinars a good start for your own explorations, the third one takes hosting into consideration:
    If your company is in the position to use our professional consulting services, please let me know and I will get someone to discuss the options, you can email me if you would like to look at that.

    Comment


    • #3
      Shivambhatele ,
      MariaDB was born as a drop-in replacement of MySQL. Up to version 5.5, MariaDB was "MySQL plus some other features". All features, SQL syntax and options from MySQL 5.5 were important into MariaDB 5.5 (possibly with some exception, but if so, they were rarely used features). Frankly, I've never considered MariaDB as a "drop-in replacement". But up to that point, switching from MySQL to MariaDB was less risky than upgrading MySQL or MariaDB to the next major version.

      Later, MariaDB decided that maintaining the compatibility wasn't worth the effort. They started to dedicate less effort to compatibility and more effort to develop unique features. Next MySQL version was 5.7, but next MariaDB version was 10.0. This mismatch indicated that the products were starting to diverge, and be less compatible.

      I still consider them "mostly compatible". If you need to install some application, as a general rule you can expect it to work equally well with MySQL and MariaDB (again, there may be exceptions).

      Unique features exist on both sides. I'll mention the ones that I personally judge more relevant, which is not a universal truth.

      MariaDB:
      * Built-in clustering solution: Galera [https://mariadb.com/kb/en/library/wh...lera-cluster/]
      * CONNECT storage engine, for importing/exporting data to remote MySQL/MariaDB servers, other DBMSs, files in various formats [https://mariadb.com/kb/en/library/connect/]
      * System-versioned tables, to track how data changes over time [https://mariadb.com/kb/en/library/te...-data-tables/]
      * Flashback, to revert changes and bring the database back to a point in time [https://mariadb.com/kb/en/library/flashback/]
      * SPIDER storage engine, to shard data over multiple servers (with many limitations) [https://mariadb.com/kb/en/library/spider/]
      * More authentication plugins [https://mariadb.com/kb/en/library/au...tion-plugins/]

      MySQL:
      * Built-in clustering solution: group replication / InnoDB Cluster [https://dev.mysql.com/doc/refman/8.0...lication.html]
      * Atomic DDL, to avoid corruption is MySQL crashes during an ALTER TABLE [https://dev.mysql.com/doc/refman/8.0...omic-ddl.html]
      * Descending indexes [https://dev.mysql.com/doc/refman/8.0...-indexes.html]
      * Clone plugin, to make snapshots and move them between servers [https://dev.mysql.com/doc/refman/8.0...e-plugin.html]
      * InnoDB buffer pool can be resized at runtime, and MySQL can auto-size it [https://dev.mysql.com/doc/refman/8.0...ffer_pool_size, https://dev.mysql.com/doc/refman/8.0...d-server.html]

      More links:
      * MariaDB / MySQL compatibility: https://mariadb.com/kb/en/library/ma...compatibility/
      * MariaDB / MySQL optimiser: https://mariadb.com/kb/en/library/op...arison-matrix/

      To conclude, what is better? None of them is better. They are usually equivalent, unless you need / want a feature that is implemented only in one of them.

      Comment


      • #4
        Originally posted by Federico Razzoli View Post
        Shivambhatele ,
        MariaDB was born as a drop-in replacement of MySQL. Up to version 5.5, MariaDB was "MySQL plus some other features". All features, SQL syntax and options from MySQL 5.5 were important into MariaDB 5.5 (possibly with some exception, but if so, they were rarely used features). Frankly, I've never considered MariaDB as a "drop-in replacement". But up to that point, switching from MySQL to MariaDB was less risky than upgrading MySQL or MariaDB to the next major version.

        Later, MariaDB decided that maintaining the compatibility wasn't worth the effort. They started to dedicate less effort to compatibility and more effort to develop unique features. Next MySQL version was 5.7, but next MariaDB version was 10.0. This mismatch indicated that the products were starting to diverge, and be less compatible.

        I still consider them "mostly compatible". If you need to install some application, as a general rule you can expect it to work equally well with MySQL and MariaDB (again, there may be exceptions).

        Unique features exist on both sides. I'll mention the ones that I personally judge more relevant, which is not a universal truth.

        MariaDB:
        * Built-in clustering solution: Galera [https://mariadb.com/kb/en/library/wh...lera-cluster/]
        * CONNECT storage engine, for importing/exporting data to remote MySQL/MariaDB servers, other DBMSs, files in various formats [https://mariadb.com/kb/en/library/connect/]
        * System-versioned tables, to track how data changes over time [https://mariadb.com/kb/en/library/te...-data-tables/]
        * Flashback, to revert changes and bring the database back to a point in time [https://mariadb.com/kb/en/library/flashback/]
        * SPIDER storage engine, to shard data over multiple servers (with many limitations) [https://mariadb.com/kb/en/library/spider/]
        * More authentication plugins [https://mariadb.com/kb/en/library/au...tion-plugins/]

        MySQL:
        * Built-in clustering solution: group replication / InnoDB Cluster [https://dev.mysql.com/doc/refman/8.0...lication.html]
        * Atomic DDL, to avoid corruption is MySQL crashes during an ALTER TABLE [https://dev.mysql.com/doc/refman/8.0...omic-ddl.html]
        * Descending indexes [https://dev.mysql.com/doc/refman/8.0...-indexes.html]
        * Clone plugin, to make snapshots and move them between servers [https://dev.mysql.com/doc/refman/8.0...e-plugin.html]
        * InnoDB buffer pool can be resized at runtime, and MySQL can auto-size it [https://dev.mysql.com/doc/refman/8.0...ffer_pool_size, https://dev.mysql.com/doc/refman/8.0...d-server.html]

        More links:
        * MariaDB / MySQL compatibility: https://mariadb.com/kb/en/library/ma...compatibility/
        * MariaDB / MySQL optimiser: https://mariadb.com/kb/en/library/op...arison-matrix/

        To conclude, what is better? None of them is better. They are usually equivalent, unless you need / want a feature that is implemented only in one of them.
        Well this is the perfect answer for you about the difference between MySQL and MariaDB, Here you can go:

        Storage Engines

        MariaDB provides several powerful storage engines out-of-the-box which are not available in MySQL. For example, XtraDB, Aria, etc. To set up these storage engines for MySQL, you need to install them manually which may not be the most convenient thing.

        Performance

        MariaDB has several optimizations that tend to improve the performance as compared to MySQL. In fact, that was exactly the vision in mind when MariaDB was started by Michael Widenius, the original founder of both MySQL as well as MariaDB.

        Additional Features

        An interesting feature that MariaDB supports is that of virtual columns. These columns are capable of performing the calculations at the database level. This is extremely useful when many applications are accessing the same column and so, there is no need to write the calculation in each application – the database can do that for you. This feature isn’t available in MySQL.

        To know it more descriptive way, Read this post, which is very nicely described.
        In this blog post, we will try to compare some of the features of MariaDB vs MySQL databases to see which one is the best for usage in 2019

        Comment


        • #5
          MariaDB doesn't use Xtradb anymore, it uses a version of InnoDB heavily modified by them. Xtradb specific options are not available anymore in recent versions (there could be some exception).

          Generated columns are available in MySQL since version 5.7. MySQL implementation is slightly more complete because:
          * you can index virtual (non-persistent) columns
          * indexes on generated columns can be used even by queries that don't mention the column explicitally

          I wouldn't say that MariaDB is faster - depending on your workload, one or another can be faster.

          On the other side, your message reminds me that MariaDB comes with RocksDB, which is an interesting storage engine.

          Comment

          Working...
          X