Regiões em hbase
RegionServers são uma coisa, mas você também tem que dar uma olhada em como regiões individuais trabalhar. Em HBase, uma tabela é tanto propagação através de um número de RegionServers, bem como sendo constituída por regiões individuais. Como tabelas são divididas, as divisões se tornar regiões. Regiões armazenar uma gama de pares chave-valor, e cada RegionServer gere um número configurável de regiões.
Mas o que as regiões individuais parece? HBase é um armazenamento de dados orientado a coluna da família, assim como as regiões individuais armazenar pares chave-valor com base nas famílias de colunas a que pertencem? A figura a seguir começa a responder a estas perguntas e ajuda a digerir a informação mais vital sobre a arquitetura do HBase.
Video: Is THIS The Deadliest Pokémon?
HBase é escrito em Java - como a grande maioria das tecnologias Hadoop. Java é uma linguagem de programação orientada a objetos e uma tecnologia elegante para computação distribuída. Então, como você continuar a descobrir mais sobre HBase, lembre-se de que todos os componentes da arquitetura são, em última análise objetos Java.
Primeiro, a figura anterior dá uma boa idéia do que região objetos realmente parecido, de modo geral. Ele também deixa claro que as regiões de dados separados em famílias de colunas e armazenar os dados no HDFS usando objetos hFile.
Quando os clientes colocar pares chave-valor para o sistema, as teclas são processados de modo que os dados são armazenados com base na família de colunas do par pertence. Como mostrado na figura, cada objeto de armazenamento família coluna tem um cache de leitura chamado BlockCache e um cache de gravação chamado MemStore. O BlockCache contribui com o desempenho de leitura aleatória.
Os dados são lidos em blocos do HDFS e armazenado no BlockCache. Leituras subsequentes para os dados - ou os dados armazenados nas proximidades - serão lidos da RAM em vez de disco, melhorando o desempenho geral. O Write Ahead Log (WAL, para abreviar) garante que suas gravações HBase são confiáveis. Há uma WAL por RegionServer.
Tenha sempre em atenção a Lei de Ferro da Computação Distribuída: A falha não é a exceção - é a norma, especialmente quando o agrupamento de centenas ou mesmo milhares de servidores. Google seguiu a lei de ferro na concepção BigTable e HBase seguiram o exemplo.
Quando você escrever ou modificar dados no HBase, os dados são primeiro persistiu ao WAL, que é armazenado no HDFS, e, em seguida, os dados são gravados no cache MemStore. Em intervalos configuráveis, pares chave-valor armazenados no MemStore são escritos para HFiles no HDFS e depois entradas WAL são apagados.
Se ocorrer uma falha depois de a gravação inicial WAL mas antes a escrita MemStore final para disco, o WAL podem ser repetidos para evitar qualquer perda de dados.
Três objetos hFile estão em uma família de colunas e dois no outro. O design do HBase é para lavar dados da família de colunas armazenadas no MemStore a um hFile por descarga. Em seguida, a intervalos configuráveis HFiles são combinados em HFiles maiores. Esta estratégia enfileira a operação de compactação crítica em HBase.