14 KiB
Trabalhando com Dados: Dados Não-Relacionais
![]() |
---|
Trabalhando com Dados NoSQL - Sketchnote por @nitya |
Quiz Pré-Aula
Os dados não estão limitados a bancos de dados relacionais. Esta lição foca em dados não-relacionais e abordará os conceitos básicos de planilhas e NoSQL.
Planilhas
As planilhas são uma maneira popular de armazenar e explorar dados porque exigem menos trabalho para configurar e começar. Nesta lição, você aprenderá os componentes básicos de uma planilha, bem como fórmulas e funções. Os exemplos serão ilustrados com o Microsoft Excel, mas a maioria das partes e tópicos terá nomes e etapas semelhantes em comparação com outros softwares de planilhas.
Uma planilha é um arquivo e estará acessível no sistema de arquivos de um computador, dispositivo ou sistema de arquivos baseado em nuvem. O software em si pode ser baseado em navegador ou um aplicativo que deve ser instalado em um computador ou baixado como um app. No Excel, esses arquivos também são definidos como workbooks (pastas de trabalho), e essa terminologia será usada no restante desta lição.
Uma pasta de trabalho contém uma ou mais worksheets (planilhas), onde cada planilha é identificada por abas. Dentro de uma planilha, há retângulos chamados células, que conterão os dados reais. Uma célula é a interseção de uma linha e uma coluna, onde as colunas são identificadas por caracteres alfabéticos e as linhas por números. Algumas planilhas conterão cabeçalhos nas primeiras linhas para descrever os dados em uma célula.
Com esses elementos básicos de uma pasta de trabalho do Excel, usaremos um exemplo dos Modelos da Microsoft focado em um inventário para explorar algumas partes adicionais de uma planilha.
Gerenciando um Inventário
O arquivo de planilha chamado "InventoryExample" é uma planilha formatada de itens dentro de um inventário que contém três planilhas, onde as abas são rotuladas como "Inventory List", "Inventory Pick List" e "Bin Lookup". A linha 4 da planilha Inventory List é o cabeçalho, que descreve o valor de cada célula na coluna do cabeçalho.
Existem casos em que uma célula depende dos valores de outras células para gerar seu valor. A planilha Inventory List acompanha o custo de cada item em seu inventário, mas e se precisarmos saber o valor total de tudo no inventário? Fórmulas realizam ações nos dados das células e são usadas para calcular o custo do inventário neste exemplo. Esta planilha usou uma fórmula na coluna Inventory Value para calcular o valor de cada item, multiplicando a quantidade sob o cabeçalho QTY pelo custo nas células sob o cabeçalho COST. Ao clicar duas vezes ou destacar uma célula, a fórmula será exibida. Você notará que as fórmulas começam com um sinal de igual, seguido pelo cálculo ou operação.
Podemos usar outra fórmula para somar todos os valores da coluna Inventory Value e obter o valor total. Isso poderia ser calculado somando cada célula para gerar a soma, mas isso pode ser uma tarefa tediosa. O Excel possui funções, ou fórmulas predefinidas, para realizar cálculos nos valores das células. As funções exigem argumentos, que são os valores necessários para realizar esses cálculos. Quando as funções exigem mais de um argumento, eles precisam ser listados em uma ordem específica, ou a função pode não calcular o valor correto. Este exemplo usa a função SUM e utiliza os valores de Inventory Value como argumento para gerar o total listado na linha 3, coluna B (também referida como B3).
NoSQL
NoSQL é um termo abrangente para as diferentes maneiras de armazenar dados não-relacionais e pode ser interpretado como "não-SQL", "não-relacional" ou "não apenas SQL". Esses tipos de sistemas de banco de dados podem ser categorizados em 4 tipos.
Fonte: Blog de Michał Białecki
Bancos de dados chave-valor associam chaves únicas, que são identificadores únicos, a um valor. Esses pares são armazenados usando uma tabela de hash com uma função de hash apropriada.
Fonte: Microsoft
Bancos de dados em grafo descrevem relações nos dados e são representados como uma coleção de nós e arestas. Um nó representa uma entidade, algo que existe no mundo real, como um estudante ou extrato bancário. As arestas representam a relação entre duas entidades. Cada nó e aresta possuem propriedades que fornecem informações adicionais sobre eles.
Bancos de dados colunares organizam dados em colunas e linhas, como uma estrutura de dados relacional, mas cada coluna é dividida em grupos chamados famílias de colunas, onde todos os dados sob uma coluna estão relacionados e podem ser recuperados e alterados como uma unidade.
Bancos de Dados de Documentos com o Azure Cosmos DB
Bancos de dados de documentos são baseados no conceito de um banco de dados chave-valor e são compostos por uma série de campos e objetos. Esta seção explorará bancos de dados de documentos com o emulador do Cosmos DB.
Um banco de dados Cosmos DB se encaixa na definição de "Não Apenas SQL", onde o banco de dados de documentos do Cosmos DB utiliza SQL para consultar os dados. A lição anterior sobre SQL aborda os conceitos básicos da linguagem, e poderemos aplicar algumas das mesmas consultas a um banco de dados de documentos aqui. Usaremos o Emulador do Cosmos DB, que nos permite criar e explorar um banco de dados de documentos localmente em um computador. Leia mais sobre o Emulador aqui.
Um documento é uma coleção de campos e valores de objetos, onde os campos descrevem o que o valor do objeto representa. Abaixo está um exemplo de um documento.
{
"firstname": "Eva",
"age": 44,
"id": "8c74a315-aebf-4a16-bb38-2430a9896ce5",
"_rid": "bHwDAPQz8s0BAAAAAAAAAA==",
"_self": "dbs/bHwDAA==/colls/bHwDAPQz8s0=/docs/bHwDAPQz8s0BAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-9f95-010a691e01d7\"",
"_attachments": "attachments/",
"_ts": 1630544034
}
Os campos de interesse neste documento são: firstname
, id
e age
. Os demais campos com sublinhados foram gerados pelo Cosmos DB.
Explorando Dados com o Emulador do Cosmos DB
Você pode baixar e instalar o emulador para Windows aqui. Consulte esta documentação para opções de como executar o Emulador no macOS e Linux.
O Emulador abre uma janela no navegador, onde a visualização Explorer permite explorar documentos.
Se você estiver acompanhando, clique em "Start with Sample" para gerar um banco de dados de exemplo chamado SampleDB. Se você expandir o SampleDB clicando na seta, encontrará um contêiner chamado Persons
. Um contêiner contém uma coleção de itens, que são os documentos dentro do contêiner. Você pode explorar os quatro documentos individuais em Items
.
Consultando Dados de Documentos com o Emulador do Cosmos DB
Também podemos consultar os dados de exemplo clicando no botão "New SQL Query" (segundo botão da esquerda para a direita).
SELECT * FROM c
retorna todos os documentos no contêiner. Vamos adicionar uma cláusula where e encontrar todos com menos de 40 anos.
SELECT * FROM c where c.age < 40
A consulta retorna dois documentos. Note que o valor do campo age para cada documento é menor que 40.
JSON e Documentos
Se você está familiarizado com o JavaScript Object Notation (JSON), notará que os documentos se parecem com JSON. Há um arquivo PersonsData.json
neste diretório com mais dados que você pode carregar no contêiner Persons
no Emulador via o botão Upload Item
.
Na maioria dos casos, APIs que retornam dados em JSON podem ser diretamente transferidas e armazenadas em bancos de dados de documentos. Abaixo está outro documento, que representa tweets da conta do Twitter da Microsoft, recuperados usando a API do Twitter e inseridos no Cosmos DB.
{
"created_at": "2021-08-31T19:03:01.000Z",
"id": "1432780985872142341",
"text": "Blank slate. Like this tweet if you’ve ever painted in Microsoft Paint before. https://t.co/cFeEs8eOPK",
"_rid": "dhAmAIUsA4oHAAAAAAAAAA==",
"_self": "dbs/dhAmAA==/colls/dhAmAIUsA4o=/docs/dhAmAIUsA4oHAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-9f84-a0958ad901d7\"",
"_attachments": "attachments/",
"_ts": 1630537000
Os campos de interesse neste documento são: created_at
, id
e text
.
🚀 Desafio
Há um arquivo TwitterData.json
que você pode carregar no banco de dados SampleDB. Recomenda-se adicioná-lo a um contêiner separado. Isso pode ser feito da seguinte forma:
- Clique no botão "New Container" no canto superior direito.
- Selecione o banco de dados existente (SampleDB), crie um ID para o contêiner.
- Defina a chave de partição como
/id
. - Clique em OK (você pode ignorar o restante das informações nesta visualização, pois este é um pequeno conjunto de dados rodando localmente em sua máquina).
- Abra seu novo contêiner e carregue o arquivo Twitter Data com o botão
Upload Item
.
Tente executar algumas consultas SELECT para encontrar os documentos que possuem "Microsoft" no campo text. Dica: tente usar a palavra-chave LIKE.
Quiz Pós-Aula
Revisão e Autoestudo
-
Há algumas formatações e recursos adicionais adicionados a esta planilha que não são abordados nesta lição. A Microsoft possui uma grande biblioteca de documentação e vídeos sobre o Excel, caso você tenha interesse em aprender mais.
-
Esta documentação arquitetural detalha as características dos diferentes tipos de dados não-relacionais: Dados Não-Relacionais e NoSQL.
-
O Cosmos DB é um banco de dados não-relacional baseado em nuvem que também pode armazenar os diferentes tipos de NoSQL mencionados nesta lição. Saiba mais sobre esses tipos neste Módulo de Aprendizado do Cosmos DB da Microsoft.
Tarefa
Aviso Legal:
Este documento foi traduzido utilizando o serviço de tradução por IA Co-op Translator. Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução.