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;