Slide 1: Apache Drill
Cárlisson Galdino
< bardo@carlissongaldinoSEMSPAM.com.br>
Slide 2: Conteúdo
Apache Drill
Slide 1: Apache Drill
Slide 2: Conteúdo
Slide 3: O que diz a Wikipedia
Slide 4: Tipo assim…
Slide 5: O que diz o Marketing
Slide 6: E o que é o Drill?
Slide 7: O Fluxo da Consulta
Slide 8: Raio-X do DrillBit
Slide 9: Detalhes da Flexibilidade
Slide 10: Detalhes do Desempenho
Slide 11: SQLLine
Slide 12: Referências Web
* O que diz o Marketing
Slide 3: O que diz a Wikipedia
Slide 4: Tipo assim...
Slide 5: O que diz o Marketing
Slide 6: E o que é o Drill?
Engenho de consulta para Hadoop
Mantido pela Apache Foundation (incubado)
Funciona em Linux e Mac
OS X
Roda em Java (versão mínima: JavaSE Runtime 7 Oracle)
Slide 7: O Fluxo da Consulta
JDBC, ODBC ou linha de comando.
Todos aceitam consultas. Sem conceito de mestre-escravo.
Drillbit consultado vira o motorista
Zookeeper mantém lista de nós ativos
Slide 8: Raio-X do DrillBit
RPC (+ camada de
API em C++)
SQL Parser utiliza Optiq
Otimização baseada em regras, custo, localidade, dentre outras
Lidando com Hadoop, Drill provê storage plugins para arquivos e HBase/M7
Cache utiliza a ferramenta Hazelcast
Slide 9: Detalhes da Flexibilidade
Sem esquema - Drill começa a processar os dados em unidades chamadas “record batches” e descobre os esquemas enquanto processa a busca.
Dados aninhados - Drill trata dados complexos e semiestruturados como nativos em todas as camadas do produto.
Metadados - Drill NÃO está preso a um único repositório Hive. Não exige definição de metadados, mas permite sua criação, se necessário, em SQL DDL.
Extensibilidade - para todas as camadas, incluindo plugin de armazenamento, camada de consulta, camada de otimização/execução, e APIs.
Slide 10: Detalhes do Desempenho
Execução Colunar - otimiza armazenamento colunar e execução com modelo de dados na memória, tanto hierárquico quanto colunar.
Em formato colunar, Drill evita acesso a colunas não envolvidas na consulta.
Expande o modelo colunar, com uma camada de execução que processa SQL diretamente sem materialização de tuplas e sem desaninhar dados.
Vetorização - Record Batches são vetores de valores de muitos registros diferentes.
Execução de consulta otimista e em “pipeline” - Drill assume que falhas não são frequentes
Se a consulta falha em um nó, é executada novamente
Diferente do MapReduce, Drill não persiste no disco
Usa prioritariamente a memória, só usando o disco se a memória acabar
Slide 11: SQLLine
*0: jdbc:drill:zk=local>* SELECT * FROM cp.`employee.json`;
employee_id | full_name | first_name | last_name | position_id | position_ |
1101 | Steve Eurich | Steve | Eurich | 16 | Store T |
1102 | Mary Pierson | Mary | Pierson | 16 | Store T |
1103 | Leo Jones | Leo | Jones | 16 | Store Tem |
1104 | Nancy Beatty | Nancy | Beatty | 16 | Store T |
1105 | Clara McNight | Clara | McNight | 16 | Store |
1106 | Marcella Isaacs | Marcella | Isaacs | 17 | Stor |
1107 | Charlotte Yonce | Charlotte | Yonce | 17 | Stor |
1,155 rows selected (0.762 seconds)
*0: jdbc:drill:zk=local>*
Slide 12: Referências Web
Projetos
Apache Drill
Apache ZooKeeper
Optiq
Hazelcast
Outros
* A criatura do primeiro slide é um Beedrill, personagem da GameFreak/Nintendo.
O que diz o Marketing
Arquitetura Flexível e Extensível - APIs e interfaces bem documentadas permitem rápidas adições de novas fontes de dados e formatos de arquivo. Novos operadores e linguagens de consulta também são fáceis de adicionar ao Drill.
Consulta Interativa em Escala - Apache Drill fornece consultas de baixa latência de várias fontes de dados diferentes, incluindo dados aninhados. Inspirado pelo Dremel da Google, Drill se destina a escala de 10.000 servidores e consultar petabytes de dados em segundos.
Velocidade é a Chave - Utilizando um formato eficiente de armazenamento colunar, um mecanismo de execução otimista e um layout de memória cache-consciente, Apache Drill é rápido pra caramba. Coordenação, planejamento de consulta, otimização, agendamento e execução são todos distribuídos ao longo de nós em um sistema para maximizar a paralelização.bro
Libera Dados Aninhados - Realiza análise interativa em todos os seus dados, incluindo aninhados e schema-less. Drill suporta consulta por muitas fontes de dados schema-less diferentes incluindo HBase, Cassandra e MongoDB. Naturalmente, registros planos estão incluídos como um caso especial de dados aninhados.
Flexibilidade - Níveis e APIs fortemente definidos para integração direta com um vasto leque de tecnologias.
– CarlissonGaldino - 30 Jun 2014