Il settore IT utilizza un’ampia varietà di database. Par­ti­co­lar­men­te diffusi sono i modelli re­la­zio­na­li in quanto con­sen­to­no un buon col­le­ga­men­to in rete delle in­for­ma­zio­ni. Ma ne esistono anche altri tipi, che offrono vantaggi speciali e po­treb­be­ro quindi essere una scelta migliore in de­ter­mi­na­te si­tua­zio­ni: database NoSQL, database orientati ai documenti, database orientati alle colonne o database a grafo. Inoltre vi sono anche i co­sid­det­ti Key Value Database, nei quali un principio semplice porta a pre­sta­zio­ni enormi.

Che cos’è un Key Value Store?

Il database chiave-valore si basa su una tabella con solo due colonne: una contiene il valore, l’altra contiene una chiave, un iden­ti­fi­ca­to­re univoco. Un valore può assumere forme diverse: sono quindi possibili valori molto semplici come stringhe o numeri interi, ma anche oggetti complessi possono comparire come valori nel database. Ad esempio anche un documento può assumere la funzione o il ruolo del valore, nel qual caso si parla dunque di un database orientato ai documenti. Anche i ri­fe­ri­men­ti ai file possono essere inseriti nel database. È possibile Inoltre im­ple­men­ta­re le tuple, ovvero le raccolte di valori.

I valori di un database non devono essere uniformi. È possibile ospitare oggetti diversi nella stessa colonna. Lo stesso vale per gli iden­ti­fi­ca­to­ri univoci. Nella maggior parte dei casi la chiave seguirà pro­ba­bil­men­te un de­ter­mi­na­to schema, ma in linea di principio ciò non è ne­ces­sa­rio. Anche in questo caso stringhe e numeri interi possono essere rea­liz­za­ti in base a un criterio qualsiasi.

Fatto

I Key Value Store si pre­sen­ta­no come database in memory (ad es. nella memoria RAM) e soluzioni su disco (ad es. nello spazio su disco rigido).

Vantaggi e usi del Key Value Database

I vantaggi dei database chiave-valore sono la per­for­man­ce elevata e la sca­la­bi­li­tà fles­si­bi­le. Entrambi derivano dalla struttura semplice del modello. Dato che il Key Value Store non richiede o non pretende uno schema omogeneo, è possibile apportare modifiche al database con­ti­nua­men­te. È quindi possibile in­tro­dur­re un nuovo campo durante lo svol­gi­men­to con­tem­po­ra­neo di attività in altre voci.

Questo modello di database consente una velocità elevata grazie alla sua semplice com­bi­na­zio­ne di chiave e valore: se si desidera re­cu­pe­ra­re in­for­ma­zio­ni, si accede di­ret­ta­men­te al valore tramite la chiave specifica. I dati sono di­ret­ta­men­te di­spo­ni­bi­li. Ma questo è allo stesso tempo anche uno degli svantaggi del Key Value Store, in quanto in realtà non è previsto un altro metodo di accesso. In par­ti­co­la­re i database re­la­zio­na­li con­sen­to­no invece query complesse. Il contenuto di questi database può essere cercato in vari modi. Al contrario, in un Key Value Store è previsto solo l’accesso tramite la chiave. In genere si deve ri­nun­cia­re ad altri in­di­ca­to­ri e a funzioni di con­sul­ta­zio­ne.

Le aree di ap­pli­ca­zio­ne dei Key Value Store sono de­ter­mi­na­te sia dai vantaggi che dalle li­mi­ta­zio­ni dei database. Ogni qualvolta sono richiesti tempi di accesso rapidi con grandi quantità di dati, vengono uti­liz­za­ti i database chiave-valore. Esempi di simili ap­pli­ca­zio­ni sono i carrelli degli acquisti online o i dati di sessione, dove le in­for­ma­zio­ni sono chia­ra­men­te assegnate e devono essere di­spo­ni­bi­li nel più breve tempo possibile. Per i siti di grandi di­men­sio­ni e popolari, questi database devono co­stan­te­men­te creare nuove voci ed eliminare quelle obsolete. I database chiave-valore sono per­fet­ta­men­te adatti a questo scopo.

Database chiave-valore noti

Oggi ci sono diversi sistemi di gestione di basi di dati (DBMS) che si basano su un database chiave-valore.

  • Amazon DynamoDB: il DBMS pro­prie­ta­rio fa parte di Amazon Web Services (AWS) e può essere uti­liz­za­to anche come database orientato ai documenti.
  • Berkeley DB: questo DBMS è svi­lup­pa­to da Oracle e offre in­ter­fac­ce per i vari linguaggi di pro­gram­ma­zio­ne.
  • Redis: il progetto open-source Redis è uno dei DBMS più diffusi ed è stato uti­liz­za­to all’inizio da Instagram e GitHub.
  • Riak: il DBMS Riak è di­spo­ni­bi­le in una versione open-source, come soluzione aziendale o sotto forma di memoria cloud.
  • Voldemort: il DBMS di­stri­bui­to viene uti­liz­za­to e promosso tra gli altri da LinkedIn.
Vai al menu prin­ci­pa­le