Orakel

Oracle ist nicht die beliebteste Datenbank, aber die bekannteste. Obwohl man argumentieren kann, dass es am beliebtesten ist. Sehen Sie, wie man zählt . Schaut man sich nur die Anzahl der Unternehmen an, dann ist MySQL die beliebteste Datenbank: Sie ist ziemlich gut und völlig kostenlos :)

Man kann es aber auch anders betrachten. Wenn es ein Unternehmen mit einer Million Kunden gibt , das Oracle verwendet, und fünf Unternehmen mit hundert Kunden , die MySQL verwenden, dann hat Oracle eine Million Kunden und MySQL nur 500 Mitarbeiter.

Wenn man große Unternehmen, die über Geld verfügen, betrachtet und sich anschaut, welches DBMS sie wählen, dann setzt im Allgemeinen etwa ein Drittel aller Unternehmen auf der Welt auf Oracle. Irgendwie so.

Als Programmierer werden Sie in Zukunft eher auf dem Oracle DBMS als auf MySQL arbeiten. Im Internet gibt es ein hervorragendes Video, das zeigt, wie sich die Popularität von DBMS in den letzten 20 Jahren verändert hat.

MySQL

Das zweitbeliebteste DBMS ist MySQL. Und es ist das erste kostenlose DBMS, das sich großer Beliebtheit erfreut. Jetzt verstehen Sie, warum wir anhand ihres Beispiels SQL lernen. Hype ist Hype und die Wirtschaft ist bei der Wahl der Infrastruktur recht konservativ.

Im Prinzip haben wir bereits über MySQL gesprochen. Einmal wurden sie von Sun gekauft , dann von Oracle . Was, nun ja, es ist sehr schwierig, ein Unternehmen der Güte zu nennen.

Sie sind es, die nach der Übernahme von Sun ständig versuchen, Java bezahlt zu machen.

Ja, Sun besaß sowohl Java als auch MySQL, bevor Oracle sie kaufte.

Diese Tatsache und der Ruf von Oracle erschreckten die MySQL-Entwickler ein wenig, so dass sie beschlossen, das MySQL-Projekt abzuspalten und es MariaDB zu nennen.

MariaDB ist eigentlich ein Klon von MySQL mit einigen Implementierungsfehlern, die es Ihnen ermöglichen, die Feinheiten von Patenten und Lizenzen zu umgehen.

Allerdings ist Oracle auch kein Dummkopf. Um zu verhindern, dass Kunden und Entwickler zu MariaDB gelangen, finanziert Oracle weiterhin die Entwicklung und Weiterentwicklung von MySQL, das weiterhin kostenlos ist.

Und um auf zwei Stühlen zu sitzen: Für Firmenkunden wurde ein kostenpflichtiges MySQL Enterprise veröffentlicht, das sich nicht von der MySQL Community Edition unterscheidet , dessen Lizenzen jedoch besser für Unternehmen geeignet sind.

PostgreSQL

Ein weiteres interessantes DBMS ist PostgreSQL (ausgesprochen „postgres cue“).

Dies ist ein weiteres kostenloses DBMS, das in den letzten Jahren sehr schnell an Popularität gewonnen hat. Obwohl es noch weit von MySQL entfernt ist.

PostgreSQL konzentriert sich hauptsächlich auf verteilte Arbeit. Seine Stärken sind:

  • Leistungsstarke und zuverlässige Transaktions- und Replikationsmechanismen
  • Erweiterbares System integrierter Programmiersprachen: PL SQL, PL JS, PL Python, …
  • Tabellenvererbung
  • Fähigkeit zur Indexierung geometrischer (insbesondere geografischer) Objekte
  • Integrierte Unterstützung für halbstrukturierte Daten im JSON-Format mit der Möglichkeit, diese zu indizieren
  • Erweiterbarkeit (die Möglichkeit, neue Datentypen, Indextypen, Programmiersprachen, Erweiterungsmodule zu erstellen und beliebige externe Datenquellen anzuschließen)

Wissen Sie, warum es so heißt? So war es…

Vor etwa 50 Jahren, in den frühen 70er Jahren, begann die Universität Berkeley mit der Entwicklung eines eigenen relationalen DBMS und nannte es Ingres .

In den frühen 80er Jahren verließ Professor Michael Stonebreaker das Projekt und beschloss, sein eigenes DBMS mit Blackjack und Kurtisanen zu schreiben. Er und seine Schüler begannen, ihr eigenes DBMS zu schreiben, das sie einfach Post Ingres nannten , später abgekürzt als Postgres .

Und da der Name Postgres niemandem etwas bedeutete, wurde beschlossen, ihm das SQL-Suffix hinzuzufügen. So entstand PostgreSQL, das sofort das doppelte S verlor und als PostgreSQL geschrieben wurde. Aber wenn Sie den Namen sagen, müssen Sie ihn wie PostgresQL lesen.

NoSQL

Wenn Sie sich für Datenbanken interessieren, dann haben Sie bestimmt schon von NoSQL-Datenbanken gehört . Ich beeile mich, Sie zu verärgern: NoSQL ist ein reiner Marketingname , und SQL ist da. Er ist nur abgeschnitten.

Wie sieht es aus? Stellen Sie sich eine schöne, in HTML, CSS und JavaScript geschriebene Webseite vor, die 1995 in einem Browser geöffnet wurde. Es funktioniert mit einer CSS-Stärke von 10 % und unterstützt überhaupt kein JavaScript. Und dieser neue, abgespeckte Standard heißt… NoHtml .

Beispielsweise werden JOINs zwischen Tabellen in NoSQL möglicherweise nicht unterstützt, und dann müssen Sie dies entweder auf der Ebene des Java-Codes im Programm emulieren oder alle Daten verwandter Tabellen in einer großen Tabelle speichern.

Und wenn wir im Fall von NoHtml den Eindruck haben, dass das Rollback vor 20 Jahren stattgefunden hat, dann findet das Rollback im Fall von NoSQL etwa vor etwa 40 Jahren statt.

Nehmen Sie zum Beispiel die Cassandra NoSQL-Datenbank , in der Facebook die Daten von Milliarden von Nutzern speichert. Tatsächlich haben sie es entwickelt und dann als OpenSource-Projekt veröffentlicht.

Beginnen wir mit dem Interessantesten: Der gesamte DBMS-Code ist in Java geschrieben . Der C++-Code würde wahrscheinlich schneller laufen, aber es gäbe mehr Fehler. Und Java-Code ist einfacher zu warten und zu entwickeln.

Das allgemeine Format von Anfragen an das Casandra-DBMS kommt mir sehr bekannt vor:

  SELECT columns  
  FROM table 
  WHERE condition
  GROUP BY columns 
  ORDER BY sorting 
  LIMIT quantity

Wie Sie sehen, ist SQL vorhanden. Wissen Sie, was hier fehlt? WERDEN SIE MIT ! Sie können nur Daten aus einer Tabelle auswählen :)

Hier ist ein Zitat aus der offiziellen Dokumentation:

Sie können in Cassandra keine Joins durchführen . Wenn Sie ein Datenmodell entworfen haben und feststellen, dass Sie so etwas wie einen Join benötigen, müssen Sie die Arbeit entweder auf der Clientseite erledigen oder eine denormalisierte zweite Tabelle erstellen , die die Join-Ergebnisse für Sie darstellt.