HBase

download HBase

of 37

Transcript of HBase

  • (...) o objetivo deste projeto a realizao de tabelas muitos grandes bilhes de linhas x

    milhes de colunas hbase.apache.org

  • Sobre o Hbase

    - Foi criado no Powerset em 2007 e ento doado para o Apache;

    - Apresenta caractersticas semelhantes ao BigTable do Google;

    - um subprojeto do projeto Hadoop do Apache;

    - um banco de dados NoSQL orientado a colunas;

    - implementado em Java;

  • Sobre o Hbase

    Um cluster Hbase usa vrios tipos de servidores;

    Precisa de : um cluster Zookeeper, um servidor master e vrios servidores regionais;

    Suporta dados no-estruturados e parcialmente estruturados;

  • Caractersticas importantes do HBase

    Versionamento;

    Compactaao;

    Coleta de lixo;

    Garantias de consistncia;

    Grande poder de processamento na consulta de dados;

    Tolerante a falhas.

  • Caractersticas importantes do HBase

    O Hbase suporta trs modos de funcionamento:

    Stand-alone;

    Pseudo-distribudo;

    Totalmente distribudo.

  • Tabela HBase

  • Empresas que utilizam o HBase

    Tem sido utilizado usado por grandes empresas para apoiar sistemas de registro e de busca

    como a Adobe, Twitter, Facebook, Hulu, Yahoo, Firefox, Ebay, Mahalo dentre outros.

  • Oposio aos banco de dados relacionais

    Em um banco de dados relacional, voc deve definir bem sua tabela com antecedncia. Com o Hbase voc pode simplesmente nomear uma famlia de colunas e ento permitir que a clula se qualifique para ser determinada a um certo

    tempo de execuo;

  • Big Data ser apenas volume de dados?

    Esse termo tambm faz referncia a variedade de informaes e velocidade necessria para o seu

    processamento.

  • Algumas operaes com HBase

  • Fato interessante

  • Modelo de Computao Arquitetura

  • Modelo de Computao do HBase

    Esse modelo de computao normalmente realizada em aglomerados (Clusters) e grades computacionais, que com um conjunto de computadores comuns, conseguem alto poder de processamento ao um custo relativamente baixo.

    Para montar uma infraestrutura como esta no nada trivial.

  • Foi por isso que foi desenvolvido o HBase, para processamento de grandes quantidades de dados em aglomerados e grades computacionais.

    O programador no precisa se preocupar com detalhes tcnicos da tecnologia.

    Modelo de Computao do Hbase

  • Banco de dados orientado a colunas

    Tabelas agrupam famlias de colunas

    Uma famlia de colunas possui n colunas

    Uma linha um conjunto de valores de colunas identificado por uma cave nica.

    Linhas so ordenadas de acordo com a chave nica

  • Estrutura dos dados Hbase

  • Arquitetura HBase

  • Gerencia os Clusters

    Coordena e configura os demais ns

    Master

  • Regions Servers So os ns que armazenam cada regio de

    cada tabela;

    Verifica necessidade diviso e compactao;

    Verifica compactaes maiores.

  • ZooKeeper

    crucial para o HBase;

    O objetivo de fornecer um servio de coordenao para aplicaes distribudas de alto desempenho, que prov meios para facilitar as seguintes tarefas: configurao de ns, sincronizao de processos distribudos e grupos de servio.

  • HDFS (Hadoop Distributed File System )

    um sistema de arquivos distribudo nativo do Hadoop. Permite o armazenamento e transmisso de grandes conjuntos de dados em mquinas de baixo custo. Possui mecanismos que o caracteriza como um sistema altamente tolerante a falhas.

    Contm WAL (Write-Ahead-Log) utilizado para manter a consistncia dos dados.

  • API java para realizar algumas operaes

  • Estudo de Caso

  • Crash Reports Firefox

  • Crash Reports Firefox

    A Mozilla processa TB de relatrios por

    dia do Firefox;

    Hoje armazenado cerca de 2,6 milhes

    de relatrios de falhas por dia e apenas

    de 15% destes so processados;

    Em pico de falha pode chagar a 3000

    acidentes por minuto.

  • A Mozilla criou o Socorro

    um sistema de relatrios de falhas da

    Mozilla.

  • Arquitetura antes

  • Arquitetura antes Quando o Firefox trava, o acidente submetido a

    Mozilla por parte do navegador conhecida como

    Breakpad. Este o lugar onde Socorro entra em jogo.

    Crashes so submetidos ao coletor, que depois

    armazenado.

    O monitor coloca os crashs em fila de processamento

    Um processador pega um crash de uma determina fila

    para processamento. Combina vrios crash e os

    resultados so escritos de volta para base afim de criar

    relatrios.

  • Arquitetura antes Finalmente, os dados esto disponveis para os

    engenheiros do Firefox (e qualquer outra pessoa que

    esteja interessado) por meio do site, pelo http://crash-

    stats.mozilla.com

    Os trabalhos do coletor, processador, o monitor e cron

    so todos escritos em Python. Crashes so atualmente

    armazenados em NFS, e informaes de falha

    processados em um banco de dados PostgreSQL.

    O aplicativo web escrito em PHP (usando o framework

    Kohana) e chama os dados tanto do Postgres e de um

    servio web Pythonic.

  • WebApp Socorro

  • Nova Arquitetura

    Com esta arquitetura, o problema de 15% desaparece

    completamente.

  • Vantagens Desvantagens

    Trabalhando com BigData no HBase

  • Vantagens do HBase

    Herana das principais vantagens do noSQL: Agilidade, Usabilidade e Escalabilidade.

    Otimizao para consultas em tempo real, bem como grande performance quando se trata de armazenamento de grande escala.

    Custo X Benefcio = Nmero de Falhas x Preo.

  • Curiosidades

    Diversas redes sociais utilizam Hbase para armazenar seus dados;

    Foi capaz de suportar at 75 bilhes de operaes Read/Write em apenas um dia;

  • Desvantagens do HBase

    Dificuldade de manusear poucos dados: Analogia da mosca e do canho.

    Dificuldade no controle de dados: Uma vez que no se trata de somente usar um script, h uma srie de regras para manipulao de dados.

    Fatia de mercado: SGBDRs j dominam o mercado atual;

  • Trabalhando com BigData no HBase

    Recapitulando: O conceito de BigData;

    Implementao no HBase: Formas de importao dos dados;

    Table Regions;

  • Referncias

    http://hbase.apache.org

    http://nosql.mypopescu.com/post/616512319/nosql-case-study-migrating-to-hbase-hadoop-to-handle

    https://www.ibm.com/developerworks/community/blogs/fd26864d-cb41-49cf-b719-d89c6b072893/entry /os_bancos_de_dados _nosql_uma_ olhada_no_hbase2?lang=en