Feedback on page: /guides/v2.2/install-gde/system-requirements-tech.html
According to the following blog-post MariaDB doesn't guarantee drop-in compatibility any longer. They claim to be "drop in replacement". Some newer features are not compatible against each other, in example the Json Datatype is different for MySQL 5.7 and MariaDB.
Do you have this in mind for the Database requirements?
Edit: Forgot the Blog Post.
https://www.percona.com/blog/2017/11/02/mysql-vs-mariadb-reality-check/
@mpingu, are you asking what database technologies Magento plans to support in the future or are you recommending we update our guidance on using MySQL versus MariaDB?
@jeff-matthews i would love a more precise statement on the guidance on using MySQL versus MariaDB, because what if a new Magento feature wont work in MariaDB or MySQL. Or a new Version of MySQL (Hint: MySQL 8) or MariaDB wont be compatible to each other anymore.
Example the Json Datatypes in MySQL 5.7 are different from those in MariaDB.
Thanks for clarifying! Have you identified a feature in MySQL 5.6 or 5.7 that isn't compatible with MariaDB 10.0, 10.1, or 10.2? You've provided the example of JSON Datatypes in MySQL 5.7, but you don't specify which version of MariaDB you're comparing that against.
Yes the Json Datatype which was introduction with MySQL 5.7, is only in MariaDB 10.2, and not in the same way as MySQL. They implemented it in MariaDB 10.2 but as only an alias for TEXT.
For more technical Details look into
https://jira.mariadb.org/browse/MDEV-9056
https://mariadb.com/resources/blog/json-mariadb-102
https://dev.mysql.com/doc/refman/5.7/en/json.html
What do you think about adding the following note to the page?
Magento only uses MySQL features compatible with MariaDB. MariaDB may not be compatible with all MySQL features, however, so be sure to research compatibility issues before deciding to use a feature in your Magento module.
Not sure if this is helpful here, but the Magento Cloud hosting uses 10.0.30-MariaDB, so I assume MariaDB is fully supported.
I'm using both MariaDB 10.0 and 10.2 on my local environments, and haven't ran into an issue yet.
I don't think Magento already uses the Json Datatype provided by MySQL 5.7, so currently there should by no incompatibilities I think.
I am not totaly sure whats the best way to note it. Mostly i wanted to ask if you are aware of this situation, that there maybe will be features which one of the Databases does not support or are implemented in an other way.
Thanks for bringing this to our attention @mpingu. As @hostep mentioned, Magento uses MariaDB for our Cloud offering, so we'll make sure that the DB features we use in core Magento are compatible across MySQL and MariaDB. If that changes for any reason, we'll be sure to document it. In the meantime, I think there's some value in adding the note I previously mentioned just to make sure developers understand the risk of not researching feature compatibility when developing custom modules.
Hey @jeff-matthews yeah i can totally go with that solution! Feel Free to Close this, then.
Thanks for your help! The changes should be live in about 15 minutes.
Oh btw maybe also include this in 2.3 and future versions?
Absolutely. Currently, the 2.2 file I updated is symlinked to the 2.3 file. Even if we break the link, we'll use the 2.2 file to create a new file for 2.3 (as some system requirements may change in 2.3).
We had big problems with 10.3. Only 10.2 is fully supported so we downgraded to previous version.
Most helpful comment
Thanks for bringing this to our attention @mpingu. As @hostep mentioned, Magento uses MariaDB for our Cloud offering, so we'll make sure that the DB features we use in core Magento are compatible across MySQL and MariaDB. If that changes for any reason, we'll be sure to document it. In the meantime, I think there's some value in adding the note I previously mentioned just to make sure developers understand the risk of not researching feature compatibility when developing custom modules.