Diferencias entre MongoDB vs HBase

Las bases de datos juegan un papel vital en todas las organizaciones e industrias. Las alternativas a estas están creciendo rápidamente y requieren resultados más rápidos. Para cumplir con estos nuevos requisitos, las industrias están utilizando bases de datos no tabulares, tenemos MongoDB vs HBase. MongoDB es una base de datos no relacional de código abierto. Toda la información relacionada se almacena en conjunto para acceder rápidamente a los datos. HBase, por otro lado, está escrito en Java y funciona en el marco Hadoop. Utiliza un par clave-valor para acceder a patrones aleatorios generados.

Comparación cabeza a cabeza entre MongoDB vs HBase (Infografía)

A continuación se muestran las 4 principales comparaciones entre MongoDB vs HBase

Diferencias clave entre MongoDB vs HBase

Tanto MongoDB vs HBase son opciones populares en el mercado; Discutamos algunas de las principales diferencias entre MongoDB y HBase:

HBase vs MongoDB, ambos sin bases de datos SQL tienen diferencias significativas. El modelo de consulta de MongoDB proporciona diferentes tipos de proyecciones, filtros y funciones agregadas. Hbase, por otro lado, tiene un emparejamiento clave-valor para los datos.

Para la búsqueda de texto, MongoDB proporciona una función nativa para los índices de texto y, en HBase, los datos se replican para un motor de búsqueda. MongoDB proporciona tres nodos, a saber, primario y secundario y uno para replicación. HBase tiene 10 nodos para maestros, servidores de región, nodos de nombre en espera, nodos de datos y cuidador del zoológico.

En MongoDB, la partición se puede realizar utilizando un hash, rango y fragmentación de zona, mientras que HBase solo proporciona una técnica de hash.

Con respecto a la copia de seguridad y recuperación, MongoDB tiene un administrador de operaciones y Atlas consistente que proporciona copias de seguridad oportunas y clústeres fragmentados. HBase toma instantáneas de datos cada 60 segundos en cada nodo del clúster.

Group by en MongoDB se realiza mediante el uso de la tubería de agregación y en HBase, utiliza el mapa tradicional Hadoop reduce.

Tabla comparativa MongoDB vs HBase

La siguiente es la tabla de comparación entre MongoDB vs HBase

La base de la comparación entre MongoDB vs HBase MongoDB HBase
Diferencia básica e historiaMongoDB es un programa de base de datos NoSQL orientado a documentos de código abierto. Utiliza documentos JSON con esquemas. El desarrollo de MongoDB se inició en 2007 con el software 10gen. Es multiplataforma y proporciona alta disponibilidad y escalabilidad. Funciona en concepto de colección y documento. Utiliza principalmente una base de datos, una colección y un documento.HBase también es un modelo de base de datos distribuida no relacional de código abierto. Fue desarrollado por Apache Foundation y se ejecuta en el Sistema de archivos distribuidos de Hadoop. Había comenzado por la compañía Powerset ya que requerían grandes cantidades de datos. Es similar a la gran tabla de Google y proporciona acceso a grandes cantidades de datos. Es parte del ecosistema de Hadoop y el consumidor de datos puede leer y acceder a los datos utilizando HBase.
Instalación1) Puede descargar MongoDB desde https://www.mongodb.org/downloads

Primero, debe asegurarse de su versión de Windows.

2) Una vez que haya descargado, puede extraer la carpeta mongodb-win32-i386- (versión) o mongodb-win32-x86_64- (versión).

3) Vaya al símbolo del sistema y ejecute el siguiente comando:

C: \> mover mongodb-win64- * mongodb 1 directorio (s) movidos. La ubicación predeterminada para esta carpeta debe ser C: \ data \ db.

4) Ahora vaya al directorio bin en la carpeta de instalación de MongoDB y configure la ruta de la siguiente manera:

C: \ Usuarios \ XYZ> d:

D: \> cd "configurar"

D: \ configurar> cd mongodb

D: \ configurar \ mongodb> cd bin

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

5) Instale MongoDB e instálelo usando:

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

servicio de sudo mongodb inicio

Linux debe configurarse antes de instalar Hadoop. Por lo tanto, esto se puede hacer usando ssh. Los pasos involucrados en una instalación son los siguientes:

1) Cree un usuario utilizando los siguientes comandos:

$ su

Contraseña:

#useradd Hadoop

#passwd Hadoop

Nueva contraseña:

Vuelva a escribir la nueva contraseña

2) El siguiente paso implica la configuración ssh y la generación de claves. Los siguientes comandos pueden ayudarlo a generar un par clave-valor usando ssh.

$ ssh-keygen –t rsa

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

$ chmod 0600 ~ / .ssh / optional_keys

3) La instalación de JAVA incluye una versión Java de jdk-7u71-Linux-x64.tar.gz. Extraiga esto y muévalo a / usr / local. Una vez hecho esto, configure la ruta y las variables JAVA_HOME en el perfil ~ / .bashrc.

4) Configure el entorno Hadoop configurando todos los archivos como hdfs-site.xml, yarn-site.xml, core-site.xml, mapred-site.xml

5) Configure Hbase en modo independiente configurando los archivos hbase-nv.sh y hbase-site.xml. También puede instalarlo en modo Pseudo configurando el archivo hbase-site.xml.

Creando tablas y coleccionesMongoDB utiliza bases de datos, colecciones y documentos para almacenar todos los datos. Para crear una colección, se debe usar el método createCollection ().

Sintaxis:

db.createCollection (nombre, opciones)

Nombre: nombre de la colección que debe crearse

Opciones: este es un campo opcional y especifica el tamaño de la memoria y la indexación.

El campo opcional puede tener las siguientes opciones:

1) Limitado: permite la recopilación limitada que tiene la capacidad de sobrescribir automáticamente el tamaño fijo y las entradas antiguas una vez que se alcanza un tamaño máximo.

2) autoIndexId: crea un índice automáticamente

3) tamaño: especifica los bytes máximos para la colección limitada.

4) Máx .: garantiza un número máximo de documentos permitidos.

Ejemplo:

> prueba de uso

cambiado a prueba de db

> db.createCollection ("mycollection")

("Ok": 1)

Estos se pueden verificar usando:

> mostrar colecciones

mi colección

system.indexes

HBase permite al usuario crear tablas usando el comando crear. El usuario puede especificar el nombre de la tabla y las columnas.

Sintaxis:

crear 'nombre de tabla', 'familia de columnas'

Ejemplo:

hbase (main): 002: 0> crear 'emp', 'datos personales', 'datos profesionales'

También se puede crear una tabla utilizando la API de JAVA. Los pasos para crearlo pueden ser como:

1) Instanciar HBaseAdmin

Esto requiere configuración como un parámetro que instanciará la clase de configuración respectiva y la pasará a HBaseAdmin.

Configuración conf = HBaseConfiguration.create ();

HBaseAdmin admin = nuevo HBaseAdmin (conf);

2) A continuación, el usuario puede crear TableDescriptor. HTableDescriptor es la clase que contendrá nombres de tablas y familias de columnas.

// crear descriptor de tabla

HTableDescriptor newtable = new HTableDescriptor (toBytes ("Nombre de tabla"));

// crear descriptor de familia de columnas

HColumnDescriptor newfamily = new HColumnDescriptor (toBytes ("familia de columnas"));

// agregando familia coloumn a HTable

table.addFamily (nuevafamilia);

3) Ejecutar a través de Admin: usando el método createTable () podemos ejecutar el método presente en HBaseAdmin usando:

admin.createTable (tabla);

Mesa abatible y colecciónEl método para soltar la colección es db.collection.drop, que suelta la colección en la base de datos.

Sintaxis:

db.collection_name.drop ()

Para colocar la tabla en Hbase, el usuario debe deshabilitar la tabla. Esto se puede hacer de la siguiente manera:

hbase (main): 018: 0> deshabilitar 'emp'

0 fila (s) en 1.4580 segundos

Una vez que se deshabilita una tabla, puede eliminarla mediante los siguientes comandos:

hbase (main): 019: 0> soltar 'emp'

0 fila (s) en 0.3060 segundos

Usando regex puedes eliminar múltiples tablas también.

Conclusión - MongoDB vs HBase

HBase se puede usar cuando los datos tienen la forma de un par clave-valor y tienen un alto volumen de datos. MongoDB, por otro lado, se puede usar donde el usuario quiera rastrear el comportamiento del usuario en una aplicación en línea. HBase tiene alto rendimiento y escalabilidad, mientras que MongoDB tiene una amplia gama de aplicaciones que admite. Es el usuario quien debe decidir si desea un mejor rendimiento o si desea admitir diferentes aplicaciones

Artículo recomendado

Esta ha sido una guía de las principales diferencias entre MongoDB y HBase. Aquí también discutimos las diferencias clave de MongoDB vs HBase con la infografía y la tabla de comparación. También puede consultar el siguiente artículo de HBase vs MongoDB para obtener más información:

  1. MongoDB vs Cassandra
  2. HBase vs Cassandra - Principales diferencias
  3. MongoDB vs PostgreSQL
  4. HDFS vs HBase: cuál es mejor
  5. MongoDB vs DynamoDB: diferencias
  6. MongoDB vs SQL: ¿Cuáles son las diferencias?