Cumu spiegà à a vostra nanna a diffarenza trà SQL è NoSQL

Cumu spiegà à a vostra nanna a diffarenza trà SQL è NoSQL

Una di e decisioni più impurtanti chì un sviluppatore face hè chì basa di dati aduprà. Per parechji anni, l'opzioni sò limitati à e diverse opzioni di basa di dati relazionale chì supportanu a Lingua di Query Strutturata (SQL). Questi include MS SQL Server, Oracle, MySQL, PostgreSQL, DB2 è assai altri.

In l'ultimi 15 anni, assai novi basa di dati sò entrati in u mercatu sottu l'approcciu No-SQL. Questi includenu magazzini di valore chjave cum'è Redis è Amazon DynamoDB, basa di dati di colonna larga cum'è Cassandra è HBase, magazzini di documenti cum'è MongoDB è Couchbase, è basa di dati grafici è motori di ricerca cum'è Elasticsearch è Solr.

In questu articulu, avemu da pruvà à capisce SQL è NoSQL senza entre in a so funziunalità.
In più, ci divertiremu un pocu in a strada.

Spiegà SQL à Granny

Nanna, imaginate chì ùn sò micca u vostru solu nipote. Invece, mamma è babbu si amavanu cum'è cunigli, avianu 100 figlioli, dopu aduttatu 50 più.

Dunque, amate tutti noi è ùn vulete scurdà di i nostri nomi, anniversari, sapori di gelato preferiti, taglia di vestiti, passatempi, nomi di i mariti, nomi di i figlioli è altri fatti super impurtanti. Tuttavia, facemu a faccia. Avete 85 anni è una bona memoria antica ùn pò micca trattà.

Per furtuna, essendu u più intelligente di i vostri nipoti, possu aiutà. Allora vengu in casa toia, cacciu qualchi fogli di carta è vi dumandu di coce un pocu di biscotti prima di principià.

Nantu à un fogliu di carta, facemu una lista chjamata "nipoti". Ogni nipote arregistratu cù qualchi infurmazione significativa nantu à ellu, cumpresu un numeru unicu chì avà indicà cumu nipote ellu hè. Inoltre, per l'urganizazione, scrivemu l'attributi chjamati in u cima di a lista in modu chì sapemu sempre quale infurmazione cuntene a lista.

id
Cognome
anniversariu
ultima visita
taglia di vestiti
ghjacciu preferitu
aduttatu

1
Jimmy
09-22-1992
09-01-2019
L
cioccolatu di menta
sbagliate

2
Jessica
07-21-1992
02-22-2018
M
Strada rocciosa
vera

... cuntinuemu a lista !

Lista di i nipoti

Dopu qualchì tempu, avete capitu tuttu è avemu quasi finitu cù a lista ! Tuttavia, vultate versu mè è dite: "Avemu scurdatu di aghjunghje spaziu per i sposi, passatempi, nipoti!" Ma nò, ùn avemu micca scurdatu ! Questu seguita più è richiede un novu fogliu di carta.

Allora tira fora un altru fogliu di carta è nantu à questu chjamemu a lista Mariée. Avemu dinò aghjunghje l'attributi chì sò impurtanti per noi à a cima di a lista è cumincianu à aghjunghje in fila.

id
nipote_id
Cognome
anniversariu

1
2
Ghjuvanni
06-01-1988

2
9
Fernanda
03-05-1985

... più sposi !

Lista di i sposi

À questu stadiu, spieghemu à a mo nanna chì, s'ellu vole sapè quale hè maritatu cù quale, allora hà solu bisognu à currisponde à id in a lista nipoti с nipote_id in a lista di i sposi.

Dopu un paru di decine di biscotti, aghju bisognu di fà una siesta. "Pudete cuntinuà, nanna?" Partu à fà una siesta.

Vulteraghju in uni pochi d'ore. Sei bella, nanna ! Tuttu pare bellu eccettu per a lista hobby. Ci sò circa 1000 passatempi nantu à a lista. A maiò parte di elli sò ripetitivi; Chì hè accadutu ?

nipote_id
Hobby

1
bike

4
bike

3
bike

7
corsa

11
bike

… cuntinuemu !

Scusate, mi sò scurdatu di dì! Utilizendu una lista, pudete solu seguità hobby. Allora in una altra lista avemu bisognu di traccia nipotichì facenu questu hobby. Avemu da chjamà "Lista cumuna". Videndu chì ùn ti piace micca, mi preoccupa è tornu à u modu di lista.

id
Hobby

1
bike

2
corsa

3
piscina

... più passatempi !

Lista di hobbies

Una volta avemu a nostra lista di hobby, creemu a nostra seconda lista è u chjamemu "I passatempi di i nipoti».

nipote_id
hobby_id

4
1

3
1

7
2

... di più!

Lista generale di hobby di nipoti

Dopu tuttu stu travagliu, a nanna hà avà un sistema di memoria cool per seguità a so famiglia incredibilmente grande. È po - per tenami più longu - face a quistione magica: "Induve avete amparatu à fà tuttu questu?"

basa di dati relazionale

Una basa di dati relazionale hè un inseme di tabelle formalmente descritte (in u nostru esempiu, queste sò fogli) da quale pudete accede. datu o cullà in diverse manere senza avè da riurganizà e tavule basa di dati. Ci sò parechji tipi di basa di dati relazionale, ma sfurtunatamenti una lista nantu à un pezzu di carta ùn hè micca unu di elli.

U segnu di e basa di dati relazionale più populari hè a lingua di dumanda SQL (Structured Query Language). Grazie à ellu, se a nanna trasferisce u so sistema di memoria à l'urdinatore, pò uttene rapidamente risposte à dumande cum'è: "Quale ùn m'hà micca visitatu l'annu passatu, hè maritatu è ùn hà micca passatempi?"

Unu di i sistemi di gestione di basa di dati SQL più populari hè MySQL open source. Hè implementatu principarmenti cum'è un sistema di gestione di basa di dati relazionale (RDBMS) per l'applicazioni software basate in u web.

Alcune caratteristiche chjave di MySQL:

  • Hè abbastanza cunnisciuta, largamente utilizata è largamente pruvata.
  • Ci sò parechji sviluppatori qualificati chì anu sperienza cù SQL è basa di dati relazionale.
  • I dati sò cullucati in diverse tavule, chì facenu fàciule di stabilisce relazioni cù chjavi primari è stranieri (identificatori).
  • Hè faciule d'utilizà è efficiente, facendu ideale per l'imprese grandi è chjuchi.
  • U codice fonte hè sottu à i termini di a GNU General Public License.

Avà scurdate TUTTI.

Spiegà NoSQL à a nanna

Nanna, avemu una grande famiglia. Hà 150 nipoti ! Parechje di elli sò maritati, anu figlioli, amanu qualcosa è cusì. À a vostra età, hè impussibile di ricurdà tuttu di tutti noi. Ciò chì avete bisognu hè un sistema di memoria!

Fortunatamente, I ùn vulendu chì ti scurdate di u mo anniversariu è u gustu favuritu di gelato, possu aiutà. Allora corre à u magazinu più vicinu, pigliate un librettu è torna in casa vostra.

U primu passu chì aghju fattu hè di scrive "Nipoti" in grandi lettere grasse nantu à a copertina di u mo quaderno. Allora aghju vultatu à a prima pagina è cumincià à scrive tuttu ciò chì avete bisognu di ricurdà di mè. Uni pochi minuti dopu, a pagina pare cusì cusì.

{ 
  "_id":"dkdigiye82gd87gd99dg87gd",
  "name":"Cody",
  "birthday":"09-12-2006",
  "last_visit":"09-02-2019",
  "clothing_size":"XL",
  "favorite_ice_cream":"Fudge caramel",
  "adopted":false,
  "hobbies":[ 
     "video games",
     "computers",
     "cooking"
  ],
  "spouse":null,
  "kids":[ 

  ],
  "favorite_picture":"file://scrapbook-103/christmas-2010.jpg",
  "misc_notes":"Prefers ice-cream cake on birthday instead of chocolate cake!"
}

Я: "Sembra chì tuttu hè prontu!"
Avaia: "Aspetta, chì ne di u restu di i nipoti?"
Я: "Iè esattamente. Allora attribuite una pagina per ognunu ".
Avaia: "Averaghju bisognu di scrive tutte e listesse informazioni per tutti, cum'è aghju fattu per voi?"
Я: "No, solu s'è vo vulete. Lasciami mustrà ".
Pigliendu a penna di a mo nanna, aghju giratu a pagina è scrivu rapidamente infurmazioni nantu à u mo cuginu menu preferitu.

{ 
  "_id":"dh97dhs9b39397ss001",
  "name":"Tanner",
  "birthday":"09-12-2008",
  "clothing_size":"S",
  "friend_count":0,
  "favorite_picture":null,
  "remember":"Born on same day as Cody but not as important"
}

Ogni volta chì una nanna hà bisognu di ricurdà qualcosa di unu di i so nipoti, hà solu bisognu di navigà à a pagina ghjusta in u librettu di i so nipoti. Tutte l'infurmazioni nantu à elli seranu guardati quì nantu à a so pagina, chì ella pò cambià è aghjurnà rapidamente.

Quandu tuttu hè fattu, ella face a quistione magica: "Induve avete amparatu à fà tuttu questu?"

basa di dati NoSQL

Ci sò parechje basa di dati NoSQL ("micca solu SQL"). In i nostri esempi, avemu dimustratu basa di dati di documenti. A basa di dati NoSQL modella i dati in modi chì escludenu e relazioni di tavulinu utilizati in basa di dati relazionale. Queste basa di dati sò diventate populari à l'iniziu di l'anni 2000 cù e cumpagnie chì avianu bisognu di clustering di basa di dati basati in nuvola per via di e so esigenze di scala esplicite (cum'è Facebook). In tali applicazioni, a coherenza di dati era assai menu impurtante chè u rendiment è a scalabilità.

In u principiu, e basa di dati NoSQL sò spessu usati per i travaglii di gestione di dati di niche. In fondu, quandu si trattava di applicazioni web è nuvola, e basa di dati NoSQL anu trattatu è distribuitu quantità significativu di dati. L'ingegneri NoSQL anu piaciutu ancu u schema di dati flexible (o a mancanza di questu) in modu chì i cambiamenti rapidi eranu pussibuli in l'applicazioni chì anu aghjurnatu.

Funzioni chjave di NoSQL:

  • Un modu assai flexible per almacenà e dati
  • Scala horizontale à clusters
  • Possibile sequenza per persistenza / diffusione
  • Documenti chì sò identificati cù chjavi unichi

Paragone detallatu

MySQL richiede un schema definitu è ​​strutturatu.
NoSQL permette di almacenà qualsiasi dati in un "documentu".

MySQL hà una grande cumunità.
NoSQL hà una cumunità chjuca è in rapida crescita.

NoSQL hè faciule da scala.
MySQL hà bisognu di più maneggevolezza.

MySQL usa SQL, chì hè utilizatu in parechji tipi di basa di dati.
NoSQL hè un disignu basatu di basa di dati cù implementazioni populari.

MySQL usa una lingua standard di query (SQL).
NoSQL ùn usa micca una lingua standard di dumanda.

MySQL hà assai grandi strumenti di rapportu.
NoSQL hà parechje strumenti di rapportu chì sò difficiuli di standardizà.

MySQL pò mostrà prublemi di rendiment per big data.
NoSQL furnisce un rendimentu eccellente nantu à big data.

Pensieri 8 basi

In a cumpagnia 8 basainduve u travagliu, furnisce un spaziu di travagliu per ogni prughjettu cù una basa di dati relazionale Aurora MySQL ospitata in AWS. Mentre NoSQL hè una scelta logica quandu a vostra applicazione esige un altu rendiment è scalabilità, credemu chì a forte coerenza di dati furnita da un DBMS hè essenziale quandu custruisce applicazioni SaaS è altri software di cummerciale.

Per i startups è i sviluppatori chì custruiscenu applicazioni cummerciale chì necessitanu rapportu, integrità transazionale è mudelli di dati ben definiti, invistisce in basa di dati relazionale hè, in u nostru parè, a scelta ghjusta.

Sapete più nantu à u sviluppu cù Aurora, Serverless è GraphQL à 8base.com ccà.

Source: www.habr.com

Add a comment