8 ferramentas de Engenharia de Dados que ninguém te conta

E um bonus, claro :)

Allan Sene
Data Hackers
8 min readOct 14, 2019

--

Photo by Barn Images on Unsplash

Meu amigo Paulo Vasconcellos sempre lança uma série tão legal, que resolvi copiar na tor… quer dizer, me inspirar pra fazer esse post! hahaha

Engenharia de Dados é uma parada tão nova, que ainda falta muito recurso na internet sobre o conceito e, principalmente, quais ferramentas utilizar para cada problema que o big data te traz no dia a dia.

Se você é da comunidade, provavelmente já conhece algumas delas. Abaixo, listo 8 ferramentas incríveis, cada uma em uma vertente diferente do Data Engineering que vai fazer seu "Big Data" nem parecer tão big assim…

Dremio — Data Lake Engine

Se você acha que necessita de todo um ecossistema Hadoop pra construir e cuidar do seu Lake, você tá ficando pra trás. O Dremio se posiciona hoje como um "Data Lake Engine", utilizando-se de vários projetos open-source de dados como Apache Parquet e Apache Arrow, pra entregar um motor de acesso a dados estruturados e desestruturados numa velocidade incrível. Ele ainda faz a persistência dos dados em um storage distribuído, como o S3 ou GFS de forma otimizada.

Tela do Dremio, com conexões e tabelas

Dessa forma, ele fica entre diversas fontes de dados, do Mongo ao Oracle, do CSV ao Parquet e as mais diversas ferramentas de visualização como Tableau, Power BI e até Python, via ODBC.

Apesar de ser relativamente nova, Dremio já é utilizado, por exemplo, no Paypal, processando terabytes de dados todos os dias, com mais de mil nós. Tem versão open-source e também enterprise. Se quiser saber um pouco mais sobre ele, só acessar esse artigo.

DBT — Data Orquestration

Tela de Documentação e Catálogo de Dados do DBT

DBT é um orquestrador com um conceito muito interessante: ele utiliza-se da força dos MPPs — como Redshift, BigQuery e Snowflake — para realizar todas as transformações mais comuns necessárias para construção de um DW. Como eles mesmos afirmam, com um SQL com Esteróides, dá o poder de disponibilização de dados aos analistas, dando a sonhada independência dos engenheiros pra fazer seus ETLs complexos, mas sem gambiarra! Está com uma rede de parceiros e ecossistema cada vez mais forte, fazendo um belo casamento com soluções de ponta de dados, como Stitch e Fivetran.

DAG das transformações de um fluxo no DBT

Tem API, Data Lineage e Catálogo, é realmente uma ferramenta ultra completa! Também tem a versão open-source e enterprise (cloud, totalmente gerenciado e on-premises).

Apache NiFi — Data ETL in Streaming

O NiFi é um monstro! "Spin-off" do Niagara Files, projeto da polêmica NSA — Agência de Segurança Nacional dos EUA — é uma plataforma que orquestra, transforma, coleta e entrega grandes volumes de dados em streaming em altíssima performance. Por meio dos seus Processors diversos, você consegue desde ler arquivos do S3, fazer mascaramento de dados sensíveis e até consumir dados de um dispositivo IoT, usando o MiNiFi. Inclusive, você pode construir seus próprios processors, se alguém já não tiver construído, pois a comunidade tem CENTENAS deles.

Exemplo de fluxo no NiFi.

Um dos grandes prós do NiFi é manter a proveniência dos dados em uma só plataforma, dando uma garantia insuperável de consistência e compliance.

Seus clusteres funcionam em qualquer plataforma de VMs, on-premises ou cloud e é um projeto open-source.

Snowplow — Event/Data Collection

O maior desafio a ser enfrentado por startups de produtos digitais é entender seus clientes. Coletar e processar eventos de seus Apps/WebApps é um passo fundamental para tal. O Snowplow surgiu pra resolver esse problema! Com uma solução que vai desde o script js que lança os eventos nos apps, até a engine que filtra e agrega tais dados para análise, ele te dá todo o poder sobre os dados se seus clientes.

Esquema mostrando como funciona o Snowplow.

Junta dados de GA, Facebook Ads, Mixpanel e muitas outras ferramentas em tempo-real, acabando com a descentralização e consequente desencontro de informações analíticas. É utilizado no Brasil por startups de renome, com grande número de usuários como GetNinjas e PebMed.

Também tem o open-source e a solução enterprise.

Metabase — Data Visualization

O que falar desse cara? Metabase é uma das ferramentas mais amadas de toda comunidade! Faz frente — e até ganha em muitos aspectos — às ferramentas mais famosas de analytics como Tableau e Power BI.

Exemplo de exploração de dados com sumarização

Muito simples de usar, ganhou a fama por facilitar a democratização de dados, deixando os usuários livres pra fazerem as mais diversas análises, sem ajuda de um mestre em SQL. Tem um baita dicionário de dados, conecta em fontes muito diversas, de bancos SQL, NoSQL e até no SparkSQL.

Exemplo de exploração sugerida no X-Ray do Metabase

Metabase tem integração com o Slack, com um bot inteligente, o Metabot, entregando os relatórios diretamente no seu chat corporativo, também via email. Tem funcionalidades de Advanced Analytics, como o X-Rays, que sugerem automaticamente análises e gráficos sem nenhuma intervenção humana, usando inteligência artificial. Além de um dicionário de dados super intuitivo, que facilita ainda mais o seu uso pra pessoas não-expert em dados!

Sua documentação é incrível! É open-source! Se quiser saber um pouquinho mais sobre e como implantar em produção, leia esse post.

Amazon Macie — Data Privacy (LGPD/GDPR)

LGPD/GDPR é uma das maiores preocupações das organizações hoje. O que muita gente não sabe, é que a própria AWS disponibiliza uma ferramenta muito eficiente e parruda para tratar qualquer vulnerabilidade no seu Data Lake: o Amazon Macie.

Tela de Alertas de vulnerabilidades do Macie.

Apesar de pouco conhecido, o Macie não te deixa na mão quando o assunto é privacidade. Ele utiliza Machine Learning para identificar dados sensíveis, como números de identificação pessoal (SSN, CPF, e outros padrões conhecidos). Além disso, ele também usa IA para identificar possíveis brechas, que podem resultar em vazamento de dados. É totalmente integrado com a API da AWS e também os principais repositórios de dados, como S3, RDS e Redshift.

É utilizado por gigantes como Autodesk e Netflix. Não é open-source e seu preço é um pouquinho salgado (mas não mais que aquela multa que sua organização pode receber se não seguir as novas regras né).

Amundsen — Data Discovery and Catalog

Com o crescimento do volume e diversidade de fontes de dados, é essencial ter ferramentas de Democratização de Dados dentro das organizações. O Amundsen veio pra resolver esse problema. Ele é uma plataforma que ajuda a exploração e entendimento de datasets diversos. É composto basicamente por 4 componentes:

  • Frontend Service: um front (uma aplicação MVC, de fato, em Python) bonito e inteligível, por onde os usuários podem buscar, explorar, dar notas e documentar seus datasets preferidos.
  • Metadata Service: serviço que registra os datasets e metadados em formato relacional, utilizando-se de grafos (usa o Neo4J como padrão).
  • Search Service: serviço que salva os metadados para busca textual livre, utilizando o ElasticSearch por trás.
  • Data Builder: Serviço responsável por "crawlear" os metadados das fontes. Conecta nos mais diversos bancos/catálogos, do Postgres ao Hive. Inclusive, pode rodar dentro do Apache Airflow, como uma DAG.
Exemplo de catálogo de uma tabela no Amundsen.

Apesar de ser um projeto muito recente, o Amundsen já vem sido utilizado por grandes empresas como Workday, ING e Square, entre outras.

Pra saber mais dessa ferramenta e sua cultura, leia esse post dos mantenedores do projeto. Atualmente só tem a versão open-source.

Debezium — Change Data Capture

Com o volume gigantesco de dados, até em bancos transacionais, é totalmente inviável as abordagens mais tradicionais de coleta desses dados, como fazer full load toda noite ou ficar fazendo scripts de ETL que batem na camada transacional para pegar a diferença dos dados de um dia para outro. O Debezium foi a primeira solução de CDC — Change Data Capture — a aparecer.

Um CDC conecta-se a camada de logs e cria eventos conforme as transações de insert, update e delete acontecem no banco. Assim, ele não sobrecarrega o banco com selects para pegar as alterações e replica os eventos de transação. O maior pró do Debezium é justamente poder conectar esses eventos a sistemas de Streaming, como o Kafka.

Funciona com Postgres e MySQL. É open-source! Pra saber mais sobre CDC e suas vantagens, leia este post.

BONUS: NAZAR

E como deixar de fora essa ferramenta sensacional desenvolvida por BRAZUCAS que mais entendem de bancos transacionais no mundo??? O NAZAR, é uma ferramenta que detecta diversas ofensas no seu banco de dados, do MySQL ao Oracle. Te entrega features como:

  • Identificação de Slow Queries e outras queries ofensivas
  • Análise de Carga e Conexões no banco
  • Alertas via Slack
  • Identificação de locks

Funciona no on-premises ou cloud. Não é caro que nem NewRelic e DataDog e funciona melhor que os monitoramentos capengas do CloudWatch! (zoa AWS ❤ rsrsrs)

Todas essas ferramentas são battle-tested em diversos de nossos projetos na Data Sprints, de projetos para VC-Backed Startups a grandes corporações, da indústria ao financeiro, com resultados realmente incríveis.

E você? Qual ferramenta tem usado secretamente pra fatiar os dados? Comente aí! Se curtiu, deixe suas palmas e não esqueça de seguir o blog. Até a próxima!

--

--

Allan Sene
Data Hackers

CTO | Lead Data Engineer | Co-Founder of Data Hackers and Dadosfera. Loves science, code and cats ^*^