Estruturado de armazenamento de dados e processamento no Hadoop
Ao considerar as capacidades do Hadoop para trabalhar com dados estruturados (ou trabalhando com dados de qualquer tipo, para que o assunto), lembre-se características centrais da Hadoop: Hadoop é, em primeiro lugar, uma plataforma de armazenamento e processamento de dados de uso geral projetado para dimensionar para 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 finalidade 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 estruturados e processamento, os projectos descritos nesta lista são os mais comumente utilizados:
hive: Uma estrutura de armazenamento de dados para Hadoop. dados de 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 para os dados armazenados no Hadoop.
Muitos outros projetos Apache suportam diferentes aspectos da análise de dados estruturados, e alguns projectos se concentrar em um número de estruturas e interfaces.
Ao determinar a arquitetura ideal para suas necessidades de análise, não se esqueça de avaliar os atributos e capacidades dos sistemas 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 na HDFS- Hive suporta orientada a proprietaryrow ou formatos orientados a coluna. | A, distribuída, SortedMap multidimensional persistente esparsa | orientada a linha ou orientada coluna | |
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 é typicalbecause a tecnologia de armazenamento subjacente é HDFS, que por defaultrequires três réplicas. | Normalmente grandes sistemas com múltiplos processadores escaláveis | ||
Alta disponibilidade | Sim- incorporada à arquitetura Hadoop | Sim, se o hardware e RDBMS estão configurados corretamente | ||
índices | sim | Não | Row-chave só 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 Hive DataDefinition Language (DDL) | Esquema em leitura | Variabilidade no esquema entre linhas | Esquema em carga |
Taxa de transferência | Milhões de leituras e gravações por segundo | Milhares de leituras e gravações por segundo | ||
transações | Nenhum | Fornece suporte ACID em apenas uma única linha | Fornece multi-linha e tabela cruzada suporte transacional withfull ACID cumprimento propriedade | |
velocidade de transação | velocidade modesta para queries- interativa rápida para tablescans completos | Rápida para interativo queries- rápida para varreduras de tabela cheia | Rápida para queries- interativo mais lento para varreduras de tabela cheia | |
tamanho típico | Varia de terabytes para petabytes (de centenas de bilhões millionsto de linhas) | De gigabytes a terabytes (de centenas de milhares de tomillions de linhas) |