Orakel

Oracle Ă€r inte den mest populĂ€ra databasen, men den Ă€r den mest kĂ€nda. Även om det kan hĂ€vdas att de mest populĂ€ra. Se hur du rĂ€knar . Om man bara tittar pĂ„ antalet företag sĂ„ Ă€r MySQL den mest populĂ€ra databasen: den Ă€r ganska bra och helt gratis :)

Men det kan ocksÄ ses annorlunda. Om det finns ett företag med en miljon kunder som anvÀnder Oracle och 5 företag med hundra kunder som anvÀnder MySQL, sÄ har Oracle en miljon kunder och MySQL bara 500 personer.

Generellt sett, om man tar stora företag som har pengar och tittar pÄ vilket DBMS de vÀljer, sÄ sitter ungefÀr en tredjedel av alla företag i vÀrlden pÄ Oracle. NÄgot som det hÀr.

Som programmerare Àr det mer sannolikt att du kommer att arbeta med Oracle i framtiden Àn pÄ MySQL. Det finns en utmÀrkt video pÄ Internet som visar hur populariteten för DBMS har förÀndrats under de senaste 20 Ären.

MySQL

Den nÀst mest populÀra bland alla DBMS Àr MySQL. Och det Àr den första i popularitet bland alla gratis DBMS. Nu förstÄr du varför vi lÀr oss SQL frÄn hennes exempel. Hype Àr hype, och affÀrer Àr ganska konservativa i valet av infrastruktur.

I princip har vi redan pratat om MySQL. En gÄng köptes de av Sun , sedan av Oracle . Vilket, ja, det Àr vÀldigt svÄrt att kalla ett företag av godhet.

Det Àr de som efter förvÀrvet av Sun stÀndigt försöker fÄ Java att betala.

Ja, Sun Àgde bÄde Java och MySQL innan Oracle köpte dem.

Detta faktum och Oracles rykte skrÀmde MySQL-utvecklarna lite, som bestÀmde sig för att splittra MySQL-projektet och kalla det MariaDB.

MariaDB Àr faktiskt en klon av MySQL med nÄgra implementeringsegenheter som lÄter dig komma runt nyanserna av patent och licenser.

Oracle Àr dock inte heller dÄrar. För att förhindra att kunder och utvecklare lÀcker till MariaDB fortsÀtter Oracle att finansiera utvecklingen och utvecklingen av MySQL, som fortsÀtter att vara gratis.

Och för att sitta pÄ tvÄ stolar slÀpptes en betald MySQL Enterprise för företagskunder , som inte skiljer sig frÄn MySQL Community Edition, men vars licenser Àr bÀttre lÀmpade för företag.

PostgreSQL

Ett annat intressant DBMS Àr PostgreSQL (uttalas "postgres cue").

Detta Ă€r ett annat gratis DBMS som har vunnit popularitet mycket snabbt de senaste Ă„ren. Även om det fortfarande Ă€r lĂ„ngt ifrĂ„n MySQL.

PostgreSQL Àr frÀmst inriktat pÄ distribuerat arbete. Dess styrkor Àr:

  • Högpresterande och pĂ„litliga transaktions- och replikeringsmekanismer
  • Utökningsbart system med inbyggda programmeringssprĂ„k: PL SQL, PL JS, PL Python, 

  • Tabell arv
  • FörmĂ„ga att indexera geometriska (sĂ€rskilt geografiska) objekt
  • Inbyggt stöd för semistrukturerad data i JSON-format med möjlighet att indexera dem
  • Utökningsbarhet (möjligheten att skapa nya datatyper, indextyper, programmeringssprĂ„k, tillĂ€ggsmoduler, ansluta externa datakĂ€llor)

Vet du varför det heter sÄ? SÄ hÀr var det...

För ungefÀr 50 Är sedan, i början av 70-talet, började University of Berkeley utveckla sin egen relations-DBMS och kallade den Ingres .

I början av 80-talet lÀmnade professor Michael Stonebreaker projektet och bestÀmde sig för att skriva sitt eget DBMS med blackjack och kurtisaner. Han och hans elever började skriva sitt eget DBMS, som de helt enkelt kallade Post Ingres , förkortat till Postgres i framtiden .

Och eftersom namnet Postgres inte betydde nÄgonting för nÄgon bestÀmde man sig för att lÀgga till SQL-suffixet. SÄ hÀr blev PostgreSQL, som omedelbart tappade det dubbla S:et och började skrivas som PostgreSQL. Men du sÀger namnet, du mÄste lÀsa det som PostgresQL.

NoSQL

Om du Àr intresserad av databaser har du definitivt hört talas om NoSQL-databaser . Jag skyndar mig att göra dig upprörd: NoSQL Àr rent marknadsföringsnamn och SQL finns dÀr. Han Àr bara trunkerad.

Vad ser det ut som? FörestÀll dig en trevlig webbsida skriven i HTML, CSS och JavaScript... som öppnades i en webblÀsare frÄn 1995. Det fungerar pÄ styrkan av 10% av CSS och stöder inte JavaScript alls. Och denna nya avskalade standard kallas... NoHtml .

Till exempel kanske JOINs mellan tabeller inte stöds i NoSQL, och dÄ mÄste du antingen emulera detta pÄ nivÄn för Java-kod i programmet, eller lagra all data frÄn relaterade tabeller i en enorm tabell.

Och om vi i fallet med NoHtml verkar ha rullat tillbaka för 20 Är sedan, dÄ i fallet med NoSQL sker ÄterstÀllningen nÄgonstans runt 40 Är.

Ta till exempel Cassandra NoSQL-databasen som Facebook anvÀnder för att lagra data frÄn miljarder anvÀndare. Egentligen utvecklade de det och lade upp det som ett OpenSource-projekt.

LÄt oss börja med det mest intressanta - all DBMS-kod Àr skriven i Java . C++-koden skulle förmodligen köras snabbare, men det skulle finnas fler buggar. Och Java-kod Àr lÀttare att underhÄlla och utveckla.

Det allmÀnna formatet för förfrÄgningar till Casandra DBMS ser mycket bekant ut:

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

Som du kan se finns SQL dĂ€r. Vet du vad som saknas hĂ€r? GÅ MED ! Du kan bara vĂ€lja data frĂ„n en tabell :)

HÀr Àr ett citat frÄn den officiella dokumentationen:

Du kan inte utföra joins i Cassandra . Om du har designat en datamodell och upptÀcker att du behöver nÄgot som en koppling mÄste du antingen göra jobbet pÄ klientsidan eller skapa en denormaliserad andra tabell som representerar kopplingsresultaten Ät dig.