Jóslat

Az Oracle nem a legnépszerűbb adatbázis, de a leghíresebb. Bár lehet vitatkozni, hogy a legnépszerűbb. Nézze meg, hogyan kell számolni . Ha csak a cégek számát nézzük, akkor a MySQL a legnépszerűbb adatbázis: elég jó és teljesen ingyenes :)

De másként is felfogható. Ha van egy millió ügyféllel rendelkező vállalat , amely Oracle-t használ, és 5 vállalat száz ügyféllel , amelyek MySQL-t használnak, akkor az Oracle-nek millió ügyfele van, a MySQL-nek pedig csak 500 embere.

Általánosságban elmondható, hogy ha nagy cégeket veszünk, amelyeknek van pénzük, és megnézzük, melyik DBMS-t választják, akkor a világ összes vállalatának körülbelül egyharmada az Oracle-en ül. Valami ilyesmi.

Programozóként nagyobb valószínűséggel fog a jövőben Oracle-en dolgozni, mint MySQL-en. Van egy kiváló videó az interneten, amely bemutatja, hogyan változott a DBMS népszerűsége az elmúlt 20 évben.

MySQL

A második legnépszerűbb az összes DBMS között a MySQL. És ez az első népszerűség az összes ingyenes DBMS között. Most már érted, miért tanuljuk meg az SQL-t az ő példájából. A hype az hype, és az üzlet meglehetősen konzervatív az infrastruktúra kiválasztásában.

Elvileg már beszéltünk a MySQL-ről. Valaha a Sun vásárolta meg őket , majd az Oracle . Amit, nos, nagyon nehéz jóság társaságának nevezni.

Ők azok, akik a Sun felvásárlása után folyamatosan próbálják fizetőssé tenni a Java-t.

Igen, a Sun birtokolta a Java-t és a MySQL-t is, mielőtt az Oracle megvásárolta őket.

Ez a tény és az Oracle hírneve kissé megrémítette a MySQL fejlesztőket, akik úgy döntöttek, hogy a MySQL projektet leágazzák, és MariaDB-nek hívják.

A MariaDB valójában a MySQL klónja, néhány megvalósítási furcsasággal, amelyek lehetővé teszik a szabadalmak és licencek árnyalatainak megkerülését.

Az Oracle azonban nem is bolond. Annak megakadályozása érdekében, hogy az ügyfelek és a fejlesztők kiszivárogjanak a MariaDB-be, az Oracle továbbra is finanszírozza a továbbra is ingyenes MySQL fejlesztését és fejlesztését.

És hogy két székre ülhessünk, megjelent egy fizetős MySQL Enterprise vállalati ügyfelek számára , amely semmiben sem különbözik a MySQL Community Edition- től , de a licencei jobban megfelelnek az üzleti életnek.

PostgreSQL

Egy másik érdekes DBMS a PostgreSQL (ejtsd: "postgres cue").

Ez egy másik ingyenes DBMS, amely az elmúlt években nagyon gyorsan népszerűvé vált. Bár még messze van a MySQL-től.

A PostgreSQL elsősorban az elosztott munkára összpontosít. Erősségei a következők:

  • Nagy teljesítményű és megbízható tranzakciós és replikációs mechanizmusok
  • Beépített programozási nyelvek bővíthető rendszere: PL SQL, PL JS, PL Python, …
  • Táblázat öröklődése
  • Geometriai (különösen földrajzi) objektumok indexelésének képessége
  • Beépített támogatás a félig strukturált adatokhoz JSON formátumban, és képes indexelni őket
  • Bővíthetőség (új adattípusok, indextípusok, programozási nyelvek, bővítőmodulok létrehozásának lehetősége, bármilyen külső adatforrás csatlakoztatása)

Tudod miért hívják így? Íme, milyen volt…

Körülbelül 50 évvel ezelőtt, a 70-es évek elején a Berkeley Egyetem elkezdte kifejleszteni saját relációs DBMS-ét, és Ingres-nek nevezte el .

A 80-as évek elején Michael Stonebreaker professzor otthagyta a projektet, és úgy döntött, hogy saját DBMS-t ír blackjack-kel és kurtizánokkal. Tanítványaival elkezdték írni a saját DBMS-t, amit egyszerűen Post Ingres-nek hívtak, a jövőben Postgres- re rövidítve .

És mivel a Postgres név senkinek nem mondott semmit, ezért úgy döntöttek, hogy hozzáadják az SQL utótagot. Így alakult ki a PostgreSQL, amely azonnal elvesztette a dupla S-t, és PostgreSQL-ként kezdték írni. De ha kimondod a nevet, úgy kell olvasnod, mint a PostgresQL-t.

NoSQL

Ha érdeklik az adatbázisok, akkor biztosan hallott már a NoSQL adatbázisokról . Sietek elkeseríteni: a NoSQL pusztán marketing név , és ott van az SQL. Csak csonka.

Hogy néz ki? Képzeljen el egy szép weboldalt HTML-ben, CSS-ben és JavaScriptben... amelyet egy 1995-ös böngészőben nyitottak meg. A CSS 10%-án működik, és egyáltalán nem támogatja a JavaScriptet. És ennek az új, lecsupaszított szabványnak a neve… NoHtml .

Például előfordulhat, hogy a NoSQL nem támogatja a táblák közötti JOIN-okat, és akkor ezt vagy emulálni kell a programban a Java kód szintjén, vagy a kapcsolódó táblák összes adatát egy hatalmas táblában kell tárolni.

És ha a NoHtml esetében úgy tűnik, hogy 20 évvel ezelőtt visszagurultunk, akkor a NoSQL esetében a visszaállítás valahol 40 év körül következik be.

Vegyük például a Cassandra NoSQL adatbázist , amelyet a Facebook használ több milliárd felhasználó adatainak tárolására. Valójában kifejlesztették, majd nyílt forráskódú projektként közzétették.

Kezdjük a legérdekesebbel - az összes DBMS kód Java nyelven van írva . A C++ kód valószínűleg gyorsabban futna, de több hiba lenne. A Java kódot pedig könnyebb karbantartani és fejleszteni.

A Casandra DBMS-hez intézett kérések általános formátuma nagyon ismerősnek tűnik:

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

Amint látja, ott van az SQL. Tudod mi hiányzik innen? CSATLAKOZZ ! Csak egy táblából lehet adatokat kiválasztani :)

Íme egy idézet a hivatalos dokumentációból:

Nem hajthat végre csatlakozásokat a Cassandra alkalmazásban . Ha készített egy adatmodellt, és úgy találja, hogy szüksége van valamire, például egy összekapcsolásra, akkor vagy az ügyféloldalon kell elvégeznie a munkát , vagy létre kell hoznia egy denormalizált második táblázatot , amely az összekapcsolási eredményeket jeleníti meg.