Análise de dados

马上开始. 它是免费的哦
注册 使用您的电邮地址
Análise de dados 作者: Mind Map: Análise de dados

1. Lake Formation

1.1. Definição

1.1.1. serviço que facilita a criação, gerenciamento e segurança de data lakes na AWS, permitindo que empresas coletem, limpem e cataloguem dados de diversas fontes para análise e machine learning.

1.2. O que faz

1.2.1. Automatiza a configuração de um data lake seguro.

1.2.2. Coleta, transforma e classifica dados vindos de fontes como Amazon S3, bancos de dados e fluxos de dados em tempo real.

1.2.3. Gerencia permissões de acesso centralizadas com controle refinado de segurança.

1.2.4. Integra-se com serviços como AWS Glue, Athena, Redshift Spectrum e QuickSight para consultas e visualizações.

1.3. Características

1.3.1. Gerenciamento Centralizado

1.3.1.1. Define e aplica políticas de segurança e governança em todo o data lake.

1.3.2. Automação de Ingestão

1.3.2.1. Permite a ingestão e transformação de dados de forma eficiente.

1.3.3. Catálogo de Dados

1.3.3.1. Cria um catálogo unificado que facilita consultas rápidas e estruturadas.

1.3.4. Controle de Acesso Granular

1.3.4.1. Usa políticas baseadas em IAM e AWS Glue para definir permissões detalhadas.

1.3.5. Integração Nativa com AWS Analytics

1.3.5.1. Funciona junto com serviços como Glue, Athena, EMR, Quicksight e Redshift Spectrum.

1.4. Quando usar

1.4.1. Quando há necessidade de consolidar grandes volumes de dados estruturados e não estruturados em um único repositório.

1.4.2. Para empresas que precisam de governança de dados robusta com permissões refinadas.

1.4.3. Quando se deseja reduzir a complexidade na criação e gerenciamento de um data lake.

1.4.4. Para análise de dados distribuídos em múltiplos serviços e formatos de armazenamento.

2. Managed Streaming for Apache Kafka (Amazon MSK)

2.1. Definição

2.1.1. serviço gerenciado da AWS que facilita a execução e o gerenciamento do Apache Kafka, uma plataforma de streaming de eventos open-source amplamente utilizada para processar e transmitir grandes volumes de dados em tempo real.

2.2. O que faz

2.2.1. Permite a criação, configuração e operação de clusters Apache Kafka totalmente gerenciados.

2.2.2. Automatiza tarefas como provisionamento, configuração, atualizações e monitoramento.

2.2.3. Garante alta disponibilidade e escalabilidade sem precisar gerenciar a infraestrutura subjacente.

2.2.4. Integra-se com outros serviços da AWS, como AWS Lambda, Amazon S3, Amazon Redshift e AWS Glue.

2.3. Características

2.3.1. Gerenciamento automatizado

2.3.1.1. A AWS cuida da instalação, manutenção e operações do Kafka.

2.3.2. Alta disponibilidade e escalabilidade

2.3.2.1. Replica os dados em múltiplas zonas de disponibilidade (AZs) para maior resiliência.

2.3.3. Alta disponibilidade e escalabilidade

2.3.3.1. Suporte a AWS IAM, criptografia em trânsito e em repouso, além de integração com AWS PrivateLink.

2.3.4. Monitoramento integrado

2.3.4.1. Suporte ao Amazon CloudWatch, AWS CloudTrail e AWS Config para rastreamento de logs e métricas.

2.3.5. Compatibilidade total com Kafka

2.3.5.1. Pode ser usado com ferramentas e clientes já existentes do Kafka.

2.4. Quando usar

2.4.1. Quando há necessidade de processamento de dados em tempo real para aplicações distribuídas.

2.4.2. Para arquiteturas de event-driven e microservices que exigem comunicação assíncrona entre sistemas.

2.4.3. Para log analytics, monitoramento de eventos, clickstream analysis e outros casos de uso que demandam ingestão e análise contínua de dados.

2.4.4. Quando se deseja utilizar Apache Kafka sem precisar gerenciar clusters manualmente.

3. OpenSearch Service

3.1. Definição

3.1.1. Serviço gerenciado da AWS para análise e busca de dados em tempo real, baseado no OpenSearch e no Elasticsearch.

3.2. O que faz

3.2.1. Permite armazenar, indexar, pesquisar e visualizar grandes volumes de dados rapidamente. Usado principalmente para logs, monitoramento, análise de segurança e busca em aplicações.

3.3. Características

3.3.1. Totalmente gerenciado, reduzindo a necessidade de manutenção manual.

3.3.2. Suporte a OpenSearch Dashboards e Kibana para visualização de dados.

3.3.3. Integração com AWS Kinesis, CloudWatch, S3 e outros serviços para ingestão de dados.

3.3.4. Alta disponibilidade e escalabilidade com suporte a Multi-AZ.

3.3.5. Controle de acesso via AWS IAM e políticas de segurança.

3.4. Quando usar

3.4.1. Para analisar logs de aplicações e infraestrutura (ex.: logs do CloudWatch, VPC Flow Logs).

3.4.2. Implementar buscas eficientes em aplicações e sites.

3.4.3. Monitoramento e análise de segurança para detecção de anomalias.

3.4.4. Visualização de dados para análise em tempo real.

4. QuickSight

4.1. Definição

4.1.1. serviço de Business Intelligence (BI) totalmente gerenciado que permite a criação de painéis interativos e visualização de dados para análise.

4.2. O que faz

4.2.1. Permite conectar-se a diversas fontes de dados, incluindo AWS (como S3, Redshift, RDS) e externas (como bancos de dados SQL e arquivos CSV/Excel).

4.2.2. Gera painéis interativos e relatórios com insights baseados em Machine Learning.

4.2.3. Oferece recursos como detecção de anomalias, previsões e processamento em tempo real.

4.2.4. Pode ser integrado com serviços como AWS Athena, Glue e Lake Formation para análise de grandes volumes de dados.

4.3. Características

4.3.1. Serviço totalmente gerenciado, sem necessidade de configurar infraestrutura.

4.3.2. Escalável, permitindo análise de grandes volumes de dados.

4.3.3. Suporte a dashboards interativos e compartilháveis.

4.3.4. Permite consultas usando SQL ou SPICE (Super-fast, Parallel, In-memory Calculation Engine).

4.3.5. Integração nativa com AWS e suporte a Single Sign-On (SSO).

4.3.6. Recursos de aprendizado de máquina para insights automatizados.

4.4. Quando usar

4.4.1. Quando há necessidade de criar relatórios interativos e dashboards dinâmicos.

4.4.2. Para análise de dados em tempo real de fontes armazenadas na AWS.

4.4.3. Para democratizar o acesso a dados dentro da organização sem necessidade de ferramentas complexas de BI.

4.4.4. Para substituir soluções tradicionais de BI que exigem infraestrutura e gerenciamento manual.

5. Glue

5.1. Definição

5.1.1. serviço de integração de dados totalmente gerenciado que facilita a extração, transformação e carga (ETL) de dados em um data lake ou armazém de dados na AWS.

5.2. O que faz

5.2.1. Permite a catalogação e descoberta de dados em diferentes fontes.

5.2.2. Automatiza processos ETL usando Apache Spark.

5.2.3. Fornece um catálogo de dados centralizado para consulta via serviços como Amazon Athena, Redshift e EMR.

5.2.4. Suporta integração com bancos de dados relacionais, S3, DynamoDB, entre outros.

5.3. Características

5.3.1. Gerenciado

5.3.1.1. AWS Glue elimina a necessidade de provisionar e gerenciar servidores.

5.3.2. Serverless

5.3.2.1. Você paga apenas pelo processamento usado.

5.3.3. Suporte a diferentes formatos

5.3.3.1. JSON, CSV, Avro, ORC, Parquet, entre outros.

5.3.4. Glue Data Catalog

5.3.4.1. Mantém metadados e permite consultas eficientes.

5.3.5. Glue Studio

5.3.5.1. Interface gráfica para criar pipelines ETL sem precisar codificar.

5.4. Quando usar

5.4.1. Quando precisar movimentar e transformar dados entre diferentes fontes.

5.4.2. Para automatizar e agendar pipelines ETL sem gerenciar infraestrutura.

5.4.3. Para centralizar metadados e tornar dados consultáveis com Athena ou Redshift.

5.4.4. Quando precisar processar grandes volumes de dados de forma escalável.

6. Athena

6.1. Definição

6.1.1. serviço de consulta interativa que facilita a análise de dados no Amazon S3 usando SQL padrão. Ele permite que os usuários executem consultas diretamente nos dados armazenados no S3, sem precisar mover ou carregar os dados para outro banco de dados ou data warehouse.

6.2. O que faz

6.2.1. permite que os usuários consultem grandes volumes de dados armazenados no Amazon S3 de forma rápida e econômica. Ele é totalmente gerenciado, sem necessidade de infraestrutura adicional, e cobra apenas pelas consultas executadas.

6.3. Características

6.3.1. Sem servidores

6.3.1.1. Não há necessidade de provisionar ou gerenciar servidores.

6.3.2. SQL padrão

6.3.2.1. Utiliza SQL padrão para consultas, tornando fácil para usuários com conhecimento de SQL.

6.3.3. Integração com S3

6.3.3.1. Os dados são armazenados no Amazon S3, onde são diretamente acessados e consultados pelo Athena.

6.3.4. Escalabilidade

6.3.4.1. O Athena automaticamente gerencia a escalabilidade, lidando com grandes volumes de dados sem a necessidade de ajustes manuais.

6.3.5. Custo por consulta

6.3.5.1. O custo é baseado na quantidade de dados lidos durante a execução das consultas.

6.4. Quando usar

6.4.1. Quando você precisar realizar consultas ad-hoc sobre dados no S3, sem a necessidade de configurar e manter uma infraestrutura de banco de dados.

6.4.2. Para análise de logs armazenados em S3, como logs do CloudTrail, logs de aplicações ou dados de auditoria.

6.4.3. Quando se deseja uma solução de análise de dados rápida e sem servidor, ideal para dados de diferentes formatos, como JSON, Parquet, CSV, entre outros.

7. EMR

7.1. Definição

7.1.1. serviço gerenciado da AWS que facilita o processamento e análise de grandes volumes de dados utilizando frameworks como Apache Hadoop, Apache Spark e Presto.

7.2. O que faz

7.2.1. Processa grandes quantidades de dados de forma distribuída.

7.2.2. Suporta frameworks populares para processamento de Big Data.

7.2.3. Automatiza o provisionamento, configuração e escalabilidade de clusters.

7.2.4. Integra-se com serviços da AWS, como S3, DynamoDB e Redshift.

7.3. Características

7.3.1. Escalável

7.3.1.1. Permite adicionar ou remover nós conforme necessário.

7.3.2. Gerenciado

7.3.2.1. A AWS cuida da configuração, otimização e manutenção.

7.3.3. Suporte a múltiplos frameworks

7.3.3.1. Apache Spark, Hive, HBase, Flink, entre outros.

7.3.4. Custo otimizado

7.3.4.1. Pode usar instâncias Spot para reduzir custos.

7.3.5. Armazenamento flexível

7.3.5.1. Suporta HDFS, Amazon S3 e EBS.

7.3.6. Segurança

7.3.6.1. Pode ser configurado com autenticação Kerberos, criptografia e IAM.

7.4. Quando usar

7.4.1. Quando há necessidade de processar grandes volumes de dados distribuídos.

7.4.2. Para análise de dados em tempo real ou processamento em batch.

7.4.3. Para executar cargas de trabalho de Machine Learning com Apache Spark.

7.4.4. Quando se deseja um serviço gerenciado para Big Data, sem necessidade de gerenciar clusters manualmente.

7.4.5. Para integrar análise de dados com serviços como Amazon S3, Redshift e DynamoDB.

8. Data Pipeline

8.1. Definição

8.1.1. serviço de integração e automação de fluxo de dados em nuvem, projetado para mover e processar dados entre diferentes serviços da AWS e fontes externas, sem a necessidade de gerenciar servidores.

8.2. O que faz

8.2.1. permite criar, agendar e automatizar workflows de dados. Ele orquestra o movimento e a transformação de dados entre serviços como Amazon S3, Amazon RDS, DynamoDB, Redshift e mais.

8.2.2. Você pode definir tarefas como cópias, transformações e processamento de dados, e definir sua execução com base em uma programação personalizada.

8.3. Características

8.3.1. Orquestração de Dados

8.3.1.1. Automação do fluxo de dados entre diferentes fontes e destinos.

8.3.2. Agendamento Flexível

8.3.2.1. Permite que você agende os pipelines de dados para rodarem em intervalos definidos, como horas, dias ou semanas.

8.3.3. Processamento de Dados

8.3.3.1. Suporta tarefas de transformação, como limpeza, agregação ou enriquecimento dos dados.

8.3.4. Monitoramento e Alertas

8.3.4.1. Oferece recursos para monitorar a execução de pipelines e configurar alertas para falhas.

8.3.5. Suporte a Múltiplos Serviços

8.3.5.1. Integra-se facilmente com outros serviços da AWS, como S3, RDS, DynamoDB, EMR, Redshift, entre outros.

8.3.6. Escalabilidade e Confiabilidade

8.3.6.1. Capacidade de processar grandes volumes de dados e garantir a confiabilidade do fluxo de dados.

8.4. Quando usar

8.4.1. Integração de Dados de Múltiplas Fontes

8.4.1.1. Quando você precisa mover dados entre diferentes serviços ou fontes externas, como bancos de dados relacionais ou sistemas de arquivos.

8.4.2. Automatização de Processos de ETL (Extração, Transformação, Carga)

8.4.2.1. Ideal para pipelines de ETL, onde você extrai dados de fontes, realiza transformações e carrega em bancos de dados ou data lakes.

8.4.3. Agendamento de Processos de Dados

8.4.3.1. Quando você precisa programar tarefas repetitivas, como backup de dados ou geração de relatórios.

8.4.4. Movimento de Dados em Larga Escala

8.4.4.1. Para mover grandes volumes de dados de forma eficiente entre diferentes serviços de armazenamento e computação.

9. Data Exchange

9.1. Definição

9.1.1. serviço que facilita a troca, obtenção e distribuição de dados entre empresas, fornecedores de dados e consumidores. Ele oferece uma plataforma segura e escalável para compartilhar dados de forma simples e eficiente na nuvem AWS.

9.2. O que faz

9.2.1. permite que você encontre, assine, e use conjuntos de dados de fornecedores de dados de terceiros, diretamente na sua conta AWS. Os dados podem ser de vários tipos, como financeiros, de saúde, meteorológicos, entre outros.

9.2.2. suporta a publicação de dados para empresas que querem vender ou compartilhar seus dados de maneira segura.

9.3. Características

9.3.1. Catálogo de dados

9.3.1.1. Permite explorar e descobrir conjuntos de dados de diversos fornecedores.

9.3.2. Assinatura de dados

9.3.2.1. Você pode assinar dados de fornecedores, garantindo acesso contínuo e automatizado.

9.3.3. Facilidade de integração

9.3.3.1. Integra-se facilmente com serviços AWS, como Amazon S3, para armazenamento e análise de dados.

9.3.4. Segurança

9.3.4.1. Oferece recursos de segurança, como criptografia e controle de acesso, para garantir que os dados sejam compartilhados com segurança.

9.3.5. Modelos de pagamento flexíveis

9.3.5.1. O pagamento pode ser baseado em assinatura ou por uso.

9.4. Quando usar

9.4.1. Aquisição de dados de terceiros

9.4.1.1. Quando você precisa de dados especializados de fornecedores externos para análise ou desenvolvimento de modelos preditivos.

9.4.2. Compartilhamento de dados

9.4.2.1. Para empresas que querem monetizar seus dados ou colaborar com parceiros de negócios em sua análise.

9.4.3. Facilidade de integração

9.4.3.1. Quando você precisa de uma maneira fácil de consumir e trabalhar com dados no ambiente AWS, integrando-os com serviços como Amazon S3 ou Redshift.

10. Kinesis Data Analytics

10.1. Definição

10.1.1. serviço gerenciado que permite processar e analisar fluxos de dados em tempo real usando SQL, Apache Flink e outras ferramentas de análise.

10.2. O que faz

10.2.1. Processa e analisa dados em tempo real vindos de fontes como Kinesis Data Streams e Firehose.

10.2.2. Permite a transformação, agregação e filtragem dos dados antes de serem armazenados ou consumidos por outras aplicações.

10.2.3. Suporta consultas SQL para facilitar a análise sem a necessidade de desenvolvimento complexo.

10.2.4. Integra-se com outros serviços AWS, como S3, Lambda, DynamoDB e Redshift.

10.3. Características

10.3.1. Suporte a Apache Flink, oferecendo mais flexibilidade para análises complexas.

10.3.2. Processamento sem servidor e escalável, adaptando-se automaticamente ao volume de dados.

10.3.3. Suporte a event-time processing, garantindo que os dados sejam processados com base no momento real do evento, e não no tempo de chegada.

10.3.4. Baixa latência, ideal para aplicações que exigem respostas rápidas.

10.3.5. Alto desempenho, pois trabalha com grandes volumes de dados de forma contínua.

10.4. Quando usar

10.4.1. Quando for necessário processar dados em tempo real e gerar insights imediatos.

10.4.2. Para detecção de fraudes, monitoramento de IoT, análise de logs e métricas de aplicações.

10.4.3. Em sistemas de recomendação que precisam ajustar ofertas e conteúdos conforme o comportamento do usuário.

10.4.4. Quando precisar de uma solução totalmente gerenciada, sem necessidade de provisionar e manter servidores.

11. Kinesis Data Streams

11.1. Retenção de Dados

11.1.1. Você pode configurar o tempo de retenção dos dados no Kinesis Data Streams entre 1 dia e 365 dias.

11.1.2. Isso significa que os dados ficam armazenados por esse período antes de serem automaticamente excluídos.

11.2. Reprocessamento de Dados (Replay)

11.2.1. O Kinesis Data Streams permite que você reprocesse os dados, ou seja, você pode "rebobinar" o fluxo e processar os mesmos dados novamente.

11.2.2. Isso é útil para corrigir erros de processamento ou para realizar novas análises com os mesmos dados.

11.3. Imutabilidade dos Dados

11.3.1. Uma vez que os dados são inseridos no Kinesis Data Streams, eles não podem ser excluídos.

11.3.2. Isso garante a integridade e a imutabilidade dos dados, o que é importante para aplicações que exigem auditoria ou rastreabilidade.

11.4. Ordenação dos Dados

11.4.1. Os dados que compartilham a mesma partição (partition key) são enviados para o mesmo fragmento (shard) e são processados na ordem em que foram recebidos.

11.4.2. Isso garante que a ordem dos eventos seja preservada.

11.5. Produtores de Dados

11.5.1. Existem diferentes maneiras de inserir dados no Kinesis Data Streams

11.5.1.1. AWS SDK

11.5.1.1.1. Permite que você escreva código personalizado para enviar dados para o Kinesis.

11.5.1.2. Kinesis Producer Library (KPL)

11.5.1.2.1. Uma biblioteca otimizada para enviar grandes volumes de dados de forma eficiente.

11.5.1.3. Kinesis Agent

11.5.1.3.1. Um agente que coleta dados de arquivos de log e os envia para o Kinesis.

11.6. Consumidores de Dados

11.6.1. Existem duas formas principais de consumir dados do Kinesis Data Streams

11.6.1.1. Desenvolvimento Próprio

11.6.1.1.1. Você pode escrever seu próprio código usando o Kinesis Client Library (KCL) ou o AWS SDK.

11.6.1.1.2. O KCL facilita o gerenciamento de fragmentos e o processamento paralelo dos dados.

11.6.1.2. Serviços Gerenciados

11.6.1.2.1. A AWS oferece serviços gerenciados que podem consumir dados do Kinesis Data Streams:

11.7. Modos de Capacidade

11.7.1. Modo Provisionado

11.7.1.1. Controle Total

11.7.1.1.1. Você escolhe o número de fragmentos (shards) que deseja provisionar para o seu fluxo.

11.7.1.1.2. Você pode dimensionar manualmente o número de fragmentos ou usar a API para automatizar o dimensionamento.

11.7.1.2. Capacidade por Fragmento

11.7.1.2.1. Cada fragmento provisionado oferece a seguinte capacidade

11.7.1.3. Preço

11.7.1.3.1. Você paga por cada fragmento provisionado por hora.

11.7.1.3.2. Isso significa que você paga pela capacidade que você reserva, independentemente de estar utilizando toda ela ou não.

11.7.1.4. Quando usar o Modo Provisionado

11.7.1.4.1. Quando você tem um padrão de tráfego previsível e constante.

11.7.1.4.2. Quando você precisa de controle preciso sobre a capacidade do seu fluxo de dados.

11.7.1.4.3. Quando você deseja otimizar custos para cargas de trabalho previsíveis.

11.7.2. Modo Sob Demanda

11.7.2.1. Gerenciamento Automático

11.7.2.1.1. Você não precisa se preocupar em provisionar ou gerenciar a capacidade do seu fluxo de dados.

11.7.2.1.2. O Kinesis Data Streams lida com o dimensionamento automaticamente.

11.7.2.2. Capacidade Padrão

11.7.2.2.1. O modo sob demanda inicia com uma capacidade padrão de 4 MB/s de entrada ou 4000 registros por segundo.

11.7.2.3. Dimensionamento Automático

11.7.2.3.1. O Kinesis Data Streams dimensiona automaticamente a capacidade do seu fluxo de dados com base no pico de throughput observado nos últimos 30 dias.

11.7.2.3.2. Isso garante que você tenha capacidade suficiente para lidar com picos de tráfego.

11.7.2.4. Preço

11.7.2.4.1. Você paga por fluxo por hora e pelos dados de entrada/saída por GB.

11.7.2.4.2. Isso significa que você paga apenas pelo que você usa.

11.7.2.5. Quando usar o Modo Sob Demanda

11.7.2.5.1. Quando você tem padrões de tráfego imprevisíveis ou flutuantes.

11.7.2.5.2. Quando você deseja simplificar o gerenciamento da capacidade do seu fluxo de dados.

11.7.2.5.3. Quando você está disposto a pagar um pouco mais pela flexibilidade e escalabilidade automática.