Diferenças entre MongoDB e HBase

Os bancos de dados desempenham um papel vital em todas as organizações e indústrias. Alternativas para isso estão crescendo rapidamente e exigem resultados mais rápidos. Para atender a esses novos requisitos, os setores estão usando bancos de dados não tabulares, temos o MongoDB vs HBase. O MongoDB é um banco de dados não relacional de código aberto. Todas as informações relacionadas são armazenadas juntas para acessar rapidamente os dados. O HBase, por outro lado, é escrito em Java e funciona na estrutura do Hadoop. Ele usa um par de valores-chave para acessar padrões aleatórios gerados.

Comparação cara a cara entre MongoDB vs HBase (Infográficos)

Abaixo está as 4 principais comparações entre MongoDB e HBase

Principais diferenças entre o MongoDB e o HBase

Tanto o MongoDB quanto o HBase são escolhas populares no mercado; vamos discutir algumas das principais diferenças entre o MongoDB e o HBase:

HBase vs MongoDB, sendo ambos os bancos de dados sem SQL, apresentam diferenças significativas. O modelo de consulta do MongoDB fornece diferentes tipos de projeções, filtragem e funções agregadas. O Hbase, por outro lado, possui um par de valores-chave para dados.

Para pesquisa de texto, o MongoDB fornece um recurso nativo para índices de texto e, no HBase, os dados são replicados para um mecanismo de pesquisa. O MongoDB fornece três nós, primário e secundário, e um para replicação. O HBase possui 10 nós para mestres, servidores de região, nós de nome em espera, nós de dados e zookeeper.

No MongoDB, o particionamento pode ser feito usando um shard de hash, intervalo e zona, enquanto o HBase fornece apenas a técnica de hash.

No que diz respeito ao backup e recuperação, o MongoDB possui um gerenciador de operações e um Atlas consistente, que fornece backups oportunos e clusters fragmentados. O HBase tira instantâneos de dados a cada 60 segundos em cada nó do cluster.

Agrupar no MongoDB é realizado usando o pipeline de agregação e no HBase, ele usa a redução de mapa tradicional do Hadoop.

Tabela de comparação MongoDB vs HBase

A seguir, é apresentada a tabela de comparação entre o MongoDB e o HBase

A base de comparação entre MongoDB e HBase MongoDB HBase
Diferença básica e históriaO MongoDB é um programa de banco de dados NoSQL orientado a documentos de código aberto. Ele usa documentos JSON com esquemas. O desenvolvimento do MongoDB foi iniciado em 2007 pelo software 10gen. É multiplataforma e oferece alta disponibilidade e escalabilidade. Ele funciona no conceito de coleção e documento. Ele usa principalmente um banco de dados, coleção e documento.O HBase também é um modelo de banco de dados distribuído não relacional de código aberto. Foi desenvolvido pela Apache Foundation e é executado no Hadoop Distributed File System. Tudo começou pela empresa Powerset, pois eles exigiam grandes quantidades de dados. É semelhante à grande mesa do Google e fornece acesso a grandes quantidades de dados. É uma parte do ecossistema Hadoop e o consumidor de dados pode ler e acessar os dados usando o HBase.
Instalação1) Você pode baixar o MongoDB em https://www.mongodb.org/downloads

Primeiro, você precisa ter certeza da sua versão do Windows.

2) Após o download, você pode extrair a pasta mongodb-win32-i386- (versão) ou mongodb-win32-x86_64- (versão).

3) Vá para o prompt de comando e execute o comando abaixo:

C: \> move mongodb-win64- * mongodb 1 diretório (s) movido (s). O local padrão para esta pasta deve ser C: \ data \ db.

4) Agora vá para o diretório bin na pasta de instalação do MongoDB e defina o caminho como abaixo:

C: \ Usuários \ XYZ> d:

D: \> cd "configurado"

D: \ configuração> cd mongodb

D: \ configuração \ mongodb> bin bin

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

5) Instale o MongoDB e instale-o usando:

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

serviço sudo mongodb start

O Linux deve ser configurado antes da instalação do Hadoop. Portanto, isso pode ser feito usando o ssh. As etapas envolvidas em uma instalação são as seguintes:

1) Crie um usuário usando os comandos abaixo:

$ su

Senha:

#useradd Hadoop

#passwd Hadoop

Nova senha:

Digite novamente a nova senha

2) O próximo passo envolve a configuração do ssh e a geração de chaves. Os comandos a seguir podem ajudá-lo a gerar um par de valores-chave usando ssh.

$ ssh-keygen –t rsa

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

$ chmod 0600 ~ / .ssh / chaves_autorizadas

3) A instalação do JAVA inclui uma versão Java do jdk-7u71-Linux-x64.tar.gz. Extraia isso e mova-o para / usr / local. Feito isso, configure o caminho e as variáveis ​​JAVA_HOME no perfil ~ / .bashrc.

4) Configure o ambiente Hadoop configurando todos os arquivos como hdfs-site.xml, yarn-site.xml, core-site.xml, mapred-site.xml

5) Configure o Hbase no modo independente, configurando os arquivos hbase-nv.sh e hbase-site.xml. Você também pode instalá-lo no modo Pseudo, configurando o arquivo hbase-site.xml.

Criando tabelas e coleçõesO MongoDB usa bancos de dados, coleções e documentos para armazenar todos os dados. Para criar uma coleção, é necessário usar o método createCollection ().

Sintaxe:

db.createCollection (nome, opções)

Nome: Nome da coleção que precisa ser criada

Opções: este é um campo opcional e especifica o tamanho e a indexação da memória.

O campo opcional pode ter as seguintes opções:

1) Limitado: Permite a coleta limitada que tem a capacidade de sobrescrever automaticamente o tamanho fixo e as entradas antigas assim que o tamanho máximo for atingido.

2) autoIndexId: cria um índice automaticamente

3) tamanho: especifica o máximo de bytes para a coleção limitada.

4) Máx: garante um número máximo de documentos permitido.

Exemplo:

> usar teste

comutado para teste db

> db.createCollection ("minha coleção")

("Ok": 1)

Estes podem ser verificados usando:

> mostrar coleções

minha coleção

system.indexes

O HBase permite que o usuário crie tabelas usando o comando create. O usuário pode especificar o nome da tabela e as colunas.

Sintaxe:

crie 'nome da tabela', 'família da coluna'

Exemplo:

hbase (main): 002: 0> criar 'emp', 'dados pessoais', 'dados profissionais'

Uma tabela também pode ser criada usando a API JAVA. As etapas para criá-lo podem ser as seguintes:

1) Instanciar HBaseAdmin

Isso requer configuração como um parâmetro que instancia a respectiva classe de configuração e a transmite ao HBaseAdmin.

Configuração conf = HBaseConfiguration.create ();

HBaseAdmin admin = novo HBaseAdmin (conf);

2) Em seguida, o usuário pode criar o TableDescriptor. HTableDescriptor é a classe que conterá nomes de tabelas e famílias de colunas.

// criando descritor de tabela

HTableDescriptor newtable = new HTableDescriptor (toBytes ("Nome da tabela"));

// criando descritor de família de colunas

HColumnDescriptor newfamily = new HColumnDescriptor (toBytes ("família de colunas"));

// adicionando a família coloumn ao HTable

table.addFamily (newfamily);

3) Execute através do Admin: Usando o método createTable (), podemos executar o método presente no HBaseAdmin usando:

admin.createTable (tabela);

Soltando mesa e coleçãoO método para descartar a coleção é db.collection.drop, que descarta a coleção no banco de dados.

Sintaxe:

db.collection_name.drop ()

Para descartar tabela no Hbase, o usuário deve desativar a tabela. Isso pode ser feito como abaixo:

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

0 linha (s) em 1.4580 segundos

Depois que uma tabela é desativada, você pode excluí-la usando os comandos abaixo:

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

0 linha (s) em 0.3060 segundos

Usando regex, você também pode excluir várias tabelas.

Conclusão - MongoDB vs HBase

O HBase pode ser usado quando os dados estão na forma de um par de valores-chave e possuem um grande volume de dados. O MongoDB, por outro lado, pode ser usado onde o usuário deseja rastrear o comportamento do usuário em um aplicativo online. O HBase possui alto desempenho e escalabilidade, enquanto o MongoDB possui uma ampla gama de aplicativos que ele suporta. É o usuário que precisa decidir se deseja um melhor desempenho ou deseja oferecer suporte a aplicativos diferentes

Artigo recomendado

Este foi um guia para as principais diferenças entre o MongoDB e o HBase. Aqui também discutimos as principais diferenças entre MongoDB e HBase com infográficos e tabela de comparação. Você também pode consultar o seguinte artigo do HBase vs MongoDB para saber mais -

  1. MongoDB vs Cassandra
  2. HBase vs Cassandra - Principais Diferenças
  3. MongoDB vs PostgreSQL
  4. HDFS vs HBase - Qual é o melhor
  5. MongoDB vs DynamoDB: Diferenças
  6. MongoDB vs SQL: Quais são as diferenças