HBase
 sql >> Base de Dados >  >> NoSQL >> HBase

Melhorias no desempenho operacional do banco de dados no CDP Private Cloud Base 7 vs CDH5


Cloudera Data Platform (CDP) Private Cloud é a plataforma local mais abrangente para análise integrada e gerenciamento de dados. Ele combina o melhor do Cloudera Enterprise Data Hub e do Hortonworks Data Platform Enterprise Plus e traz as mais recentes e melhores tecnologias de código aberto para gerenciamento e análise de dados para o data center.

Com a versão mais recente (7) do CDP Private Cloud Base, introduzimos vários novos recursos e aprimoramentos. Nesta postagem do blog, gostaríamos de compartilhar as melhorias de desempenho disponíveis no Apache HBase.

Para aqueles que são novos no HBase ou estão avaliando-o para um novo projeto, o HBase é um banco de dados distribuído não relacional que é confiável para arquitetos e desenvolvedores que desejam processar grandes volumes de dados de maneira oportuna e confiável.

Para esta comparação de desempenho, medimos o HBase2 disponível no CDP Private Cloud Base 7 ao Hbase1 disponível no CDH 5 usando cargas de trabalho YCSB. A comparação nos ajuda a entender as melhorias de desempenho e as implicações para os clientes que fazem atualizações no local sem alterações no hardware subjacente.

Observação:os clientes que estão atualizando do CDH 5 para o CDP 7 também receberão um upgrade do HBase do HBase1 para o HBase2.


  • Carga de trabalho somente atualização personalizada do YCSB
    • Nossa carga de trabalho personalizada somente atualização do YCSB funciona 
      • 100% de operações de ATUALIZAÇÃO
    • Um exemplo de aplicativo seria um repositório de métricas
    • Desempenho da carga de trabalho: CDP 7 YCSB Update Only A taxa de transferência de execução da carga de trabalho (operações por segundo) foi 20% melhor do que quando executada com CDH5


  • Carga de trabalho YCSBA 
    • A carga de trabalho A do YCSB executa 
      • 50% de operações de LEITURA
      • 50% de operações de ATUALIZAÇÃO
    • Um exemplo de aplicativo seria um armazenamento de sessão gravando ações recentes em uma sessão de usuário 
    • Desempenho da carga de trabalho:CDP Carga de trabalho do Private Cloud Base 7.1 HBase2 YCSB A taxa de transferência (operações por segundo) foi 15% melhor do que CDH5 HBase1


  • Carga de trabalho YCSB C (somente leitura) 
    • YCSB Workload C é uma carga de trabalho somente leitura e executa 
      • Operações 100% LEIA
    • Um exemplo de aplicativo seria ler o cache do perfil do usuário quando os perfis são criados em outro lugar (por exemplo, Hadoop) ou em um sistema bancário para acessar e visualizar extratos da conta 
    • Desempenho da carga de trabalho:A carga de trabalho C do CDP 7 YCSB teve uma taxa de transferência semelhante (operações por segundo) ao CDH 5



Veredito:o CDP 7 oferece melhor desempenho do que o CDH 5 no YCSB  

Carga de trabalho personalizada UpdateOnly :Carga de trabalho somente de atualização do CDP 7 YCSB com desempenho 20% melhor do que C5.

Carga de trabalho YCSB A :A carga de trabalho A do CDP 7 YCSB teve um desempenho 15% melhor do que CDH5.

Carga de trabalho C do YCSB :A carga de trabalho C somente leitura do CDP 7 YCSB tinha operações/taxa de transferência semelhantes para CDH 5

Durante nossos testes, percebemos que a atualização do JDK8 para o JDK 11 no CDP 7 pode melhorar o desempenho em mais 10%. Isso está além das melhorias de desempenho obtidas com a atualização do CDH5 para o CDP7.

O CDP 7 vem com o JDK8 instalado por padrão e suporta uma atualização para o JDK11. Em nossas execuções de teste, o CDP 7 foi atualizado para usar o JDK 11 para execuções de carga de trabalho YCSB mostradas acima. Também executamos as mesmas cargas de trabalho com o JDK8, e os resultados do teste mostraram que o desempenho do JDK11 é de 5 a 10% melhor em comparação com o JDK8 , como mostrado no gráfico abaixo





Para atualizar o CDP 7 do JDK 8 para o OpenJDK 11, siga as etapas abaixo:

Etapa 1:instale o OpenJDK11 em todos os hosts usando o abaixo

RHEL 
sudo yum install java-11-openjdk

Ubuntu
sudo apt install openjdk-11-jdk

Etapa 2:somente no host do Cloudera Manager Server (não é necessário para outros hosts):
  1. Abra o arquivo /etc/default/cloudera-scm-server em um editor de texto.
  2. Edite a linha que começa com export JAVA_HOME (se essa linha não existir, adicione-a) e altere o caminho para o caminho do novo JDK (o JDK geralmente é instalado em / usr/lib/jvm)(ou /usr/lib64/jvm no SLES 12), mas o caminho pode ser diferente dependendo de como o JDK foi instalado).

Para obter mais informações sobre como atualizar o JDK, siga Atualizando o JDK

Ambiente de teste

Metodologia de teste

O CDH 5.16.3/HBase1 foi instalado no cluster e os dados de carga de trabalho com 1 bilhão de linhas (tamanho do conjunto de dados 1 TB) foram gerados e as cargas de trabalho do CDH 5.16.3 YCSB foram executadas. Após o carregamento, esperamos que todas as operações de compactação terminassem antes de iniciar o teste de carga de trabalho.

Depois que as execuções do CDH 5.16.3 foram concluídas, o CDP Private Cloud Base 7.1 HBase2 foi instalado de forma limpa e os dados foram gerados novamente no mesmo cluster. As cargas de trabalho do CDP Private Cloud Base 7.1 YCSB foram então executadas para obter os tempos de teste. Antes de cada execução de carga de trabalho, inicializamos a tabela HBase usada pelo YCSB. Instantâneo da tabela de usuário utable_snap foram criados e aplicados antes de cada execução.

Cada carga de trabalho testada foi executada 3 vezes por 15 minutos cada para medir a taxa de transferência*. Os resultados apresentados são as médias tiradas dos 3 testes.

*Throughput (ops/sec) =Nº de operações por segundo

O CDP Private Cloud Base 7.1 inclui o HBase2 e o CDH 5.16.3 inclui o HBase1. Tanto o CDP Private Cloud Base 7.1 quanto o CDH5 têm o JDK 8 instalado. O CDP Private Cloud Base 7.1 suporta JDK11 e o CDP Private Cloud Base 7.1 foi atualizado para usar o JDK 11 para testes YCSB, as execuções do CDH 5.13.3 foram executadas com o JDK 8 (1.8.0_141)

Configurações de teste
  • YCSB Versão 0.17.0
  • Versão de vinculação YCSB hbase2(CDP-CD 7.1) e hbase1(CDH 5) 
  • Clientes YCSB usaram 2
  • Tópicos YCSB por cliente 20
  • Tamanho dos dados
    • Tabela YCSB @escala de 1 TB
    • Número total de registros na tabela YCSB 1.000.000.000 (1 TB), cada registro é 1 KB
    • Número de regiões na tabela YCSB 250, com cluster de 5+1 nós e aproximadamente 50 regiões por servidor de região
    • Espaço de armazenamento médio da região usado por tamanho de servidor 290 G
  • Os servidores da região HBase foram configurados com heap de 32 GB 
  • Apenas o cache L1 com LruBlockCache foi usado com tamanho de cache de 12,3 GB
  • A porcentagem de acertos do cache L1 observada durante execuções em servidores regionais foi de 85%
  • L2 off heap cache não foi configurado no cluster

Configurações de cluster
  • Agrupamento usado : Cluster de 6 nós (1 mestre + 5 servidores de região)
  • Descrição: Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 @ 2,2 GHz, 128 GB de RAM, discos de 4-2 TB
  • Segurança: Nenhum configurado (sem Kerberos)

Versões do Cloudera comparadas

Versão C7 :CDP Private Cloud Base 7.1.0

Versão C5: CDH5.16.3

JDKs usados:JDK 8 ( 1.8.0_141) e JDK 11 (11.0.6)

Com base em nossos testes (resultados acima), os clientes que desejam atualizar do CDH 5 para o CDP 7 devem esperar um desempenho aprimorado para cargas de trabalho semelhantes em comparação com o que estão obtendo hoje.

Saiba mais sobre o banco de dados operacional Cloudera aqui