Editar

Processamento e análise de dados geoespaciais

Azure Data Factory
Azure Data Lake Storage
Azure Database for PostgreSQL
Azure Databricks
Azure Event Hubs

Este artigo descreve uma solução gerenciável para disponibilizar grandes volumes de dados geoespaciais para análise.

Arquitetura

Diagrama de arquitetura mostrando como os dados geoespaciais fluem através de um sistema do Azure. Vários componentes recebem, processam, armazenam, analisam e publicam os dados.

Baixe um arquivo Visio desta arquitetura.

O diagrama contém várias caixas cinzentas, cada uma com um rótulo diferente. Da esquerda para a direita, os rótulos são Ingerir, Preparar, Carregar, Servir e Visualizar e explorar. Uma caixa final por baixo das outras tem a etiqueta Monitor e segura. Cada caixa contém ícones que representam vários serviços do Azure. As setas numeradas conectam as caixas da maneira que as etapas descrevem na explicação do diagrama.

Fluxo de Trabalho

  1. Os dados da IoT entram no sistema:

    • Os Hubs de Eventos do Azure ingerem fluxos de dados da IoT. Os dados contêm coordenadas ou outras informações que identificam a localização dos dispositivos.
    • Os Hubs de Eventos usam o Azure Databricks para processamento de fluxo inicial.
    • Os Hubs de Eventos armazenam os dados no Armazenamento do Azure Data Lake.
  2. Os dados SIG entram no sistema:

    • O Azure Data Factory ingere dados SIG raster e dados SIG vetoriais de qualquer formato.

      • Os dados raster consistem em grades de valores. Cada valor de pixel representa uma característica como a temperatura ou elevação de uma área geográfica.
      • Os dados vetoriais representam características geográficas específicas. Vértices, ou localizações geométricas discretas, compõem os vetores e definem a forma de cada objeto espacial.
    • O Data Factory armazena os dados no Armazenamento Data Lake.

  3. Os clusters Spark no Azure Databricks usam bibliotecas de código geoespacial para transformar e normalizar os dados.

  4. O Data Factory carrega os dados vetoriais e raster preparados no Banco de Dados do Azure para PostgreSQL. A solução utiliza a extensão PostGIS com esta base de dados.

  5. O Data Factory carrega os dados vetoriais e raster preparados no Azure Data Explorer.

  6. O Banco de Dados do Azure para PostgreSQL armazena os dados GIS. As APIs disponibilizam esses dados em formatos padronizados:

    • GeoJSON é baseado em JavaScript Object Notation (JSON). GeoJSON representa características geográficas simples e suas propriedades não espaciais.
    • Texto conhecido (WKT) é uma linguagem de marcação de texto que representa objetos de geometria vetorial.
    • Os blocos vetoriais são pacotes de dados geográficos. Seu formato leve melhora o desempenho do mapeamento.

    Um cache Redis melhora o desempenho fornecendo acesso rápido aos dados.

  7. O recurso Aplicativos Web do Serviço de Aplicativo do Azure funciona com o Azure Maps para criar elementos visuais dos dados.

  8. Os usuários analisam os dados com o Azure Data Explorer. As funcionalidades SIG desta ferramenta criam visualizações perspicazes. Exemplos incluem a criação de gráficos de dispersão a partir de dados geoespaciais.

  9. O Power BI fornece relatórios personalizados e business intelligence (BI). O visual do Azure Maps para Power BI destaca a função dos dados de localização nos resultados de negócios.

Ao longo do processo:

  • O Azure Monitor coleta informações sobre eventos e desempenho.
  • O Log Analytics executa consultas nos logs do Monitor e analisa os resultados.
  • O Azure Key Vault protege senhas, cadeias de conexão e segredos.

Componentes

  • Os Hubs de Eventos do Azure são uma plataforma de streaming totalmente gerenciada para big data. Esta plataforma como serviço (PaaS) oferece um modelo de consumidor particionado. Vários aplicativos podem usar esse modelo para processar o fluxo de dados ao mesmo tempo.

  • O Azure Data Factory é um serviço de integração que funciona com dados de armazenamentos de dados diferentes. Você pode usar essa plataforma totalmente gerenciada e sem servidor para criar, agendar e orquestrar fluxos de trabalho de transformação de dados.

  • O Azure Databricks é uma plataforma de análise de dados. Seus clusters Spark totalmente gerenciados processam grandes fluxos de dados de várias fontes. O Azure Databricks pode transformar dados geoespaciais em grande escala para uso em análises e visualização de dados.

  • O Data Lake Storage é um data lake escalável e seguro para cargas de trabalho de análise de alto desempenho. Esse serviço pode gerenciar vários petabytes de informações enquanto sustenta centenas de gigabits de taxa de transferência. Os dados normalmente vêm de várias fontes heterogêneas e podem ser estruturados, semiestruturados ou não estruturados.

  • O Banco de Dados do Azure para PostgreSQL é um serviço de banco de dados relacional totalmente gerenciado baseado na edição da comunidade do mecanismo de banco de dados PostgreSQL de código aberto.

  • PostGIS é uma extensão para a base de dados PostgreSQL que se integra com servidores GIS. O PostGIS pode executar consultas de localização SQL que envolvem objetos geográficos.

  • O Redis é um armazenamento de dados na memória de código aberto. Os caches Redis mantêm os dados acessados com frequência na memória do servidor. Os caches podem, então, processar rapidamente grandes volumes de solicitações de aplicativos que usam os dados.

  • O Power BI é uma coleção de serviços de software e aplicativos. Você pode usar o Power BI para conectar fontes de dados não relacionadas e criar visuais delas.

  • O visual do Azure Maps para Power BI fornece uma maneira de aprimorar mapas com dados espaciais. Você pode usar esse visual para mostrar como os dados de localização afetam as métricas de negócios.

  • O Serviço de Aplicativo do Azure e seu recurso de Aplicativos Web fornecem uma estrutura para criar, implantar e dimensionar aplicativos Web. A plataforma do Serviço de Aplicativo oferece manutenção de infraestrutura integrada, patches de segurança e dimensionamento.

  • As APIs de dados SIG no Azure Maps armazenam e recuperam dados de mapa em formatos como GeoJSON e mosaicos vetoriais.

  • O Azure Data Explorer é um serviço de análise de dados rápido e totalmente gerenciado que pode trabalhar com grandes volumes de dados. Este serviço focava-se originalmente em séries cronológicas e análise de registos. Agora também lida com diversos fluxos de dados de aplicativos, sites, dispositivos IoT e outras fontes. A funcionalidade geoespacial no Azure Data Explorer fornece opções para renderizar dados de mapa.

  • O Azure Monitor coleta dados sobre ambientes e recursos do Azure. Essas informações de diagnóstico são úteis para manter a disponibilidade e o desempenho. Duas plataformas de dados compõem o Monitor:

  • O Log Analytics é uma ferramenta do portal do Azure que executa consultas nos dados de log do Monitor. O Log Analytics também fornece recursos para gráficos e análise estatística dos resultados da consulta.

  • O Key Vault armazena e controla o acesso a segredos como tokens, senhas e chaves de API. O Cofre de Chaves também cria e controla chaves de criptografia e gerencia certificados de segurança.

Alternativas

  • Em vez de desenvolver suas próprias APIs, considere usar Martin. Este servidor de mosaico de código aberto disponibiliza mosaicos vetoriais para aplicações Web. Escrito em Rust, Martin se conecta a tabelas PostgreSQL. Você pode implantá-lo como um contêiner.

  • Se o seu objetivo é fornecer uma interface padronizada para dados GIS, considere usar o GeoServer. Esta estrutura aberta implementa protocolos Open Geospatial Consortium (OGC) padrão da indústria, como o Web Feature Service (WFS). Também se integra com fontes de dados espaciais comuns. Você pode implantar o GeoServer como um contêiner em uma máquina virtual. Quando aplicativos Web personalizados e consultas exploratórias são secundários, o GeoServer fornece uma maneira direta de publicar dados geoespaciais.

  • Várias bibliotecas do Spark estão disponíveis para trabalhar com dados geoespaciais no Azure Databricks. Esta solução utiliza estas bibliotecas:

    Mas também existem outras soluções para processar e dimensionar cargas de trabalho geoespaciais com o Azure Databricks.

  • Os mosaicos vetoriais fornecem uma forma eficiente de apresentar dados SIG em mapas. Esta solução utiliza PostGIS para consultar dinamicamente mosaicos vetoriais. Essa abordagem funciona bem para consultas simples e conjuntos de resultados que contêm bem menos de 1 milhão de registros. Mas, nos seguintes casos, uma abordagem diferente pode ser melhor:

    • Suas consultas são computacionalmente caras.
    • Seus dados não mudam com frequência.
    • Você está exibindo grandes conjuntos de dados.

    Nessas situações, considere o uso de Tippecanoe para gerar telhas vetoriais. Você pode executar o Tippecanoe como parte do seu fluxo de processamento de dados, como um contêiner ou com o Azure Functions. Você pode disponibilizar os blocos resultantes por meio de APIs.

  • Como os Hubs de Eventos, o Hub IoT do Azure pode ingerir grandes quantidades de dados. Mas o Hub IoT também oferece recursos de comunicação bidirecional com dispositivos. Se você receber dados diretamente de dispositivos, mas também enviar comandos e políticas de volta para dispositivos, considere o Hub IoT em vez de Hubs de Eventos.

  • Para simplificar a solução, omita estes componentes:

    • Azure Data Explorer
    • Power BI

Detalhes do cenário

Existem muitas possibilidades para trabalhar com dados geoespaciais, ou informações que incluam um componente geográfico. Por exemplo, o software e as normas dos sistemas de informação geográfica (SIG) estão amplamente disponíveis. Essas tecnologias podem armazenar, processar e fornecer acesso a dados geoespaciais. Mas muitas vezes é difícil configurar e manter sistemas que trabalham com dados geoespaciais. Você também precisa de conhecimento especializado para integrar esses sistemas com outros sistemas.

Este artigo descreve uma solução gerenciável para disponibilizar grandes volumes de dados geoespaciais para análise. A abordagem baseia-se na Arquitetura de Referência do Advanced Analytics e utiliza estes serviços do Azure:

  • O Azure Databricks com bibliotecas do GIS Spark processa dados.
  • O Banco de Dados do Azure para PostgreSQL consulta dados que os usuários solicitam por meio de APIs.
  • O Azure Data Explorer executa consultas exploratórias rápidas.
  • O Azure Maps cria elementos visuais de dados geoespaciais em aplicações Web.
  • O recurso visual do Power BI do Azure Maps do Power BI fornece relatórios personalizados

Potenciais casos de utilização

Esta solução aplica-se a muitas áreas:

  • Processamento, armazenamento e fornecimento de acesso a grandes quantidades de dados raster, como mapas ou dados climáticos.
  • Identificação da posição geográfica das entidades do sistema de planeamento de recursos empresariais (ERP).
  • Combinação de dados de localização de entidades com dados de referência SIG.
  • Armazenamento de telemetria da Internet das Coisas (IoT) a partir de dispositivos em movimento.
  • Execução de consultas geoespaciais analíticas.
  • Incorporação de dados geoespaciais curados e contextualizados em aplicações Web.

Considerações

As considerações a seguir, baseadas no Microsoft Azure Well-Architected Framework, aplicam-se a esta solução.

Disponibilidade

Escalabilidade

A implementação desta solução cumpre as seguintes condições:

  • Processa até 10 milhões de conjuntos de dados por dia. Os conjuntos de dados incluem eventos em lote ou streaming.
  • Armazena 100 milhões de conjuntos de dados em um Banco de Dados do Azure para banco de dados PostgreSQL.
  • Consulta 1 milhão ou menos de conjuntos de dados ao mesmo tempo. Um máximo de 30 usuários executam as consultas.

O ambiente usa esta configuração:

  • Um cluster do Azure Databricks com quatro nós de trabalho F8s_V2.
  • Uma instância otimizada para memória do Banco de Dados do Azure para PostgreSQL.
  • Um plano do Serviço de Aplicativo com duas instâncias S2 padrão.

Considere estes fatores para determinar quais ajustes fazer para sua implementação:

  • A sua taxa de ingestão de dados.
  • O seu volume de dados.
  • O volume da sua consulta.
  • O número de consultas paralelas que você precisa suportar.

Você pode dimensionar componentes do Azure independentemente:

O recurso de dimensionamento automático do Monitor também fornece funcionalidade de dimensionamento. Você pode configurar esse recurso para adicionar recursos para lidar com aumentos de carga. Também pode remover recursos para poupar dinheiro.

Segurança

A segurança oferece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte Visão geral do pilar de segurança.

Otimização de custos

A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.

  • Para estimar o custo de implementação dessa solução, consulte um exemplo de perfil de custo. Este perfil é para uma única implementação do ambiente descrito em Considerações de escalabilidade. Ele não inclui o custo do Azure Data Explorer.
  • Para ajustar os parâmetros e explorar o custo de execução dessa solução em seu ambiente, use a calculadora de preços do Azure.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

Próximos passos

Documentação do produto:

Para começar a implementar esta solução, consulte estas informações:

Informações sobre o processamento de dados geoespaciais