4 ms·
Former MySQL Product Manager here (no longer affiliated). To cover your specifics: MySQL was first in offering JSON with 5.7. It is still well ahead, for exa
by morgo 8y ago
Former MySQL Product Manager here (no longer affiliated). To cover your specifics:
MySQL was first in offering JSON with 5.7. It is still well ahead, for example, there is no JSON_TABLE, aggregate functions, native type or partial update in MariaDB. Some examples of the value here:
https://mysqlserverteam.com/mysql-8-0-from-sql-tables-to-json-documents-and-back-again/ https://mysqlserverteam.com/mysql-8-0-from-sql-tables-to-jso...
Both have always had GIS support, but have taken it in a different direction. With MySQL, the GIS is now based on Boost.Geometry and has Geography support.
w.r.t. metadata in transactions - I am not sure which feature you refer to here. The native innodb-based dictionary is a MySQL only feature.
For Window functions and CTEs, they were added at a similar time, but MySQL is on a ~3yr release cycle. MariaDB is on a ~1yr.
- meritt 8y ago> I am not sure which feature you refer to here The same complaint that every single person brings up about MySQL when being compared to Postgres, including in this thread: DDL changes made during transactions cannot be rolled back.
- morgo 8y agoMariaDB does not have that feature: https://mariadb.atlassian.net/browse/MDEV-4259 https://mariadb.atlassian.net/browse/MDEV-4259
- willvarfar 8y agoMariadb has JSON it just doesn't call it that - it's terminology is dynamic columns. Source: have code that works on both.
- morgo 8y agoIt has both (now). It's a stretch to say Dynamic columns are on the same level. For example, could you index them with virtual generated columns? The syntax is also not as transparent to applications as the ->> JSON operator.
- willvarfar 8y agoOracle owns the JavaScript trademark and has started enforcing it. Kinda wise in hindsight that Mariadb didn't call it json? I think Mariadb was there first. I think the format is very similar at the bit level, but the MySQL has nicer API with automatic returning it as text to apps rather than exposing the bits. I dislike json_extract and wish >> worked but it doesn't seem to on my percona server :( Anyhow, you'll look back when you've got more distance from Oracle and realize that you don't need to try and convince yourself that MySQL was better quite so hard ;)
- morgo 8y agoJSON is part of the SQL 2016 standard and exists in other databases as well. I don't see how the trademark is relevant here. I wish we could be more civil and not resort to petty insults. Is there anything I wrote you can dispute with a source?
- johannes1234321 8y agoThere s a difference: MySQL has specific a datatype for JSON aside from only having JSON-related functions working n strings, which has a few benefits: * The JSON datatype guarantees the content is valid JSON * access to fields can be faster even without dynamic/virtual columns * since 8.0 there are special optimizations for doing partial updates, which means that not the full JSON data has to be rewritten on small changes https://mysqlserverteam.com/partial-update-of-json-values/ https://mysqlserverteam.com/partial-update-of-json-values/