A arquitetura de dados headless é uma emergência orgânica da separação do armazenamento, gerenciamento, otimização e acesso de dados dos serviços que os escrevem, processam e consultam. Com essa arquitetura, você pode gerenciar seus dados de um único local lógico, incluindo permissões, evolução de esquema e otimizações de tabela. E, para completar, torna a conformidade regulatória muito mais simples, porque seus dados residem em um só lugar, em vez de serem copiados para cada mecanismo de processamento que precisa deles.
Nós chamamos isso de arquitetura de dados “headless” por causa de sua similaridade com um “servidor headless”, onde você tem que usar seu próprio monitor e teclado para fazer login. Se você quiser processar ou consultar seus dados em uma arquitetura de dados headless, você terá que trazer seu próprio processamento ou consulta “head” e conectá-lo aos dados — por exemplo, Trino, Presto, Apache Flink ou Apache Spark.
Uma arquitetura de dados headless pode abranger vários formatos de dados, com fluxos de dados e tabelas como os dois mais comuns. Os fluxos fornecem acesso de baixa latência a dados incrementais, enquanto as tabelas fornecem recursos eficientes de consulta em massa. Juntos, eles oferecem a flexibilidade de escolher o formato mais adequado para seus casos de uso, seja operacional, analítico ou algo entre os dois.
Primeiro, vamos dar uma olhada no streaming na arquitetura de dados headless.