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ória | O 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ção | 1) 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ções | O 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ção | O 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 -
- MongoDB vs Cassandra
- HBase vs Cassandra - Principais Diferenças
- MongoDB vs PostgreSQL
- HDFS vs HBase - Qual é o melhor
- MongoDB vs DynamoDB: Diferenças
- MongoDB vs SQL: Quais são as diferenças