Escolar Documentos
Profissional Documentos
Cultura Documentos
Dados estruturados
Dados estruturados são dados que aderem a um esquema fixo, portanto, todos
os dados têm os mesmos campos ou propriedades. Mais comumente, o
esquema para entidades de dados estruturados é tabular - em outras palavras,
os dados são representados em uma ou mais tabelas que consistem em linhas
para representar cada instância de uma entidade de dados e colunas para
representar atributos da entidade. Por exemplo, a imagem a seguir mostra
representações de dados tabulares para entidades Cliente e Produto.
Dados semiestruturados
Dados semiestruturados são informações que têm alguma estrutura, mas que
permitem alguma variação entre instâncias de entidade. Por exemplo, embora a
maioria dos clientes possa ter um endereço de e-mail, alguns podem ter vários
endereços de e-mail e outros podem não ter nenhum.
JSONCopiar
// Customer 1
{
"firstName": "Joe",
"lastName": "Jones",
"address":
{
"streetAddress": "1 Main St.",
"city": "New York",
"state": "NY",
"postalCode": "10099"
},
"contact":
[
{
"type": "home",
"number": "555 123-1234"
},
{
"type": "email",
"address": "joe@litware.com"
}
]
}
// Customer 2
{
"firstName": "Samir",
"lastName": "Nadoy",
"address":
{
"streetAddress": "123 Elm Pl.",
"unit": "500",
"city": "Seattle",
"state": "WA",
"postalCode": "98999"
},
"contact":
[
{
"type": "email",
"address": "samir@northwind.com"
}
]
}
Nota
JSON é apenas uma das muitas maneiras pelas quais os dados semiestruturados
podem ser representados. O objetivo aqui não é fornecer um exame detalhado
da sintaxe JSON, mas sim ilustrar a natureza flexível das representações de
dados semiestruturadas.
Explore o armazenamento de
arquivos
A capacidade de armazenar dados em arquivos é um elemento central de
qualquer sistema de computação. Os arquivos podem ser armazenados em
sistemas de arquivos locais no disco rígido do seu computador pessoal e em
mídias removíveis, como unidades USB; Mas, na maioria das organizações,
arquivos de dados importantes são armazenados centralmente em algum tipo
de sistema de armazenamento de arquivos compartilhado. Cada vez mais, esse
local de armazenamento central é hospedado na nuvem, permitindo um
armazenamento econômico, seguro e confiável para grandes volumes de dados.
Copiar
FirstName,LastName,Email
Joe,Jones,joe@litware.com
Samir,Nadoy,samir@northwind.com
JSONCopiar
{
"customers":
[
{
"firstName": "Joe",
"lastName": "Jones",
"contact":
[
{
"type": "home",
"number": "555 123-1234"
},
{
"type": "email",
"address": "joe@litware.com"
}
]
},
{
"firstName": "Samir",
"lastName": "Nadoy",
"contact":
[
{
"type": "email",
"address": "samir@northwind.com"
}
]
}
]
}
XML é um formato de dados legível por humanos que foi popular nas décadas
de 1990 e 2000. Ele foi amplamente substituído pelo formato JSON menos
detalhado, mas ainda existem alguns sistemas que usam XML para representar
dados. O XML usa tags entre colchetes angulares (<.. />) para
definir elementos e atributos, como mostrado neste exemplo:
XMLCopiar
<Customers>
<Customer name="Joe" lastName="Jones">
<ContactDetails>
<Contact type="home" number="555 123-1234"/>
<Contact type="email" address="joe@litware.com"/>
</ContactDetails>
</Customer>
<Customer name="Samir" lastName="Nadoy">
<ContactDetails>
<Contact type="email" address="samir@northwind.com"/>
</ContactDetails>
</Customer>
</Customers>
Resumo
Os dados estão no centro da maioria das aplicações e soluções de software. Ele
pode ser representado em muitos formatos, armazenado em arquivos e bancos
de dados e usado para registrar transações ou para dar suporte a análises e
relatórios.
As três principais funções de trabalho que lidam com dados na maioria das
organizações são:
Engenheiro de Dados
São também responsáveis por garantir que a privacidade dos dados é mantida
dentro da cloud e expandida do local para os arquivos de dados na cloud. Eles
possuem o gerenciamento e o monitoramento de pipelines de dados para
garantir que as cargas de dados tenham o desempenho esperado.
Analista de Dados
Nota
Alguns dos serviços de nuvem mais comumente usados para dados são
descritos abaixo.
Nota
Este tópico aborda apenas alguns dos serviços de dados mais comumente
usados para soluções transacionais e analíticas modernas. Serviços adicionais
também estão disponíveis.
SQL do Azure
Tal como acontece com os sistemas de base de dados SQL do Azure, as bases
de dados relacionais de código aberto são geridas por administradores de
bases de dados para suportar aplicações transacionais e fornecer uma fonte de
dados para engenheiros de dados que criam pipelines para soluções analíticas e
analistas de dados que criam relatórios.
BD do Cosmos para o Azure
Armazenamento do Azure
O Azure Data Factory é usado por engenheiros de dados para criar soluções de
extração, transformação e carregamento (ETL) que preenchem armazenamentos
de dados analíticos com dados de sistemas transacionais em toda a organização.
Os engenheiros de dados podem usar o Azure Synapse Analytics para criar uma
solução unificada de análise de dados que combina pipelines de ingestão de
dados, armazenamento de data warehouse e armazenamento de data lake por
meio de um único serviço.
Os analistas de dados podem usar pools SQL e Spark por meio de blocos de
anotações interativos para explorar e analisar dados e aproveitar a integração
com serviços como o Azure Machine Learning e o Microsoft Power BI para criar
modelos de dados e extrair insights dos dados.
Azure Databricks
Azure HDInsight
Microsoft Purview
Resumo
Gerenciar e trabalhar com dados é uma habilidade especializada que requer
conhecimento de várias tecnologias. A maioria das organizações define cargos
para as várias tarefas responsáveis pela gestão de dados.
Compreender a normalização
Normalização é um termo usado por profissionais de banco de dados para um
processo de design de esquema que minimiza a duplicação de dados e impõe a
integridade dos dados.
Agora vamos ver como a normalização muda a maneira como os dados são
armazenados.
Em alguns casos, uma chave (primária ou estrangeira) pode ser definida como
uma chave composta com base em uma combinação única de várias colunas.
Por exemplo, a tabela LineItem no exemplo acima usa uma combinação
exclusiva de OrderNo e ItemNo para identificar um item de linha de uma
ordem individual.
Explore SQL
SQL significa Structured Query Language ( Linguagem de Consulta Estruturada)
e é usado para se comunicar com um banco de dados relacional. É a linguagem
padrão para sistemas de gestão de bases de dados relacionais. As instruções
SQL são utilizadas para realizar tarefas como atualizar os dados numa base de
dados ou obter dados de uma base de dados. Alguns sistemas de gestão de
bases de dados relacionais comuns que utilizam SQL incluem o Microsoft SQL
Server, MySQL, PostgreSQL, MariaDB e Oracle.
Nota
O SQL foi originalmente uniformizado pelo American National Standards
Institute (ANSI) em 1986 e pela International Organization for Standardization
(ISO) em 1987. Desde então, a norma foi alargada várias vezes, à medida que os
fornecedores de bases de dados relacionais adicionaram novas funcionalidades
aos sistemas. Além disso, a maioria dos fornecedores de bases de dados
incluem extensões próprias que não fazem parte da norma, o que originou
vários dialetos de SQL.
Nota
Declarações DDL
Pode utilizar instruções DDL para criar, modificar e remover tabelas e outros
objetos numa base de dados (tabelas, procedimentos armazenados, vistas, etc.).
Expandir tabela
Declaração Description
CREATE Permite criar um novo objeto na base de dados, como uma tabela ou uma
vista.
ALTERAR Permite modificar a estrutura de um objeto, por exemplo, alterar uma tabela
para adicionar uma nova coluna.
Aviso
O exemplo seguinte cria uma nova tabela de base de dados. Os itens entre
parênteses especificam os detalhes de cada coluna, incluindo o nome, o tipo de
dados, se a coluna tem ou não de conter sempre um valor (NOT NULL) e se os
dados na coluna são utilizados para identificar exclusivamente uma linha
(CHAVE PRIMÁRIA). Cada tabela deve ter uma chave primária, embora o SQL
não imponha esta regra.
Nota
SQLCopiar
CREATE TABLE Product
(
ID INT PRIMARY KEY,
Name VARCHAR(20) NOT NULL,
Price DECIMAL NULL
);
Declarações DCL
Expandir tabela
Declaração Description
SQLCopiar
GRANT SELECT, INSERT, UPDATE
ON Product
TO user1;
Declarações DML
Você usa instruções DML para manipular as linhas em tabelas. Essas instruções
permitem recuperar (consultar) dados, inserir novas linhas ou modificar linhas
existentes. Pode também eliminar linhas que já não sejam necessárias.
Expandir tabela
Declaração Description
O formato básico de uma instrução INSERT insere uma linha de cada vez. Por
predefinição, as instruções SELECT, UPDATE e DELETE são aplicadas a todas as
linhas numa tabela. Normalmente, aplicaria uma cláusula WHERE a estas
instruções para especificar os critérios. Apenas as linhas que corresponderem a
esses critérios serão selecionadas, atualizadas ou eliminadas.
Aviso
O SQL não apresenta pedidos de confirmação, por isso tenha cuidado ao utilizar
a instrução DELETE ou UPDATE sem uma cláusula WHERE, pois pode perder ou
modificar muitos dados.
SQLCopiar
SELECT *
FROM Customer
WHERE City = 'Seattle';
SQLCopiar
SELECT FirstName, LastName, Address, City
FROM Customer
WHERE City = 'Seattle';
SQLCopiar
SELECT FirstName, LastName, Address, City
FROM Customer
WHERE City = 'Seattle'
ORDER BY LastName;
Pode ainda executar instruções SELECT para obter dados de múltiplas tabelas
com uma cláusula JOIN. As associações indicam como as linhas numa tabela se
ligam às linhas na outra para determinar quais os dados a devolver. Uma
condição de junção típica corresponde a uma chave estrangeira de uma tabela
e sua chave primária associada na outra tabela.
SQLCopiar
SELECT o.OrderNo, o.OrderDate, c.Address, c.City
FROM Order AS o
JOIN Customer AS c
ON o.Customer = c.ID
O próximo exemplo mostra como modificar uma linha existente usando SQL. Ele
altera o valor da coluna Endereço na tabela Cliente para linhas que têm o
valor 1 na coluna ID. Todas as outras linhas permanecem inalteradas:
SQLCopiar
UPDATE Customer
SET Address = '123 High St.'
WHERE ID = 1;
Aviso
SQLCopiar
DELETE FROM Product
WHERE ID = 162;
Aviso
Se omitir a cláusula WHERE, uma instrução DELETE irá remover todas as linhas
da tabela.
SQLCopiar
INSERT INTO Product(ID, Name, Price)
VALUES (99, 'Drill', 4.99);
Nota
Este tópico descreve algumas instruções SQL básicas e sintaxe para ajudá-lo a
entender como o SQL é usado para trabalhar com objetos em um banco de
dados. Se você quiser saber mais sobre como consultar dados com SQL, revise o
caminho de aprendizado Introdução à consulta com Transact-SQL no
Microsoft Learn.
Uma vista é uma tabela virtual baseada nos resultados de uma consulta
SELECT . Você pode pensar em um modo de exibição como uma janela em
linhas especificadas em uma ou mais tabelas subjacentes. Por exemplo, você
pode criar uma exibição nas tabelas Pedido e Cliente que recupera dados de
pedidos e clientes para fornecer um único objeto que facilita a determinação
de endereços de entrega para pedidos:
SQLCopiar
CREATE VIEW Deliveries
AS
SELECT o.OrderNo, o.OrderDate,
c.FirstName, c.LastName, c.Address, c.City
FROM Order AS o JOIN Customer AS c
ON o.Customer = c.ID;
Pode consultar a vista e filtrar os dados praticamente da mesma forma que uma
tabela. A consulta a seguir localiza detalhes de pedidos para clientes que
moram em Seattle:
SQLCopiar
SELECT OrderNo, OrderDate, LastName, Address
FROM Deliveries
WHERE City = 'Seattle';
SQLCopiar
CREATE PROCEDURE RenameProduct
@ProductID INT,
@NewName VARCHAR(20)
AS
UPDATE Product
SET Name = @NewName
WHERE ID = @ProductID;
SQLCopiar
EXEC RenameProduct 201, 'Spanner';
O que é um índice?
Quando cria um índice numa base de dados, especifica uma coluna da tabela e
o índice contém uma cópia desses dados em sequência de ordenação, com
ponteiros para as linhas correspondentes na tabela. Quando o utilizador executa
uma consulta que especifique esta coluna na cláusula WHERE, o sistema de
gestão de bases de dados pode utilizar este índice para obter os dados mais
rapidamente do que obteria se tivesse de analisar toda a tabela, linha por linha.
Por exemplo, você pode usar o código a seguir para criar um índice na coluna
Nome da tabela Produto :
SQLCopiar
CREATE INDEX idx_ProductName
ON Product(Name);
Para uma tabela que contém poucas linhas, usar o índice provavelmente não é
mais eficiente do que simplesmente ler a tabela inteira e encontrar as linhas
solicitadas pela consulta (nesse caso, o otimizador de consulta ignorará o
índice). No entanto, quando uma tabela tem muitas linhas, os índices podem
melhorar drasticamente o desempenho das consultas.
Pode criar muitos índices numa tabela. Portanto, se você também quiser
encontrar produtos com base no preço, criar outro índice na coluna
Preço na tabela Produto pode ser útil. No entanto, os índices não são
gratuitos. Um índice consome espaço de armazenamento e, sempre que você
insere dados em uma tabela, atualiza ou exclui dados em uma tabela, os índices
dessa tabela devem ser mantidos. Esse trabalho adicional pode tornar mais
lentas as operações de inserção, atualização e exclusão. Você deve encontrar
um equilíbrio entre ter índices que aceleram suas consultas versus o custo de
executar outras operações.
Resumo
Os bancos de dados relacionais são uma maneira comum de os aplicativos
transacionais armazenarem e gerenciarem dados. Eles consistem em um
esquema de tabelas, que são ligadas através de valores de chave comuns. Você
usa SQL para consultar e manipular os dados nas tabelas e pode enriquecer o
banco de dados criando objetos como modos de exibição, procedimentos
armazenados e índices.
Introdução
O Azure dá suporte a vários serviços de banco de dados, permitindo que você
execute sistemas populares de gerenciamento de banco de dados relacional,
como SQL Server, PostgreSQL e MySQL, na nuvem.
O Azure SQL Edge está incluído nesta lista para integridade. Vamos nos
concentrar nas outras opções para cenários de banco de dados relacional mais
gerais neste módulo.
SQL Server nas VMs Instância Gerida do Base de Dados SQL do
do Azure Azure SQL Azure
Casos de Use essa opção Use essa opção para a Use essa opção para
utilização quando precisar maioria dos cenários de novas soluções de nuvem
SQL Server nas VMs Instância Gerida do Base de Dados SQL do
do Azure Azure SQL Azure
Nota
Pode utilizar o SQL Server numa máquina virtual para desenvolver e testar
aplicações tradicionais do SQL Server. Com uma máquina virtual, tem os direitos
administrativos completos sobre o DBMS e o sistema operativo. É uma opção
perfeita quando uma organização já tem recursos de TI disponíveis para manter
as máquinas virtuais.
Estas capacidades permitem-lhe:
Benefícios comerciais
Casos de utilização
Benefícios comerciais
A Base de Dados SQL do Azure é uma oferta PaaS da Microsoft. O utilizador cria
um servidor de bases de dados gerido na cloud e, em seguida, implementa as
bases de dados neste servidor.
Nota
Um servidor da Base de Dados SQL é uma construção lógica que funciona como
um ponto administrativo central para várias bases de dados de conjuntos ou
individuais, inícios de sessão, regras da firewall, regras de auditoria, políticas de
deteção de ameaças e grupos de ativação pós-falha.
Casos de utilização
A Base de Dados SQL do Azure oferece a melhor opção de baixo custo com
uma administração mínima. Ele não é totalmente compatível com instalações
locais do SQL Server. É frequentemente usado em novos projetos de nuvem
onde o design do aplicativo pode acomodar quaisquer alterações necessárias
em seus aplicativos.
Nota
O serviço Banco de Dados do Azure para MySQL inclui alta disponibilidade sem
custo adicional e escalabilidade conforme necessário. Só paga o que utilizar. As
cópias de segurança automáticas são disponibilizadas com recuperação para
um ponto anterior no tempo.
O sistema utiliza preços pay as you go para que pague apenas pelo que utiliza.
Os servidores da Base de Dados do Azure para MySQL proporcionam a
funcionalidade de monitorização para adicionar alertas e para ver métricas e
registos.
Resumo
O Azure dá suporte a uma variedade de serviços de banco de dados que você
pode usar para dar suporte a novos aplicativos de nuvem ou migrar aplicativos
existentes para a nuvem.
Introdução
A maioria dos aplicativos de software precisa armazenar dados. Muitas vezes,
isso toma a forma de um banco de dados relacional, no qual os dados são
organizados em tabelas relacionadas e gerenciados usando Structured Query
Language (SQL). No entanto, muitos aplicativos não precisam da estrutura
rígida de um banco de dados relacional e dependem de armazenamento não
relacional (muitas vezes chamado de NoSQL).
Objetivos de aprendizagem
Pode criar políticas de gestão do ciclo de vida para os blobs numa conta de
armazenamento. Uma política de gestão do ciclo de vida pode mover
automaticamente um blob da camada Frequente para a camada Esporádico e,
em seguida, para a camada Arquivo, à medida que ganha idade e é utilizada
com menos frequência (a política baseia-se no número de dias decorridos
desde a modificação). Uma política de gestão do ciclo de vida também pode ser
organizada para eliminar blobs desatualizados.
Para criar um sistema de arquivos Gen2 do Repositório Azure Data Lake, você
deve habilitar a opção Namespace Hierárquico de uma conta de
Armazenamento do Azure. Você pode fazer isso ao criar inicialmente a conta de
armazenamento ou pode atualizar uma conta de Armazenamento do Azure
existente para dar suporte ao Data Lake Gen2. No entanto, esteja ciente de que
a atualização é um processo unidirecional – depois de atualizar uma conta de
armazenamento para oferecer suporte a um namespace hierárquico para
armazenamento de blob, você não pode revertê-lo para um namespace simples.
Introdução
Concluído100 XP
1 minuto
5 minutos
O Azure Cosmos DB dá suporte a várias interfaces de programação de
aplicativos (APIs) que permitem que os desenvolvedores usem a semântica de
programação de muitos tipos comuns de armazenamento de dados para
trabalhar com dados em um banco de dados do Cosmos DB. A estrutura de
dados interna é abstrata, permitindo que os desenvolvedores usem o Cosmos
DB para armazenar e consultar dados usando APIs com as quais já estão
familiarizados.
Nota
6 minutos
SQLCopiar
SELECT *
FROM customers c
WHERE c.id = "joe@litware.com"
JSONCopiar
{
"id": "joe@litware.com",
"name": "Joe Jones",
"address": {
"street": "1 Main St.",
"city": "Seattle"
}
}
JavaScriptCopiar
db.products.find({id: 123})
JSONCopiar
{
"id": 123,
"name": "Hammer",
"price": 2.99
}
Expandir tabela
ProductID ProductName Preço
Em seguida, você pode consultar esta tabela para recuperar o nome e o preço
de um produto específico usando SQL da seguinte forma:
SQLCopiar
SELECT ProductName, Price
FROM Products
WHERE ProductID = 123;
Expandir tabela
ProductName Preço
Martelo 2.99
O Azure Cosmos DB for Table é usado para trabalhar com dados em tabelas de
chave-valor, semelhante ao Armazenamento de Tabela do Azure. Ele oferece
maior escalabilidade e desempenho do que o Armazenamento de Tabela do
Azure. Por exemplo, você pode definir uma tabela chamada Clientes como esta:
Expandir tabela
Em seguida, você pode usar a API de tabela por meio de um dos SDKs
específicos do idioma para fazer chamadas para seu ponto de extremidade de
serviço para recuperar dados da tabela. Por exemplo, a solicitação a seguir
retorna a linha que contém o registro de Samir Nadoy na tabela acima:
textCopiar
https://endpoint/Customers(PartitionKey='1',RowKey='124')
Azure Cosmos DB para Apache Cassandra
Por exemplo, você pode criar uma tabela Funcionários como esta:
Expandir tabela
ID Nome Gestor
1 Sue Soares
Cassandra suporta uma sintaxe baseada em SQL, para que um aplicativo cliente
possa recuperar o registro para Ben Chan assim:
SQLCopiar
SELECT * FROM Employees WHERE ID = 2
O Azure Cosmos DB para Apache Gremlin é usado com dados em uma estrutura
de gráfico; em que as entidades são definidas como vértices que formam nós
em grafos conectados. Os nós são conectados por bordas que representam
relações, como esta:
Copiar
g.addV('employee').property('id', '3').property('firstName', 'Alice')
g.V('3').addE('reports to').to(g.V('1'))
Copiar
g.V().hasLabel('employee').order().by('id')
Resumo
O Azure Cosmos DB fornece uma solução de banco de dados em escala global
para dados não relacionais.
Introdução
Concluído100 XP
1 minuto
Objetivos de aprendizagem
Descrever a arquitetura de
armazenamento de dados
Concluído100 XP
3 minutos
5 minutos
8 minutos
Você pode usar uma abordagem híbrida que combina recursos de data lakes e
data warehouses em um banco de dados lake ou data lakehouse. Os dados
brutos são armazenados como arquivos em um data lake, e uma camada de
armazenamento relacional abstrai os arquivos subjacentes e os expõe como
tabelas, que podem ser consultadas usando SQL. Os pools SQL no Azure
Synapse Analytics incluem o PolyBase, que permite definir tabelas externas com
base em arquivos em um data lake (e outras fontes) e consultá-las usando SQL.
O Synapse Analytics também suporta uma abordagem de banco de dados Lake
na qual você pode usar modelos de banco de dados para definir o esquema
relacional do seu data warehouse, enquanto armazena os dados subjacentes no
armazenamento do data lake – separando o armazenamento e a computação
para sua solução de armazenamento de dados. Os data lakehouses são uma
abordagem relativamente nova em sistemas baseados no Spark e são
habilitados por meio de tecnologias como o Delta Lake, que adiciona recursos
de armazenamento relacional ao Spark, para que você possa definir tabelas que
imponham esquemas e consistência transacional, suportem fontes de dados
carregadas em lote e streaming e forneçam uma API SQL para consulta.
Explore soluções de plataforma como
serviço (PaaS)
Concluído100 XP
8 minutos
No Azure, há três serviços principais de plataforma como serviço (PaaS) que você
pode usar para implementar um repositório analítico em grande escala
Nota
8 minutos
A análise escalável com serviços PaaS pode ser complexa, fragmentada e cara.
Com o Microsoft Fabric, você não precisa gastar todo o seu tempo combinando
vários serviços e implementando interfaces através das quais os usuários
corporativos podem acessá-los. Em vez disso, você pode usar um único produto
que seja fácil de entender, configurar, criar e gerenciar. O Fabric é uma oferta
unificada de software como serviço (SaaS), com todos os seus dados
armazenados em um único formato aberto no OneLake.
O OneLake é a arquitetura centrada no lago da Fabric que fornece um ambiente
único e integrado para profissionais de dados e a empresa colaborarem em
projetos de dados. Pense nisso como o OneDrive para dados; O OneLake
combina locais de armazenamento em diferentes regiões e nuvens em um
único lago lógico, sem mover ou duplicar dados. Os dados podem ser
armazenados em qualquer formato de arquivo no OneLake e podem ser
estruturados ou não estruturados. Para dados tabulares, os mecanismos
analíticos no Fabric gravarão dados no formato delta ao gravar no OneLake.
Todos os mecanismos saberão como ler esse formato e tratar arquivos delta
como tabelas, não importa qual mecanismo o escreva.
Resumo
Concluído100 XP
1 minuto
A análise de dados em larga escala é uma carga de trabalho complexa que pode
envolver muitas tecnologias diferentes. Este módulo forneceu uma visão geral
de alto nível dos principais recursos de uma solução de análise e explorou
alguns dos serviços da Microsoft que você pode usar para implementar uma.
Introdução
Concluído100 XP
1 minuto
Objetivos de aprendizagem
Compreender o processamento em
lote e fluxo
Concluído100 XP
9 minutos
Por exemplo, suponha que você queira analisar o tráfego rodoviário contando o
número de carros em um trecho da estrada. Uma abordagem de
processamento em lote para isso exigiria que você coletasse os carros em um
estacionamento e, em seguida, os contasse em uma única operação enquanto
eles estão em repouso.
4 minutos
Há muitas tecnologias que você pode usar para implementar uma solução de
processamento de fluxo, mas embora os detalhes específicos da implementação
possam variar, há elementos comuns para a maioria das arquiteturas de
streaming.
Em sua forma mais simples, uma arquitetura de alto nível para processamento
de fluxo tem esta aparência:
1. Um evento gera alguns dados. Pode ser um sinal emitido por um sensor,
uma mensagem de mídia social sendo postada, uma entrada de arquivo
de log sendo gravada ou qualquer outra ocorrência que resulte em alguns
dados digitais.
2. Os dados gerados são capturados em uma fonte de streaming para
processamento. Em casos simples, a fonte pode ser uma pasta em um
armazenamento de dados em nuvem ou uma tabela em um banco de
dados. Em soluções de streaming mais robustas, a origem pode ser uma
"fila" que encapsula a lógica para garantir que os dados de eventos sejam
processados em ordem e que cada evento seja processado apenas uma
vez.
3. Os dados de evento são processados, geralmente por uma consulta
perpétua que opera nos dados de evento para selecionar dados para
tipos específicos de eventos, valores de dados de projeto ou valores de
dados agregados em períodos (ou janelas) temporais (baseados no
tempo) - por exemplo, contando o número de emissões do sensor por
minuto.
4. Os resultados da operação de processamento de fluxo são gravados em
uma saída (ou coletor), que pode ser um arquivo, uma tabela de banco de
dados, um painel visual em tempo real ou outra fila para processamento
adicional por uma consulta downstream subsequente.
O Microsoft Azure dá suporte a várias tecnologias que você pode usar para
implementar análises em tempo real de dados de streaming, incluindo:
2 minutos
3 minutos
O Spark pode ser usado para executar código (geralmente escrito em Python,
Scala ou Java) em paralelo em vários nós de cluster, permitindo que ele
processe grandes volumes de dados de forma eficiente. O Spark pode ser usado
para processamento em lote e processamento de fluxo.
Para processar dados de streaming no Spark, você pode usar a biblioteca Spark
Structured Streaming , que fornece uma interface de programação de aplicativos
(API) para ingerir, processar e enviar resultados de fluxos perpétuos de dados.
Nota
Delta Lake
O Delta Lake combinado com o Spark Structured Streaming é uma boa solução
quando você precisa abstrair dados processados em lote e streaming em um
data lake atrás de um esquema relacional para consultas e análises baseadas em
SQL.
3 minutos
O Apache Spark é uma estrutura de processamento distribuído para análise de
dados em grande escala. Você pode usar o Spark no Microsoft Azure nos
seguintes serviços:
O Spark pode ser usado para executar código (geralmente escrito em Python,
Scala ou Java) em paralelo em vários nós de cluster, permitindo que ele
processe grandes volumes de dados de forma eficiente. O Spark pode ser usado
para processamento em lote e processamento de fluxo.
Para processar dados de streaming no Spark, você pode usar a biblioteca Spark
Structured Streaming , que fornece uma interface de programação de aplicativos
(API) para ingerir, processar e enviar resultados de fluxos perpétuos de dados.
O Spark Structured Streaming é uma ótima opção para análise em tempo real
quando você precisa incorporar dados de streaming em um data lake ou
armazenamento de dados analíticos baseado no Spark.
Nota
O Delta Lake combinado com o Spark Structured Streaming é uma boa solução
quando você precisa abstrair dados processados em lote e streaming em um
data lake atrás de um esquema relacional para consultas e análises baseadas em
SQL.
Resumo
Concluído100 XP
1 minuto
1 minuto
Objetivos de aprendizagem
3 minutos
5 minutos
Nota
Embora comumente nos referimos a um modelo analítico como um cubo, pode
haver mais (ou menos) do que três dimensões – simplesmente não é fácil para
nós visualizar mais de três!
Tabelas e esquema
Hierarquias de atributos
Uma última coisa que vale a pena considerar sobre modelos analíticos é a
criação de hierarquias de atributos que permitem que você faça drill-up ou drill-
down rapidamente para encontrar valores agregados em diferentes níveis em
uma dimensão hierárquica. Por exemplo, considere os atributos nas tabelas de
dimensão que discutimos até agora. Na tabela Produto, você pode formar uma
hierarquia na qual cada categoria pode incluir vários produtos nomeados. Da
mesma forma, na tabela Cliente , uma hierarquia pode ser formada para
representar vários clientes nomeados em cada cidade. Finalmente, na Tabela
de tempo, você pode formar uma hierarquia de ano, mês e dia. O modelo pode
ser construído com valores pré-agregados para cada nível de uma hierarquia,
permitindo que você altere rapidamente o escopo de sua análise – por exemplo,
visualizando as vendas totais por ano e, em seguida, detalhando para ver uma
divisão mais detalhada das vendas totais por mês.
5 minutos
Depois de criar um modelo, você pode usá-lo para gerar visualizações de dados
que podem ser incluídas em um relatório.
As tabelas e o texto são muitas vezes a forma mais simples de comunicar dados.
As tabelas são úteis quando vários valores relacionados devem ser exibidos, e
valores de texto individuais em cartões podem ser uma maneira útil de mostrar
figuras ou métricas importantes.
Gráficos circulares
Os gráficos de dispersão são úteis quando você deseja comparar duas medidas
numéricas e identificar uma relação ou correlação entre elas.
Mapas
Resumo
Concluído100 XP
1 minuto