HBase
-
Upload
luiscarlosj -
Category
Documents
-
view
253 -
download
0
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