You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/br/2-Working-With-Data/06-non-relational/README.md

14 KiB

Trabalhando com Dados: Dados Não-Relacionais

 Sketchnote por (@sketchthedocs)
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 vazia do Microsoft Excel com duas abas

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.

Uma fórmula destacada de um exemplo de lista de inventário no Microsoft Excel

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.

Uma função destacada de um exemplo de lista de inventário no Microsoft Excel

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.

Representação gráfica de um banco de dados chave-valor mostrando 4 chaves numéricas únicas associadas a 4 valores variados

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.

Representação gráfica de um banco de dados em grafo mostrando as relações entre pessoas, seus interesses e locais

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.

Representação gráfica de um banco de dados colunar mostrando um banco de dados de clientes com duas famílias de colunas chamadas Identidade e Informações de Contato

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.

A visualização Explorer do Emulador do Cosmos DB

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.

Explorando dados de exemplo no Emulador do Cosmos DB

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

Executando uma consulta SELECT em dados de exemplo no Emulador do Cosmos DB para encontrar documentos com um campo age menor que 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 youve 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:

  1. Clique no botão "New Container" no canto superior direito.
  2. Selecione o banco de dados existente (SampleDB), crie um ID para o contêiner.
  3. Defina a chave de partição como /id.
  4. 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).
  5. 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

Soda Profits


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.