Differenze tra MongoDB e HBase

I database svolgono un ruolo vitale in tutte le organizzazioni e settori. Le alternative a queste stanno crescendo rapidamente e richiedono risultati più rapidi. Per soddisfare questi nuovi requisiti, le industrie utilizzano database non tabulari, abbiamo MongoDB vs HBase. MongoDB è un database non relazionale open source. Tutte le informazioni correlate vengono archiviate insieme per accedere rapidamente ai dati. HBase, d'altra parte, è scritto in Java e funziona sul framework Hadoop. Utilizza una coppia chiave-valore per accedere a modelli casuali generati.

Confronto testa a testa tra MongoDB vs HBase (infografica)

Di seguito sono riportati i primi 4 confronti tra MongoDB e HBase

Differenze chiave tra MongoDB e HBase

Sia MongoDB che HBase sono scelte popolari sul mercato; parliamo di alcune delle principali differenze tra MongoDB e HBase:

HBase vs MongoDB essendo entrambi i database No SQL presentano differenze significative. Il modello di query di MongoDB offre diversi tipi di proiezioni, filtri e funzioni di aggregazione. Hbase, d'altra parte, ha un accoppiamento valore-chiave per i dati.

Per la ricerca di testo, MongoDB fornisce una funzione nativa per gli indici di testo e in HBase i dati vengono replicati per un motore di ricerca. MongoDB fornisce tre nodi, ovvero primario e secondario e uno per la replica. HBase ha 10 nodi per master, server regionali, nodi nome standby, nodi dati e zookeeper.

In MongoDB il partizionamento può essere fatto usando un hash, range e zone sharding mentre HBase fornisce solo la tecnica di hashing.

Per quanto riguarda il backup e il ripristino, MongoDB ha Ops manager e Atlas coerenti che forniscono backup tempestivi e cluster frammentati. HBase acquisisce istantanee di dati ogni 60 secondi su ciascun nodo del cluster.

Il gruppo di MongoDB viene eseguito utilizzando la pipeline di aggregazione e in HBase utilizza la riduzione della mappa tradizionale di Hadoop.

Tabella comparativa MongoDB vs HBase

Di seguito è riportata la tabella di confronto tra MongoDB e HBase

La base del confronto tra MongoDB e HBase MongoDB HBase
Differenza e storia di baseMongoDB è un programma di database NoSQL orientato ai documenti open source. Utilizza documenti JSON con schemi. Lo sviluppo di MongoDB è stato avviato nel 2007 dal software 10gen. È multipiattaforma e offre elevata disponibilità e scalabilità. Funziona sulla raccolta e sul concetto di documento. Utilizza principalmente un database, una raccolta e un documento.HBase è anche un modello di database distribuito non relazionale open source. È stato sviluppato da Apache Foundation e funziona su Hadoop Distributed File System. Era iniziato dalla società Powerset in quanto richiedevano grandi quantità di dati. È simile al grande tavolo di Google e fornisce accesso a enormi quantità di dati. Fa parte dell'ecosistema Hadoop e il consumatore di dati può leggere e accedere ai dati utilizzando HBase.
Installazione1) Puoi scaricare MongoDB da https://www.mongodb.org/downloads

Innanzitutto, devi assicurarti della versione di Windows.

2) Dopo aver scaricato è possibile estrarre la cartella mongodb-win32-i386- (versione) o mongodb-win32-x86_64- (versione).

3) Vai al prompt dei comandi ed esegui sotto il comando:

C: \> move mongodb-win64- * mongodb 1 dir (s) spostato. Il percorso predefinito per questa cartella dovrebbe essere C: \ data \ db.

4) Ora vai alla cartella bin nella cartella di installazione di MongoDB e imposta il percorso come di seguito:

C: \ Users \ XYZ> d:

D: \> cd “imposta”

D: \ imposta> cd mongodb

D: \ set \ mongodb> cd bin

D: \ set \ mongodb \ bin> mongod.exe –dbpath "d: \ set \ mongodb \ data"

5) Installa MongoDB e installalo usando:

apt-get install mongodb-10gen = 2.2.3 e avvia MongoDB usando:

inizio servizio sudo mongodb

Linux dovrebbe essere configurato prima di installare Hadoop. Quindi questo può essere fatto usando ssh. I passaggi coinvolti in un'installazione sono i seguenti:

1) Crea un utente usando i seguenti comandi:

$ su

Parola d'ordine:

#useradd Hadoop

#passwd Hadoop

Nuovo passwd:

Riscrivi il nuovo passwd

2) Il passaggio successivo prevede l'installazione di ssh e la generazione di chiavi. I seguenti comandi possono aiutarti a generare una coppia chiave-valore usando ssh.

$ ssh-keygen –t rsa

$ cat ~ /. ssh / id_rsa.pub >> ~ / .ssh / authorized_keys

$ chmod 0600 ~ / .ssh / authorized_keys

3) L'installazione di JAVA include una versione Java di jdk-7u71-Linux-x64.tar.gz. Estrai questo e spostalo in / usr / local. Una volta fatto, impostare il percorso e le variabili JAVA_HOME nel profilo ~ / .bashrc.

4) Imposta l'ambiente Hadoop configurando tutti i file come hdfs-site.xml, yarn-site.xml, core-site.xml, mapred-site.xml

5) Installa Hbase in modalità standalone configurando i file hbase-nv.sh e hbase-site.xml. Puoi anche installarlo in modalità Pseudo configurando il file hbase-site.xml.

Creazione di tabelle e raccolteMongoDB utilizza database, raccolte e documenti per archiviare tutti i dati. Per creare una raccolta è necessario utilizzare il metodo createCollection ().

Sintassi:

db.createCollection (nome, opzioni)

Nome: nome della collezione che deve essere creata

Opzioni: questo è un campo opzionale e specifica la dimensione della memoria e l'indicizzazione.

Il campo opzionale può avere le seguenti opzioni:

1) Limite: consente la raccolta con limite che ha la capacità di sovrascrivere automaticamente la dimensione fissa e le voci precedenti una volta raggiunta una dimensione massima.

2) autoIndexId: crea automaticamente un indice

3) dimensione: specifica i byte massimi per la raccolta con limite.

4) Max: assicura un numero massimo di documenti consentiti.

Esempio:

> usa test

passato al test db

> db.createCollection ( “MyCollection”)

("Ok": 1)

Questi possono essere controllati usando:

> mostra raccolte

la mia collezione

system.indexes

HBase consente all'utente di creare tabelle usando il comando create. L'utente può specificare il nome e le colonne della tabella.

Sintassi:

crea "nome tabella", "famiglia colonna"

Esempio:

hbase (principale): 002: 0> crea "emp", "dati personali", "dati professionali"

Una tabella può anche essere creata utilizzando l'API JAVA. I passaggi per crearlo possono essere i seguenti:

1) Istanziare HBaseAdmin

Ciò richiede la configurazione come parametro che istanzerà la rispettiva classe di configurazione e la passerà a HBaseAdmin.

Configurazione conf = HBaseConfiguration.create ();

HBaseAdmin admin = nuovo HBaseAdmin (conf);

2) Successivamente l'utente può creare TableDescriptor. HTableDescriptor è la classe che conterrà nomi di tabelle e famiglie di colonne.

// creazione del descrittore di tabella

HTableDescriptor newtable = new HTableDescriptor (toBytes ("Nome tabella"));

// creazione del descrittore di famiglia di colonne

HColumnDescriptor newfamily = new HColumnDescriptor (toBytes ("famiglia di colonne"));

// aggiunta della famiglia di colonne a HTable

table.addFamily (newfamily);

3) Eseguire tramite Admin: Usando il metodo createTable () possiamo eseguire il metodo presente in HBaseAdmin usando:

admin.createTable (tabella);

Tavolo e collezione cadentiIl metodo per eliminare la raccolta è db.collection.drop che rilascia la raccolta nel database.

Sintassi:

db.collection_name.drop ()

Per eliminare la tabella in Hbase l'utente deve disabilitare la tabella. Questo può essere fatto come di seguito:

hbase (principale): 018: 0> disabilita 'emp'

0 righe in 1, 44580 secondi

Una volta disabilitata una tabella è possibile eliminare la tabella utilizzando i comandi seguenti:

hbase (principale): 019: 0> rilascia 'emp'

0 righe in 0, 3060 secondi

Usando regex puoi anche eliminare più tabelle.

Conclusione - MongoDB vs HBase

HBase può essere utilizzato quando i dati hanno la forma di una coppia chiave-valore e hanno un volume elevato di dati. MongoDB, d'altra parte, può essere usato dove l'utente vuole tracciare il comportamento dell'utente su un'applicazione online. HBase ha alte prestazioni e scalabilità mentre MongoDB ha una vasta gamma di applicazioni supportate. È l'utente che deve decidere se desiderano prestazioni migliori o supportare diverse applicazioni

Articolo raccomandato

Questa è stata una guida alle principali differenze tra MongoDB e HBase. Qui discutiamo anche le differenze chiave tra MongoDB e HBase con le infografiche e la tabella di confronto. Puoi anche leggere il seguente articolo HBase vs MongoDB per saperne di più -

  1. MongoDB vs Cassandra
  2. HBase vs Cassandra - Principali differenze
  3. MongoDB vs PostgreSQL
  4. HDFS vs HBase: qual è il migliore
  5. MongoDB vs DynamoDB: differenze
  6. MongoDB vs SQL: quali sono le DIFFerenze