Atualmente, os insights devem ser entregues imediatamente, e o espaço de análise em tempo real está evoluindo para atender a essa demanda. Não apenas com fornecedores estabelecidos, mas também com fornecedores mais novos e mais ágeis entrando no mercado.
A empresa moderna é, ou aspira ser, orientada por insights. Anteriormente, esses insights podiam ser encontrados em um data warehouse ou data lake, que era preenchido com feeds programados e analistas que trabalhavam arduamente neles. Os feeds tinham muita largura de banda, mas muita latência. Considere um caminhão de 18 rodas transportando discos rígidos de Londres para Birmingham.
Uma arquitetura modelo
Para realizar a arquitetura de dados, quatro conjuntos principais de requisitos devem ser atendidos.
Exploração de Transformação de Transporte de Captura
Estes geram vários desafios em tempo real.
Capturar
O requisito agora é capturar e processar continuamente fluxos de dados ou receber e processar mensagens. Mas como os dados acabam em fluxos em primeiro lugar?
O Change Data Capture permite que você obtenha dados para estilos de análise em tempo real de uma das três maneiras:
Os logs são verificados e os gatilhos são consultados.
A digitalização de registros é o método menos invasivo. Outras opções têm problemas reais para lidar, especificamente contenção em sistemas operacionais. A captura de exclusões é difícil e, em sua essência, ainda é um processo em lote.
Os provedores de CDC, além dos principais fornecedores, incluem:
Debezium é uma solução de código aberto baseada no Kafka Connect. Conectando-se aos tradicionais RDMSs, Mongo e Vitesse. Ele publica eventos no Kafka para transporte usando a verificação de log.
Fluxo do estuário. Além disso, é de código aberto e emprega uma abordagem baseada em log. Fornecendo conectores em tempo real escritos nativamente para plataformas de tecnologia de “alta escala”. Destinos compatíveis, como filas Firebolt SnowFlake, BigQuery e Kafka. É uma opção viável de fornecimento de dados.
O HVR da FiveTran, um serviço pago gerenciado, também emprega CDC baseado em log e sua própria tecnologia de replicação, onde o acesso ao log é restrito.
Striim é uma plataforma completa de integração Cloud SaaS com preços competitivos. Os dados são transmitidos para qualquer coletor em qualquer plataforma de nuvem usando o CDC. O Striim emprega CDC baseado em log e um padrão de lote incremental com valores incrementados e carimbos de data/hora via JDBC.
Após a captura e afastando-se das principais plataformas de nuvem, outras opções para movimentação de dados em tempo real incluem:
Apache O padrão é Franz Kafka. Código aberto, tolerante a falhas e altamente disponível. Tem altos requisitos de administração e deve ser configurado com cuidado. No entanto, tem um desempenho admirável quando feito assim. As principais plataformas como Twitter, Spotify e Netflix, bem como grandes instituições financeiras, o utilizam.
RedPanda é uma plataforma especializada para streaming de evento binário único. Possui uma API compatível com Kafka, mas não requer a infraestrutura exigida pelo Kafka, como Zookeeper ou JVM. É um log de eventos tolerante a falhas que distingue entre produtores e consumidores de eventos e oferece suporte nativo a registros de esquema e proxies http. Ao contrário do Kafka, que requer vários binários para executar a mesma função. Ele também tem um desempenho excepcional e pode ser implantado em “bare metal”, se necessário. Ele também pode ser executado como um serviço gerenciado, bem como em sua própria nuvem ou local.
O Confluent é uma plataforma de streaming de alta disponibilidade escalável e sem servidor que envolve o Kafka. É possível expandir com manutenção mínima conectando-se da origem ao destino usando o Kafka Connect.
Transformação
Como recurso, o T em ETL e ELT. A maioria das ferramentas mencionadas suporta alguma forma de transformação; por exemplo, as plataformas CDC HVR e Striim suportam transformação em seus pipelines, e Kafkas e Red Pandas suportam transformações simples. As opções de especialistas incluem:
Orbital (anteriormente Vyne) integra-se com fontes de streaming e batch e transforma dados de origem em coletor usando sua linguagem de taxonomia de código aberto. Como resultado, a visibilidade total de quais dados foram usados, onde e quando é fornecida no tempo de execução.
O Apache Beam é um modelo de programação de código aberto para desenvolver pipelines de dados. É a base do Apache Flink, Spark e Google Dataflow. Python, Java e Go são todos suportados. O Beam pode ser usado em tarefas de processamento paralelo e pode agrupar dados em partes menores que podem ser processadas separadamente.
O StreamSets é uma plataforma de transformação e integração de dados que funciona em várias nuvens e plataformas. Isso funciona para streaming em várias nuvens, dentro e fora do local. Emprega Kafka, mas integra-se com a maioria das plataformas.
O que acontece depois que os dados são capturados, movidos e transformados?
As ofertas Apache, como Druid e Spark, os novos líderes emergentes; Databricks e SnowFlake e outros, incluindo bancos de dados especializados em streaming como Materialize, Clickhouse ou Firebolt, são plataformas de análise importantes que funcionam com dados em tempo real. Cada um deles faz afirmações ousadas sobre escalabilidade, e a maioria deles oferece implementações sem servidor em várias nuvens. concentrando-se em especialistas;
O Materialize reconhece dados de streaming assíncronos e cria exibições à medida que recebe mais informações. As consultas executadas anteriormente estão sendo atualizadas. Ele salva os resultados da consulta e os incrementa à medida que novos dados chegam, em vez de recomeçar toda vez que é chamado. Isso permite que consultas complexas sejam respondidas em frações de segundo.
Clickhouse é um banco de dados OLAP baseado em nuvem orientado a colunas. Um design orientado a colunas permite que os dados sejam lidos de forma rápida e econômica em termos de desempenho.
O Firebolt é mais um data lake escalável baseado em nuvem criado no Amazon S3. Ele converte vários formatos de arquivo em seu próprio formato F3, otimizado para velocidade de recuperação. É extremamente personalizável, ajustável e gerenciável, com um número impressionante de estudos de caso comparativos e um ecossistema saudável para conectores.
Os grandes fornecedores costumam ser um bom ponto de partida porque fornecem recursos completos de ponta a ponta para análises em tempo real. Existem, no entanto, muitas opções para quem procura ofertas mais especializadas. Opções para fornecer capacidade de análise em tempo real que são tão escaláveis, de alto desempenho e atraentes quanto os grandes players.