SQL on the Rise
NoSQL pioneer Google writes that their Spanner database is becoming a SQL system (summary). Salesforce uses artificial intelligence to translate natural language to SQL. Even some ORM vendors say it is better to use SQL. Seems like SQL has a positive vibe.
The highly popular article Why SQL is beating NoSQL, and what this means for the future of data is a very nice write-up of why SQL had become frowned upon, and how it is now gaining new popularity rights.
The Cloud War Continues
In July, the opposite happened for users of Microsoft SQL Server: the cost of running the Standard Edition in Amazon’s AWS cloud was reduced by between 29 and 52 percent.
IBM’s Renaming Insanity
There is a saying that there are only two hard things in computer science: (0) cache invalidation, (1) naming things, (2) and off-by-one errors. In June, IBM renamed the products in the Db2 family and thereby demonstrated how to cause great harm by choosing poor names.
|Old Name||New Name|
|DB2 for LUW||Db2|
|DB2 for z/OS||Db2 for z/OS|
|DB2 for iSeries||Db2 for i|
Note the subtle but groundbreaking innovation to write the “b” in Db2 as a lower-case letter!
All sarcasm aside: Previously, DB2 was a common element in the names of different products of the same family. The “for” addendum made a distinction between each product. As these products offer different features, the distinction is quite important.
The new name Db2 doesn’t allow this distinction anymore because it represents the whole family as well as one specific product. This lack of differentiation becomes a real problem when searching the internet: web pages about the former product DB2 for LUW might not contain “LUW” anymore. Reducing the iSeries addendum to “i” doesn’t improve searching, either.
Wikipedia says that a name is a term used for identification. I doubt these new names fulfill this purpose sufficiently.
One thing is for sure: The new naming is an upgrade for the LUW version. The reverse of this conclusion shines an interesting light on the other variants. IBM also loses ground in the just-published Gartner Magic Quadrant for Operational Databases 2017 — it’s now far behind SAP and Amazon Web Services (AWS).
Other Vendors Rethink Release Numbering
The next major release of the Oracle Database will be 18c (instead of 18.104.22.168). New releases will be annual and the version will be the last two digits of the release year (see also: release roadmap).
Starting with the just-released PostgreSQL 10, there is no dot in the major versions of PostgreSQL anymore.
New Database Releases
In the past six months, there were three major releases among the most popular SQL databases.
1. SQL Server 2017 (October 2017)
My personal picks from the “new features” list:
- It’s available on Linux. Free for developing, including Docker images. Licenses are “platform agnostic, so customers can run the software on either Windows or Linux.”
- 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
matchclause that reminds one of the Cypher Query Language.
string_aggfunction: similar to the standard function
listagg, but without the
2. PostgreSQL 10 (October 2017)
My favorite new features:
- Parallel query improvements: Merge Join, Bitmap Heap Scan, Index [Only] Scan, and more.
- Multi-column optimizer statistics, so the optimizer understands cross-column correlations.
- ICU collations: OS-independent rules for comparing character strings.
3. MariaDB 10.2 (May 2017)
MariaDB 10.2 introduces two very important features that will also appear in MySQL 8.0:
News on My Sites
Articles I published or updated:
- I updated the PDF edition of “SQL Performance Explained” (all languages). If you bought it in the past, now is a good time to re-download it. (If not, you can buy it here!)
- I’ve updated the three-minute SQL indexing quiz: Can you spot the five most common SQL indexing mistakes?
- New article:
extract— Get a Field From a Date or Time Value.
- New article: What’s New in SQL:2016.
From Twitter, in Great Brevity
- The next Oracle Database Express Edition will be 18c XE. Limits: 12GB storage, 2GB RAM. For comparison, IBM Db2 Express-C has no storage limit, has 16GB RAM, and has two cores. Addendum for the trolls: Yes, the free open-source databases such as PostgreSQL and MySQL have no limits for the same price.
- What do SQL statements really mean, and how can we prove RDBMS query rewrites are safe? Until now, we couldn’t…
- 10 Cool SQL Optimizations That Do Not Depend on the Cost Model
- TIL: Although SQLite’s default collation is case-sensitive, it doesn’t affect LIKE. LIKE’s case-sensitivity is controlled by a PRAGMA instead.
- SQL Island: Text adventure game to learn SQL
- Explaining isolation levels based on the states that are observable by a client application
- How Postgres Makes Transactions Atomic
- ACIDRain: Concurrency-related attacks on database-backed web applications (Warszawski and Bailis, 2017)
- Practical Guide to SQL Transaction Isolation (a really good one!)