29
Four New Major Releases in Review MariaDB, SQL Server, PostgreSQL, (MySQL) ViennaDB - 2018-01-17 @MarkusWinand

Four* Major Database Releases of 2017 in Review

Embed Size (px)

Citation preview

Page 1: Four* Major Database Releases of 2017 in Review

Four New Major Releases in ReviewMariaDB, SQL Server, PostgreSQL, (MySQL)

ViennaDB - 2018-01-17 @MarkusWinand

Page 2: Four* Major Database Releases of 2017 in Review

2018

MariaDB 10.2SQL Server 2017 PostgreSQL 10

MySQL 8.0???

2017

Page 3: Four* Major Database Releases of 2017 in Review

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

Page 4: Four* Major Database Releases of 2017 in Review

MariaDB 10.2GA release 2017-05-23

Page 5: Four* Major Database Releases of 2017 in Review

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

Page 6: Four* Major Database Releases of 2017 in Review

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?

Page 7: Four* Major Database Releases of 2017 in Review

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

Page 8: Four* Major Database Releases of 2017 in Review

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

Page 9: Four* Major Database Releases of 2017 in Review

Window FunctionsMariaDB 10.2.12 vs. MySQL 8.0.3

MariaDB 10.2 Released May 2017

Page 10: Four* Major Database Releases of 2017 in Review

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

Page 11: Four* Major Database Releases of 2017 in Review

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)

Page 12: Four* Major Database Releases of 2017 in Review

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.

Page 13: Four* Major Database Releases of 2017 in Review

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

Page 14: Four* Major Database Releases of 2017 in Review

SQL Server 2017 (v14)Released 2017-10-02

Page 15: Four* Major Database Releases of 2017 in Review

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.

Page 16: Four* Major Database Releases of 2017 in Review

SQL Server 2017 Released Oct 2017TRIM function

Why would you introduce a function from the standard partially?

Page 17: Four* Major Database Releases of 2017 in Review

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!

Page 18: Four* Major Database Releases of 2017 in Review

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

Page 19: Four* Major Database Releases of 2017 in Review

PostgreSQL 10Released 2017-10-05

Page 20: Four* Major Database Releases of 2017 in Review

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)

Page 21: Four* Major Database Releases of 2017 in Review

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

Page 22: Four* Major Database Releases of 2017 in Review

MySQL 8.0No GA release yet

RC1: 8.0.3 (2017-09-21)

Page 23: Four* Major Database Releases of 2017 in Review

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

Page 24: Four* Major Database Releases of 2017 in Review

About @MarkusWinand

Page 25: Four* Major Database Releases of 2017 in Review

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/

Page 26: Four* Major Database Releases of 2017 in Review

About @MarkusWinand

‣Training for Developers ‣ SQL Performance (Indexing) ‣ Modern SQL ‣ On-Site or Online

‣SQL Tuning ‣ Index-Redesign ‣ Query Improvements ‣ On-Site or Online

Page 27: Four* Major Database Releases of 2017 in Review

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

Page 28: Four* Major Database Releases of 2017 in Review

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

Page 29: Four* Major Database Releases of 2017 in Review

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