Oracle

Oracle er ikke den mest populære databasen, men den er den mest kjente. Selv om det kan hevdes at den mest populære. Se hvordan du teller . Hvis du bare ser på antall selskaper, så er MySQL den mest populære databasen: den er ganske bra og helt gratis :)

Men det kan også vurderes annerledes. Hvis det er ett selskap med en million kunder som bruker Oracle og 5 selskaper med hundre kunder som bruker MySQL, så har Oracle en million kunder og MySQL kun 500 personer.

Generelt, hvis du tar store selskaper som har penger og ser på hvilket DBMS de velger, så sitter omtrent en tredjedel av alle selskaper i verden på Oracle. Noe sånt som dette.

Som programmerer er det mer sannsynlig at du vil jobbe med Oracle i fremtiden enn på MySQL. Det er en utmerket video på Internett som viser hvordan populariteten til DBMS har endret seg de siste 20 årene.

MySQL

Den nest mest populære blant alle DBMS er MySQL. Og det er den første i popularitet blant alle gratis DBMS. Nå forstår du hvorfor vi lærer SQL fra eksemplet hennes. Hype er hype, og virksomheten er ganske konservativ i valg av infrastruktur.

I prinsippet har vi allerede snakket om MySQL. En gang ble de kjøpt av Sun , deretter av Oracle . Som, vel, det er veldig vanskelig å kalle et selskap av godhet.

Det er de som etter oppkjøpet av Sun hele tiden prøver å få Java betalt.

Ja, Sun eide både Java og MySQL før Oracle kjøpte dem.

Dette faktum og omdømmet til Oracle skremte MySQL-utviklerne litt, som bestemte seg for å splitte MySQL-prosjektet og kalle det MariaDB.

MariaDB er faktisk en klone av MySQL med noen implementeringsegenskaper som lar deg komme rundt nyansene til patenter og lisenser.

Oracle er imidlertid heller ikke idioter. For å forhindre at kunder og utviklere lekker til MariaDB, fortsetter Oracle å finansiere utviklingen og utviklingen av MySQL, som fortsatt er gratis.

Og for å sitte på to stoler, ble en betalt MySQL Enterprise utgitt for bedriftskunder , som ikke er forskjellig fra MySQL Community Edition , men hvis lisenser er bedre egnet for bedrifter.

PostgreSQL

En annen interessant DBMS er PostgreSQL (uttales "postgres cue").

Dette er en annen gratis DBMS som har blitt populært veldig raskt de siste årene. Selv om det fortsatt er langt fra MySQL.

PostgreSQL er først og fremst fokusert på distribuert arbeid. Dens styrker er:

  • Høy ytelse og pålitelige transaksjons- og replikeringsmekanismer
  • Utvidbart system med innebygde programmeringsspråk: PL SQL, PL JS, PL Python, …
  • Tabellarv
  • Evne til å indeksere geometriske (spesielt geografiske) objekter
  • Innebygd støtte for semistrukturerte data i JSON-format med mulighet til å indeksere dem
  • Utvidbarhet (muligheten til å lage nye datatyper, indekstyper, programmeringsspråk, utvidelsesmoduler, koble til eventuelle eksterne datakilder)

Vet du hvorfor det heter det? Her er hvordan det var...

For rundt 50 år siden, på begynnelsen av 70-tallet, begynte University of Berkeley å utvikle sin egen relasjonelle DBMS og kalte den Ingres .

På begynnelsen av 80-tallet forlot professor Michael Stonebreaker prosjektet og bestemte seg for å skrive sitt eget DBMS med blackjack og kurtisaner. Han og elevene hans begynte å skrive sitt eget DBMS, som de ganske enkelt kalte Post Ingres , forkortet til Postgres i fremtiden .

Og siden navnet Postgres ikke betydde noe for noen, ble det besluttet å legge til SQL-suffikset. Slik ble PostgreSQL, som umiddelbart mistet den doble S, og begynte å bli skrevet som PostgreSQL. Men du sier navnet, du må lese det som PostgresQL.

NoSQL

Hvis du er interessert i databaser, så har du definitivt hørt om NoSQL-databaser . Jeg skynder meg å irritere deg: NoSQL er rent et markedsføringsnavn , og SQL er der. Han er bare avkortet.

Hvordan ser det ut? Tenk deg en fin nettside skrevet i HTML, CSS og JavaScript... som ble åpnet i en nettleser fra 1995. Den fungerer på styrken på 10 % av CSS og støtter ikke JavaScript i det hele tatt. Og denne nye nedstrippede standarden kalles... NoHtml .

For eksempel kan det hende at JOINs mellom tabeller ikke støttes i NoSQL, og da må du enten emulere dette på nivå med Java-kode i programmet, eller lagre alle dataene til relaterte tabeller i en enorm tabell.

Og hvis det i tilfelle av NoHtml ser ut til at vi har rullet tilbake for 20 år siden, så skjer tilbakerullingen i tilfellet med NoSQL et sted rundt 40 år.

Ta for eksempel Cassandra NoSQL-databasen som Facebook bruker til å lagre dataene til milliarder av brukere. Faktisk utviklet de det og la det deretter ut som et OpenSource-prosjekt.

La oss starte med det mest interessante - all DBMS-koden er skrevet i Java . C++-koden vil sannsynligvis kjøre raskere, men det vil være flere feil. Og Java-kode er lettere å vedlikeholde og utvikle.

Det generelle formatet for forespørsler til Casandra DBMS ser veldig kjent ut:

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

Som du kan se, er SQL der. Vet du hva som mangler her? BLI MED ! Du kan bare velge data fra én tabell :)

Her er et sitat fra den offisielle dokumentasjonen:

Du kan ikke utføre sammenføyninger i Cassandra . Hvis du har designet en datamodell og finner ut at du trenger noe sånt som en sammenføyning, må du enten gjøre jobben på klientsiden , eller lage en denormalisert andre tabell som representerer sammenføyningsresultatene for deg.