Os atributos de hbase

HBase

(Hadoop Banco de Dados) é uma implementação Java de BigTable do Google. Google define BigTable como um “distribuído, mapa ordenada multidimensional persistente escassa.” É completamente uma definição concisa, mas você também vai concordar que é um pouco sobre o lado complexo. Para quebrar a complexidade do BigTable um pouco, seguindo-se uma discussão de cada atributo.

Video: Pr. Paulo Junior - Os Atributos de Deus

HBase é esparsa

Como você deve ter adivinhado, o BigTable distribuídos sistema de armazenamento de dados foi projetado para atender às demandas de grandes dados. Agora, aplicações de dados grandes armazenar grandes quantidades de dados, mas o conteúdo de dados grande, também é frequentemente variável. Imagine uma mesa tradicional em uma informação de contato do cliente de banco de dados da empresa armazenar, como mostrado:

Tradicional Customer Contact Information Table
Identificação do ClienteÚltimo nomePrimeiro nomeNome do meioEndereço de e-mailEndereço
00001ferreiroJohnTimothy1 Hadoop Lane, NY 11111
00002CorçaJaneNULONULO7 HBase Ave, CA 22222

A empresa ou indivíduo pode exigir um registro de dados completa para cada um dos seus clientes ou constituintes. Um bom exemplo é o seu médico, que precisa de todas as suas informações de contacto, a fim de fornecê-lo com o cuidado adequado. Outras empresas ou indivíduos apenas podem exigir informações de contato parcial ou pode precisar de aprender essa informação ao longo do tempo.

Por exemplo, uma empresa de serviço ao cliente pode processar chamadas ou mensagens de e-mail para pedidos de serviço. Os clientes podem ou não optar por dar empresas de serviços todas as suas informações de contacto. No entanto, com cada interação com o tempo, as empresas podem aprender mais sobre seus clientes que lhes permitam prestar um melhor serviço - emitindo alertas de serviço proativas, por exemplo.

Neste contexto, escasso significa que os campos em linhas pode ser vazia ou NULL, mas que não traz HBase a um ponto insuportável. HBase pode lidar com o fato de que você não (ainda) sabe o nome e e-mail meio de Jane Doe, por exemplo.

Aqui está outro exemplo: um banco de dados para armazenamento de imagens de satélite. Acontece que o Google usa a tecnologia BigTable para armazenar imagens de satélite da terra. Em quase todos os casos, sempre que as imagens são armazenadas, os metadados também é armazenado com ele.

Os metadados podem incluir o endereço da imagem ou somente a latitude e longitude se a imagem é capturada desde o deserto. Os metadados é variável em conteúdo, para alguns campos será NULL - e isso é OK.

Video: Os Atributos de Deus PARTE 6 - A Santidade De Deus I

Em ambos os exemplos, os conjuntos de dados que são recolhidos podem ser extremamente grande - especialmente no segundo exemplo. bases de dados de imagens são quase sempre medido em terabytes ou às vezes em petabytes.

HBase é projetado para armazenar dados grandes, mas também é projetado para armazenar registros de dados esparsos, sem nenhum custo. Esta preocupação é crucial quando você estiver usando aplicativos de dados grandes! Armazenar alguns registros NULL mais de um milhão de linhas é um desperdício, mas tente imaginar os resíduos mais de um quatrilhão de linhas!

Felizmente, esta foi uma consideração importante para os designers do Google e a comunidade HBase. dados esparsos é suportado sem desperdício de espaço de armazenamento caro.



E não pára por aí. Considere o poder de um armazenamento de dados sem esquema. A tabela mostra uma mesa de contato com o cliente clássico. Quando as empresas projetar essas tabelas, eles sabem de antemão o que eles querem armazenar. Em outras palavras, o esquema é fixo- é definida antes mesmo do primeiro byte de informação é armazenada na tabela.

Agora, o que se, ao longo do tempo, um novo campo é necessário para um cliente? Como sobre uma alça de Twitter ou um novo número de telefone celular? Você está aparentemente preso com um esquema que já não funciona para você.

Bem, HBase resolve este desafio, bem como - você não só pode pular campos sem nenhum custo quando você não tem os dados, mas também adicionar dinamicamente campos (ou colunas no vernáculo HBase) ao longo do tempo sem ter que redesenhar o esquema ou interromper as operações.

Então você pode pensar em HBase como um store- dados sem esquema que seja, é fluido - você pode adicionar, subtrair, ou modificar o esquema que você vá junto.

HBase é distribuído e persistente

BigTable é um sistema de arquivos distribuídos e persistente. Persistente significa simplesmente que os dados armazenados em BigTable (e HBase, para que o assunto) vai persistir ou permanecer após o seu programa ou sessão termina. Isso é bastante simples - persistente significa que persiste - mas você deve gastar um pouco mais tempo pensando sobre como os dados são persistiu.

No seu documento de BigTable, o Google descreveu o sistema de arquivos distribuídos conhecido como Google File System ou GFS. Acontece que, assim como o HBase é uma implementação open source do BigTable, HDFS é uma implementação open source do GFS.

Por padrão, o HBase aproveita HDFS a persistir seus dados para armazenamento em disco. Embora outros armazenamentos de dados distribuídos pode ser usado com HBase, a grande maioria dos HBase instalações alavancagem HDFS. Isso faz sentido, dado que HBase é o “Hadoop banco de dados” - Ei, é embutido no nome, pelo amor de Deus.

HDFS é uma tecnologia chave que permite não só para Hadoop, mas também para HBase. Ao armazenar dados no HDFS, HBase oferece confiabilidade, disponibilidade, escalabilidade sem costura, alta performance e muito mais - tudo no custo de servidores distribuídos eficazes!

HBase tem um mapa classificadas multidimensional

A partir dos princípios, um mapa (Também conhecido como um matriz associativa) É uma coleção abstrata de pares chave-valor, onde a chave é única. Esta definição é crucial para a sua compreensão do HBase porque o modelo de dados HBase é frequentemente descrito de maneiras diferentes - muitas vezes de forma incompleta como uma loja orientada a coluna.

HBase é, no fundo, um armazenamento de dados de valor-chave, onde cada tecla é único - o que significa que aparece no máximo uma vez no armazenamento de dados HBase. Além disso, o mapa é classificado e multidimensional. As chaves são armazenados em HBase e classificados em ordem byte-lexicográfica. Cada valor pode ter várias versões, o que torna o modelo de dados multidimensional. Por padrão, as versões de dados são implementados com um timestamp.


Publicações relacionadas