Fácil de entender a tecnologia de dados grandes e aplicação de HBase núcleo

HBase faz parte do ecossistema Hadoop, que considera a modelagem de BigTable do Google, para alcançar a linguagem de programação Java, construído em cima do HDFS, alta confiabilidade, alto desempenho, coluna da loja, escalável, em tempo real sistema de banco de dados para ler e escrever. Isso só pode ser recuperada pela tecla de dados primário (chave de linha), e a gama de chave primária, é usado principalmente para armazenar dados solta semi-estruturados e não estruturados. Como com Hadoop, alvo HBase dependem principalmente da escala, aumentando servidores de commodities de baixo custo para aumentar a capacidade de computação e armazenamento. tabelas de banco de dados HBase geralmente têm essas características:

  • Grande: Uma tabela pode ter centenas de milhões de linhas em um milhão
  • Para colunas: coluna (grupo) para controlo da memória e acesso, a coluna (grupo) BIR
  • Dispersa: Para a coluna está vazio (NULL) e não ocupam espaço de armazenamento, de modo que a mesa pode ser concebido muito escasso

Arquitetura:

características principais clientes:

  • HBase usando o mecanismo RPC para se comunicar com HMaster e HRegionServer
  • Para Gestão de operação, cliente e um HMaster RPC
  • Para os dados de leitura tipo de operação, o cliente com um HRegionServer RPC

Zookeeper apresenta:

  • Certifique-se que a qualquer momento, apenas um mestre de cluster, será registrado com o Mestre e RegionServers começar quando ZooKeeper
  • servidor da região em tempo real de monitoramento de informações on-line e off-line, e notificação em tempo real para Mestre
  • tabela de metadados endereço de entrada e armazenar todos Região de HBase

HMaster apresenta:

  • Gestão HRegionServer, para atingir o seu balanceamento de carga
  • Gestão e HRegion de distribuição, tais como a atribuição de nova HRegion quando HRegion divisão; nele migrados quando HRegionServer saída HRegion a outros HRegionServer
  • Monitorar o status de todos HRegionServer cluster (via pulsação e ZooKeeper ouvir no estado)

HRegionServer apresenta:

  • manutenção do servidor Região mestre atribuído à sua região, a manipulação destes pedidos IO região
  • servidor da região é responsável pela segmentação torna-se muito grande durante a operação da região

Resumo:
Processo · acesso de clientes aos dados mestre não precisa participar do HBase (acesso ZooKeeper endereçamento, leitura de dados e servidor de acesso de gravação regione), tabela mestre e somente o mantenedor da região de informação de metadados, os de baixa carga
dados processados · HRegion tentar reside dados DataNode em conjunto para alcançar dados de localização

Modelo de Dados:

  • Tabela: semelhante à base de dados relacional tradicional, HBase a tabela (Tabela) forma de organizar os dados de aplicação, dados na tabela HBase

  • Fila: linha HBase numa tabela é identificada exclusivamente através RowKey, quer digital quer cordas acabará por ser convertido em um campo para o armazenamento de dados; linhas da tabela HBase são dispostos na ordem de RowKey dicionário

  • Coluna Família: tabela HBase organizado por linhas e colunas, a coluna ao introduzir o conceito de família, vai ser uma ou mais colunas são agrupados, colunas HBase deve pertencer a uma linha de família, basta especificar o nome da tabela ao criar a tabela e pelo menos um família de colunas

  • Célula: linha e coluna é chamado uma célula de ponto cruzada, o conteúdo da célula é o valor da coluna é armazenada em forma binária, e é versioned

  • versão: a pluralidade de valores para cada célula pode ser armazenado versão dos dados (no suporte de extremidade de várias versões pode ser especificado no momento de fabrico da mesa), são dispostas por ordem cronológica inversa, um carimbo de tempo inteiro de 64-bit, pode ser atribuído ao escrever dados, ele também pode ser atribuído automaticamente RegionServer

Nota:

  • Hbase nenhum tipo de dados, todos os valores da coluna são convertidos para uma cadeia e executar diferentes tipos de colunas de armazenamento de base de dados relacional quando criar a tabela para uma explicitamente incluída, cada linha da tabela pode ter diferentes colunas HBase
  • RowKey mesma operação de inserção é considerado estar a funcionar na mesma linha. Isto é, a mesma operação RowKey gravação secundário, a segunda vez pode ser pode ser atualização que algumas das colunas da linha
  • grupo de colunas estão ligadas por nomes de linhas e de colunas de, o separador é um cólon, tal como d: Nome (d: Grupo coluna Nome, Nome: nome da coluna)

resumo:

  • O HBase não suporta consultas condicionais e outras perguntas Order lendo registros só pode linha de chave (e alcance) ou uma varredura completa da tabela
  • Simplesmente declarar o nome da tabela e nome de família pelo menos uma coluna na tabela é criado, cada coluna Família é uma unidade de armazenamento
  • tabela HBase na concepção de uma aplicação prática é fortemente recomendado o uso de uma família separada
  • Definido pode adicionar dinamicamente, as mesmas colunas Coluna Familiares irá agrupar em uma unidade de armazenamento, e classificadas por coluna de chave e, portanto, devem ser projetados com as mesmas características de E / S não criar uma tabela em um projeto da Coluna Coluna Coluna Família para melhorar o desempenho. Nota: Esta coluna pode ser adicionados e excluídos, esta base de dados tradicional e nosso grande diferença. Assim, ele se encaixar dados não estruturados
  • HBase é determinada por uma linha e coluna de dados, o valor de dados pode ter várias versões, as versões diferentes dos valores na ordem inversa cronológica, ou seja, os dados mais recentes, na parte superior, a consulta retorna por defeito a mais recente versão.
  • Timestamp padrão é a hora atual do sistema (com precisão de milissegundos), o valor também pode ser especificado quando se escreve dados
    -Valores para cada célula únicas chaves de índice 4, tableName + RowKey + ColumnKey + timestamp => valor
  • Tipo de armazenamento
  • TableName é uma string
  • RowKey ColumnName e um valor de binário (tipo Java byte [])
  • Timestamp é um número inteiro de 64-bit (tipo Java longo)
  • valor é uma matriz de bytes (tipo Java byte [])

HBase abordar, como encontrar a região onde a chave de linha quando o acesso do cliente aos dados do usuário?
0,94 versão, você deve primeiro acesso antes do acesso do cliente ao tratador de dados do usuário, em seguida, visita a tabela -ROOT-, então visite mesa .meta e, finalmente, encontrar a localização de dados do usuário para acesso, requerem centro operacional de rede múltiplos, como mostrado abaixo: Aqui Insert Picture Descrição
0.96+ revisão removeu tabela raiz em vez tratador dentro do ficheiro, tal como mostrado um, a ler, por exemplo, tal como a abordagem esquemática B:
Aqui Insert Picture Descrição

Publicado 36 artigos originais · ganhou elogios 13 · vista 1055

Acho que você gosta

Origin blog.csdn.net/weixin_44598691/article/details/105010593
Recomendado
Clasificación