Blog > Post
The struggle for the hegemony in Oracle's database empire
Since the beginning of the DB-Engines popularity ranking, we list the Oracle RDBMS as the most popular of currently 327 monitored database management systems.
However, since January 2016, we measure a negative trend for the Oracle RDBMS, while we see a popularity gain in the same period for MySQL (the leading open source DBMS) and it seems to be only a question of time, when MySQL will pass Oracle and become the leader in the DB-Engines ranking. That comes despite the fact, that also MySQL’s popularity decreased during the last quarter, allowing Microsoft SQL Server (the number 3 of the ranking) to reduce the gap to both Oracle-owned systems.
The above diagram shows the gains/drops for Oracle and MySQL for each month since January 2016. We see that in these 17 months Oracle could improve its popularity score in only 2 months (decreasing in 15) and MySQL exhibits a rather inconclusive trend (8 gains vs 9 drops). It is interesting to note, that 11 months show Oracle and MySQL having an opposite trend - one system winning, the other losing. This statistical peculiarity could lead to the a bit farfetched conclusion that Oracle and MySQL are somehow cannibalizing each others popularity.
A short parenthesis to SQL:
Given that you have a simple table with 2 columns, a timestamp and a score, how would you write a SQL statement to calculate the differences of the score between consecutive timestamps, as required for the diagram above? A fixed interval of the timestamps should not be assumed.
The not very familiar SQL window functions, introduced with standard ANSI/ISO SQL 2003 and 2008 (ANSI/ISO SQL documention) are extremely helpful for that type of queries. In MySQL, which does not support these functions, you need to code a workaround.
Share this page