De armazenamento de dados e processamento estruturado em hadoop
Ao considerar as capacidades do Hadoop para trabalhar com dados estruturados (ou trabalhar com dados de qualquer tipo, para que o assunto), lembre-se características principais do Hadoop: Hadoop é, em primeiro lugar, uma plataforma de armazenamento e processamento de dados de uso geral projetado para escalar a milhares de nós de computação e petabytes de dados.
Não há nenhum modelo de dados em dados Hadoop si- é simplesmente armazenado no cluster Hadoop como arquivos brutos. Como tal, os principais componentes do próprio Hadoop não têm capacidades especiais para catalogação, indexação, ou consultar dados estruturados.
A beleza de um sistema de armazenamento de dados de uso geral é que ele pode ser estendido para fins muito específicos. A comunidade Hadoop fez exatamente isso com uma série de projetos Apache - projetos que, em sua totalidade, compõem o Hadoop ecossistema. Quando se trata de armazenamento de dados estruturada e processamento, os projectos descritos nesta lista são os mais comumente utilizados:
hive: Uma estrutura de armazenamento de dados para Hadoop. dados catálogos colmeia em arquivos estruturados e fornece uma interface de consulta com a linguagem SQL-like chamado HiveQL.
HBase: UMA distribuído banco de dados - um banco de dados NoSQL que se baseia em vários computadores, em vez de uma única CPU, em outras palavras - que é construído em cima do Hadoop.
Giraph: Um mecanismo de processamento gráfico de dados armazenados no Hadoop.
Muitos outros projetos Apache suportar diferentes aspectos da análise de dados estruturados, e alguns projetos se concentrar em um número de estruturas e interfaces.
Ao determinar a arquitetura ideal para suas necessidades de análise, certifique-se de avaliar os atributos e capacidades dos sistemas que você está considerando. A tabela compara armazenamentos de dados baseados em Hadoop (Hive, Giraph e HBase) com RDBMS tradicional.
Critério | colméia | Giraph | HBase | RDBMS |
---|---|---|---|---|
dados mutáveis | Não | sim | sim | |
layout de dados | arquivos brutos armazenados em HDFS- Hive suporta proprietária orientada para a linha ou formatos orientado por colunas. | A escassa, distribuídos, persistente multidimensional classificadas mapa | orientada para a linha ou coluna orientada- | |
Tipos de dados | tipos de dados Bytes- são interpretados na consulta. | suporte tipo de dados rico | ||
ferragens | agrupado em Hadoop commodities x86 Servidores- cinco ou mais é típico porque a tecnologia de armazenamento subjacente é HDFS, que por padrão requer três réplicas. | Tipicamente grandes, sistemas multiprocessador escaláveis | ||
Alta disponibilidade | Sim- construído na arquitetura Hadoop | Sim, se o hardware e RDBMS estão configurados corretamente | ||
índices | sim | Não | Row-chave única ou mesa especial necessário | sim |
linguagem de consulta | HiveQL | Giraph API | comandos HBase API (,,,,,, HiveQL | SQL |
Esquema | Esquema definido como arquivos são catalogados com o Data Hive Definition Language (DDL) | Esquema de leitura | Variabilidade no esquema entre linhas | Esquema de carga |
Taxa de transferência | Milhões de lê e escreve por segundo | Milhares de lê e escreve por segundo | ||
transações | Nenhum | Fornece suporte ACID em apenas uma única linha | Fornece multi-linha e tabela cruzada suporte transacional com completa ACID conformidade propriedade | |
velocidade de transação | velocidade modesta para queries- interativo rápido para a tabela completa scans | Rápido para interativo queries- rápido para varreduras de tabela cheia | Rápido para queries- interativo mais lento para varreduras de tabela cheia | |
tamanho típico | Varia de terabytes para petabytes (de centenas de milhões a bilhões de linhas) | De gigabytes a terabytes (de centenas de milhares de milhões de linhas) |