Video: NoSQL: la nuova generazione di Database [linux day 2011 - talk 7]_ok 2024
I database non relazionali non si basano sul modello di tabella / chiave endemico degli RDBMS (relazionale sistemi di gestione del database). In breve, i dati speciali nel mondo dei big data richiedono tecniche di persistenza e di manipolazione dei dati specializzate. Sebbene questi nuovi stili di database offrano alcune risposte alle sfide dei Big Data, non rappresentano un biglietto espresso per il traguardo.
Una classe emergente e popolare di database non correlato è chiamata non solo SQL (NoSQL). Originariamente i mittenti avevano previsto database che non richiedevano il modello relazionale e l'SQL. Dato che questi prodotti sono stati introdotti nel mercato, la definizione si è attenuata un po 'e ora vengono considerati "non solo SQL", di nuovo prosciugati all'ubiquità di SQL.
L'altra classe è costituita da database che non supportano il modello relazionale, ma si basano su SQL come mezzo principale per manipolare i dati all'interno. Anche se i database relazionali e non relazionali hanno fondamenta simili, il modo in cui i fondamentali vengono raggiunti crea la differenziazione. Le tecnologie di database non relazionali hanno le seguenti caratteristiche in comune:
-
Scalabilità: In questo caso, si fa riferimento alla capacità di scrivere dati su più archivi dati contemporaneamente senza riguardo ai limiti fisici dell'infrastruttura sottostante. Un'altra dimensione importante è la continuità. I database devono essere in grado di espandersi e contrarsi in risposta ai flussi di dati e farlo invisibilmente agli utenti finali.
-
Modello dati e query: Al posto della riga, colonna, struttura chiave, i database non relazionali usano framework speciali per archiviare i dati con un set richiesto di API di query specializzate per accedere in modo intelligente ai dati.
-
Progettazione della persistenza: La persistenza è ancora un elemento critico nei database non correlati. A causa dell'alta velocità, varietà e volume dei big data, questi database utilizzano meccanismi di differenza per la persistenza dei dati. L'opzione più performante è "in memoria", dove l'intero database è tenuto nel sistema di memoria molto veloce dei tuoi server.
-
Diversità dell'interfaccia: Sebbene la maggior parte di queste tecnologie supportino le API RESTful come interfaccia "vai a", offrono anche un'ampia varietà di meccanismi di connessione per programmatori e gestori di database, inclusi strumenti di analisi e reporting / visualizzazione.
-
Coerenza finale: Mentre RDBMS utilizza ACID (Atomicità, Coerenza, Isolamento, Durabilità) per garantire la coerenza dei dati, i DBMS non relazionali usano BASE.BASE sta per Basic Available, Soft State ed Eventual Consistency. La coerenza finale è molto importante perché è responsabile della risoluzione dei conflitti quando i dati sono in movimento tra i nodi in un'implementazione distribuita. Lo stato dei dati viene gestito dal software e il modello di accesso si basa sulla disponibilità di base.