Upload
markus-winand
View
190
Download
1
Embed Size (px)
Citation preview
Four New Major Releases in ReviewMariaDB, SQL Server, PostgreSQL, (MySQL)
ViennaDB - 2018-01-17 @MarkusWinand
2018
MariaDB 10.2SQL Server 2017 PostgreSQL 10
MySQL 8.0???
2017
2018
MariaDB 10.2SQL Server 2017 PostgreSQL 10
MySQL 8.0???
Percona Live Amsterdam 2016:Already mentioned MySQL 8.0
https://twitter.com/MarkusWinand/status/852862475699707904
Conformance test of MySQL 8.0.1 for the WITH clause:
2017
MariaDB 10.2GA release 2017-05-23
A little bit of history‣MariaDB was founded by the creator of MySQL in 2009(because Sun was bought by Oracle)‣MariaDB aimed for feature compatibility until 2012(last feature compatible version was 5.5)‣Next major version was 10 (still in 2012)(to indicate it has not the same features as MySQL 5.6)‣Release 10.2 adds window functions and the WITH clauseAt the same time: MySQL 8.0 is under development—also announcing window functions and the WITH clause.
MariaDB 10.2 May 2017
MariaDB won the race to introducewindow functions and
the WITH clause with release 10.2 in May 2017.
(MySQL 8.0 is not yet released for production) (as of 2018-01-15)
MariaDB 10.2 Released May 2017
But how about the quality?
How is MariaDB 10.2 doing in my conformance test? WITH (non recursive)
MariaDB 10.2.12 vs. MySQL 8.0.3
MariaDB 10.2 Released May 2017
How is MariaDB 10.2 doing in my conformance test? WITH RECURSIVE
MariaDB 10.2.12 vs. MySQL 8.0.3
MariaDB 10.2 Released May 2017
Window FunctionsMariaDB 10.2.12 vs. MySQL 8.0.3
MariaDB 10.2 Released May 2017
MariaDB 10.2 Released May 2017(standard) JSON functions
MariaDB 10.2.12 vs. MySQL 8.0.3
Note: MariaDB 10.1 has none of these features (everything X) Description of the features: http://modern-sql.com/blog/2017-06/whats-new-in-sql-2016
MariaDB 10.2 Released May 2017(standard) JSON functions
MariaDB 10.2.12 vs. MySQL 8.0.3
Note: MariaDB 10.1 has none of these features (everything X)
MariaDB 10.2 Released May 2017CHECK constraints
MariaDB 10.2.12 vs. MySQL 8.0.3
Note: MariaDB 10.1 works like MySQL 8.0.3:syntax is accepted, but constraint not validated.
Other topics: ‣ NO PAD collations ‣ Expressions in DEFAULT clause, DEFAULT for BLOB and TEXT
https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-102/
MariaDB 10.2 Released May 2017
SQL Server 2017 (v14)Released 2017-10-02
Although SQL Server 2016 was supposed to be available on Linux, it never became available on public channels.
SQL Server 2017 had a public beta and can be installed throughregular package managers.
A free developer license is available.
SQL Server 2017 Released Oct 2017TRIM function
Why would you introduce a function from the standard partially?
SQL Server 2017 Released Oct 2017STRING_AGG function
The SQL standard has listagg for this purpose:
A string_agg function is available in PostgreSQL —but with a different syntax! (placement of orderby differs)
Double Fail!
Some other topics:
‣ Batch mode adaptive joins Decide to use nested loops or hash join during execution (like Oracle’s adaptive joins, but more limited). ‣ Graph processing capabilities a match clause that reminds one of the Cypher Query Language.
https://docs.microsoft.com/en-us/sql/database-engine/whats-new-in-sql-server-2017
SQL Server 2017 Released Oct 2017
PostgreSQL 10Released 2017-10-05
XMLTABLE IDENTITY columns (basic support, not tested thoroughly) (possibly buggy as of 10.1)
PostgreSQL 10 Released Oct 2017
Suspected bug: each row insertedconsumes two values (one is lost)
Some other topics:
‣ Parallel query improvements Merge Join, Bitmap Heap Scan, Index [Only] Scan, and more. ‣ Multi-column optimizer statistics The optimizer understands cross column correlations. ‣ ICU collations Operating system independent rules for comparing character strings.
https://www.postgresql.org/docs/10/static/release-10.html
PostgreSQL 10 Released Oct 2017
MySQL 8.0No GA release yet
RC1: 8.0.3 (2017-09-21)
Window functions and with clause (see MariaDB 10.2).
Other topics: ‣ DESC indexes (!!!!) Similar to check constraints, MySQL accepted desc in indexes but ignored it. ‣new JSON functions (but no new SQL standard JSON functionality)
https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html
MySQL 8.0 No GA release yet
About @MarkusWinand
About @MarkusWinand
‣Training for Developers ‣ SQL Performance (Indexing) ‣ Modern SQL ‣ On-Site or Online
‣SQL Tuning ‣ Index-Redesign ‣ Query Improvements ‣ On-Site or Online
https://winand.at/
About @MarkusWinand
‣Training for Developers ‣ SQL Performance (Indexing) ‣ Modern SQL ‣ On-Site or Online
‣SQL Tuning ‣ Index-Redesign ‣ Query Improvements ‣ On-Site or Online
About @MarkusWinand
‣Training for Developers ‣ SQL Performance (Indexing) ‣ Modern SQL ‣ On-Site or Online
‣SQL Tuning ‣ Index-Redesign ‣ Query Improvements ‣ On-Site or Online
sql-performance-explained.com
About @MarkusWinand€0,-
€10-30‣Training for Developers ‣ SQL Performance (Indexing) ‣ Modern SQL ‣ On-Site or Online
‣SQL Tuning ‣ Index-Redesign ‣ Query Improvements ‣ On-Site or Online
sql-performance-explained.com
About @MarkusWinand@ModernSQL
http://modern-sql.com‣Training for Developers ‣ SQL Performance (Indexing) ‣ Modern SQL ‣ On-Site or Online
‣SQL Tuning ‣ Index-Redesign ‣ Query Improvements ‣ On-Site or Online