GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Elenco dei database NoSQL per il 2021

Introduzione

NoSQL (abbreviazione di "Non solo SQL") è un'alternativa ai database tradizionali, focalizzata sull'acquisizione e l'elaborazione di grandi quantità di dati.

Esistono diversi tipi di database NoSQL, ognuno con un approccio unico alla modellazione dei dati e diversi casi d'uso.

In questo tutorial forniremo una breve panoramica di più tipi di database NoSQL ed elencheremo alcuni degli esempi più diffusi per ciascuno di essi.

Tipi di database NoSQL

I quattro tipi più popolari di database NoSQL sono database di valori-chiave, database basati su documenti, database basati su grafici e database basati su colonne larghe:

Database valori-chiave

Database valori-chiave organizzare i dati in coppie di chiavi e valori, in cui ogni chiave è legata a un oggetto specifico, che rappresenta un campo di dati. Fornire una chiave consente di visualizzare i dati archiviati nell'oggetto a cui è associato.

Questo è il tipo più semplice e scalabile di database NoSQL, che offre flessibilità e prestazioni migliorate.

Database NoSQL basati su documenti

Banca dati basati su documenti utilizzano anche le coppie chiave-valore che memorizzano nei documenti. Questi documenti sono ulteriormente raggruppati in raccolte in base al loro contenuto e utilizzo.

Questi database archiviano più comunemente i dati come moduli JSON, XML, BSON o YAML, di solito senza implementare uno schema. Questo approccio li rende adatti ai casi che richiedono una struttura flessibile e la capacità di aggiungere e recuperare rapidamente i dati.

Database basati su grafici

Database basati su grafici rappresentare i dati come una raccolta di nodi (elementi dati) collegati da bordi . In questa struttura di dati, i nodi contengono parti di dati, mentre i bordi definiscono le relazioni tra di loro.

Questo tipo di database è comunemente usato per rappresentare le relazioni tra diverse voci di dati, come le connessioni di amici sui social network. Gli utenti possono eseguire query complesse ed estrarre direttamente più dati contemporaneamente.

Ampi database basati su colonne

Ampi database basati su colonne archiviare i dati in colonne separate, in modo simile a come i dati vengono archiviati nelle tabelle con database relazionali. A differenza dei database relazionali, i database a colonne larghe non utilizzano chiavi o nomi di colonna predefiniti.

Ciò consente variazioni nei nomi delle colonne, anche all'interno della stessa tabella. È anche facile aggiungere grandi quantità di dati come nuove colonne o raggruppare quelle esistenti in famiglie di colonne.

Database di oggetti

Database di oggetti memorizzare gli elementi di dati come oggetti da utilizzare nella programmazione orientata agli oggetti. Sono progettati per funzionare con linguaggi di programmazione come Python, Ruby, Delphi, Java, ecc.

Database Grid e Cloud

Database grid e cloud usa una griglia di dati, una rete di sistemi che lavorano con dati accessibili tramite il cloud.

Questo tipo di database funziona con modelli di dati SQL e NoSQL ed è generalmente offerto come database come servizio.

Database multimodello

Infine, database multimodello combinare le caratteristiche di due o più tipi di database diversi. Ciò consente loro di fornire una soluzione per casi d'uso unici in cui altri tipi di database non sono adatti.

Elenco dei database NoSQL

Di seguito è riportato un elenco di database NoSQL per il 2021, organizzati in sezioni per tipo di database:

Elenco dei database di valori-chiave

Redis

Redis funziona come un server di struttura dati che memorizza i dati in memoria. Ciò significa che Redis legge e modifica i dati dalla memoria principale, ma ha anche la persistenza incorporata. Questa funzione consente di salvare i dati su disco in modo che possano essere ricostruiti al riavvio del sistema.

Vantaggi dell'utilizzo di Redis:

  • Il lavoro in memoria consente prestazioni e flessibilità elevate.
  • Supporto per diversi tipi di dati e linguaggi di programmazione.
  • Facile da scalare e supporta il partizionamento automatico.

Aerospike

Come Redis, Aerospike è un database NoSQL open source in memoria. Aerospike è ottimizzato per l'uso al dettaglio online grazie alle sue elevate prestazioni e alla capacità di combinare i dati delle transazioni con l'analisi.

Vantaggi dell'utilizzo di Aerospike:

  • Prestazioni affidabili con latenza molto bassa.
  • Un buon rapporto tra prezzo e prestazioni lo rende adatto alle piccole imprese.

Riak

Riak memorizza le coppie chiave-valore in oggetti dati che chiama "bucket". Supporta un'ampia gamma di formati di dati e sottolinea la stabilità dei dati e le prestazioni prevedibili.

Vantaggi dell'utilizzo di Riak:

  • Le coppie chiave-valore vengono salvate in cluster di tre nodi, con la possibilità di replicare i dati su nodi aggiuntivi per il backup.
  • I dati possono essere archiviati in memoria, su dischi o entrambi.
  • La replica multi-datacenter consente di eseguire il backup dei dati su data center in posizioni diverse.

Progetto Voldemort

LinkedIn utilizza Project Voldemort come soluzione per l'archiviazione di valori-chiave ad alta scalabilità. Funziona come una tabella hash distribuita, tollerante agli errori e persistente.

Vantaggi dell'utilizzo del Progetto Voldemort:

  • I dati vengono automaticamente replicati e partizionati su più server.
  • Sono disponibili plug-in di archiviazione e serializzazione.
  • Buone prestazioni a nodo singolo.

Elenco per database NoSQL basati su documenti

MongoDB

MongoDB è un database agile e open source utilizzato da un'ampia gamma di aziende in diversi settori. Memorizza i documenti come oggetti JSON che possono modificare rapidamente gli schemi in base alle tue esigenze.

Vantaggi dell'utilizzo di MongoDB:

  • Facile da scalare da un singolo server a sistemi complessi.
  • Fornisce costantemente prestazioni elevate.
  • Elevata affidabilità grazie alla replica e al bilanciamento del carico.

Server Couchbase

Couchbase Server (noto inizialmente come Membase) è una soluzione di database distribuito open source. L'intenzione di progettazione principale è quella di lavorare con applicazioni interattive per archiviare grandi quantità di dati utente come oggetti JSON.

Vantaggi dell'utilizzo di Couchbase Server:

  • La gestione del cluster consente un ridimensionamento rapido.
  • Replica personalizzabile, anche tra data center.

CouchDB

CouchDB è un database open source scritto in Erlang. Offre funzionalità come il controllo della concorrenza multi-versione (usando la semantica ACID), la replica multi-master e la mappa/riduzione.

Vantaggi dell'utilizzo di CouchDB:

  • In grado di replicare i dati su dispositivi come smartphone per l'accesso offline.
  • Garantisce l'eventuale coerenza, fornendo disponibilità e tolleranza della partizione.

Ricerca elastica

Elasticsearch è un database distribuito che funziona come un motore di ricerca in grado di eseguire ricerche full-text con corrispondenza fuzzy. Rientra nella doppia licenza:alcune parti sono coperte dalla Server Side Public License, mentre altre rientrano nella categoria proprietaria Elastic License.

Vantaggi dell'utilizzo di Elasticsearch:

  • Puoi espandere le funzionalità combinando Elasticsearch con altre soluzioni, come Logstash (raccolta dati e analisi dei log), Kibana (analisi) e Beats (spedizione dati).
  • Ricerca scalabile in tempo reale con faceting e percolazione.

Elenco per database basati su grafici

Neo4J

Neo4J è un database open source basato su grafici costruito in Java, con funzionalità aggiuntive disponibili come parte della loro piattaforma dati Graph. Utilizza il linguaggio di query di crittografia per offrire l'accesso a una gamma più ampia di query rispetto ad altri tipi di database mantenendo prestazioni elevate.

Vantaggi dell'utilizzo di Neo4J:

  • Utile per risolvere problemi che richiedono ripetute analisi della rete.
  • Facilita gli oggetti dati di analisi e le loro relazioni.

OrientDB

OrientDB è un sistema di database multimodello open source con una forte enfasi sul modello di database a grafo. Può essere implementato su qualsiasi sistema operativo e vanta un'ampia gamma di funzionalità, che possono essere ulteriormente ampliate con l'aggiornamento all'Enterprise Edition.

Vantaggi dell'utilizzo di OrientDB:

  • Un solido sistema di sicurezza basato su utenti e ruoli.
  • Facili da iniziare con un corso Udemy gratuito, ampio supporto per gli utenti tramite Stack Overflow.
  • Facile da importare altri database relazionali in OrientDB.

RedisGraph

RedisGraph è un modulo database grafico per Redis. Si basa sul modello Property Graph e utilizza il linguaggio di query Cypher per tradurre le query in espressioni di algebra lineare.

Vantaggi dell'utilizzo di RedisGraph:

  • Facile da combinare con i database Redis esistenti.
  • Consente di aggiungere etichette dei nodi e tipi di relazioni.

Grafico infinito

InfiniteGraph è un database distribuito incentrato sull'esecuzione di query di oggetti complessi. Viene utilizzato per sviluppare applicazioni web o mobili che risolvono problemi grafici lavorando con grandi set di dati complessi.

Vantaggi dell'utilizzo di InfiniteGraph:

  • In grado di gestire query complesse o parallele che richiedono prestazioni elevate.
  • Backup con consistenza flessibile (da ACID a rilassato).

Elenco per vasti database basati su colonne

Cassandra

Apache Cassandra è una soluzione di database open source gratuita creata per gestire grandi carichi di dati con un impatto minimo sulle prestazioni. Twitter, Netflix e Reddit utilizzano tutti Cassandra per la sua alta velocità e disponibilità.

Vantaggi dell'utilizzo di Cassandra:

  • La replica asincrona e senza master garantisce la protezione dalla perdita di dati senza causare latenza.
  • Si adatta facilmente a più data center senza tempi di inattività.

Cosmo DB

Azure Cosmos DB di Microsoft è una soluzione di database proprietaria. Il prodotto è stato progettato per essere distribuito a livello globale per aiutare a gestire database su larga scala e scalabili orizzontalmente.

Vantaggi dell'utilizzo di Cosmos DB:

  • Si combina con altri servizi Microsoft Azure per funzionalità estese.
  • Partizionamento automatico su più data center.

HBase

HBase è progettato per funzionare con database estremamente grandi, con miliardi di righe e milioni di colonne. Funziona su Hadoop Distributed File System (HDFS) e consente ad Hadoop di funzionare come Bigtable di Google.

Vantaggi dell'utilizzo di HBase:

  • Consente un throughput elevato su una scala di petabyte di dati.
  • Abilita l'accesso in lettura/scrittura casuale e in tempo reale al tuo database.

Accumulo

Apache Accumulo è un'altra soluzione basata su Hadoop e basata su Bigtable di Google. Migliora il design di Bigtable aggiungendo funzionalità come basato su celle controllo accessi e programmazione lato server.

Vantaggi dell'utilizzo di Accumulo:

  • Puoi aggiungere etichette di sicurezza a livello di cella e archiviare dati di diversi livelli di sicurezza nella stessa tabella.

Elenco dei database degli oggetti

ObjectDB

ObjectDB è una soluzione di database a oggetti per lo sviluppo Java con supporto integrato per le API Java. Funziona in modalità client-server o embedded.

Vantaggi di lavorare con ObjectDB:

  • Supporta varie piattaforme e sistemi operativi.
  • Utilizza i linguaggi di query JDO e JPA.

Ninja Database Pro

Ninja Database Pro offre un elevato livello di automazione che lo rende facile da usare per i principianti. Fornisce un modo robusto e veloce per gestire gli oggetti di dati in un database.

Vantaggi dell'utilizzo di Ninja Database Pro:

  • Può funzionare con oggetti dati complessi come elenchi con collegamenti doppi, array multidimensionali e dizionari.
  • Compatibile con ACID, con crittografia AES integrata.

NeoDB

NeoDB struttura i dati come una rete di oggetti simile a un grande albero. Questa rete è chiamata spazio dei nodi e si concentra sui nodi (oggetti), sulle loro relazioni e sulle loro proprietà.

Vantaggi dell'utilizzo di NeoBD:

  • Buono per la gestione di dati semi-strutturati, con pochi attributi obbligatori ma molti opzionali.

Obiettività/DB

Objectivity/DB è un database distribuito che ti consente di lavorare con oggetti dati in C++, C#, Java o Python senza convertirli in tabelle.

Vantaggi dell'utilizzo di Oggettività/DB:

  • Utilizza qualsiasi linguaggio di programmazione supportato sul sistema operativo di tua scelta.
  • La sua architettura lo rende una buona scelta per gli ambienti di grid computing.

Elenco dei database cloud e grid

Coerenza Oracle

Oracle Coherence è una cache distribuita e una griglia di dati in memoria basata su Java. Gestisce i dati in applicazioni in cluster, eliminando la necessità di interrogare direttamente il database ogni volta che è necessario gestire i dati.

Vantaggi dell'utilizzo di Oracle Coherence:

  • Fornisce disponibilità elevata, scalabilità e bassa latenza.

Infinispan

Infinispan è una soluzione di griglia dati open source scritta in Java. Infinispan può essere incorporato nelle applicazioni Java come libreria e le applicazioni non Java possono utilizzarlo con TCP/IP.

Vantaggi dell'utilizzo di Infinispan:

  • Altamente scalabile pur mantenendo la disponibilità.
  • La sua architettura pluggable gli consente di rendere persistenti i dati nel filesystem o in altri gestori di database.

Nocciola

Hazelcast è una griglia di dati open source. È basato su Java e può essere eseguito in locale, virtualmente, nel cloud o in contenitori Docker.

Vantaggi dell'utilizzo di Hazelcast:

  • Consente il ridimensionamento orizzontale della memoria e della potenza di elaborazione.

Elenco di database multimodello

ArangoDB

ArangoDB è un gestore di database gratuito e open source che supporta modelli di database di valori-chiave, documenti e grafici.

Vantaggi dell'utilizzo di ArangoDB:

  • Il linguaggio di query AQL ti consente di scegliere come target diversi tipi di database con una singola query.
  • Funziona come un cluster distribuito con l'opzione di distribuzione del cluster con un clic.

Ubuntu
  1. Un ambiente simile a una shell per l'elaborazione binaria?

  2. Come controllare l'elenco delle dipendenze per un pacchetto Deb?

  3. Elencare tutti i pacchetti suggeriti per i pacchetti attualmente installati?

  4. Provaci:una moderna lista di cose da fare con un timer

  5. Esempi di Bash for loop

SQL vs NoSQL:qual è la differenza?

Come elencare tutti i database in PostgreSQL

Come mostrare un elenco di tutti i database in MySQL

Che cos'è un database?

Comprendere le tecniche di modellazione dei dati NoSQL

Come mostrare l'elenco di tutti i database su MySQL