Dados Flashcards

1
Q

O que são metadados?

A

Dados que descrevem outros dados. Podem estar inclusos no código ou fora deles. São flexíveis e ajudam a indexar os dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

O que é o Dublin Core?

A

Esquema de metadados criado pela Dublin Core Metadata Initiative (DCMI). Tem como carcterísticas:

Simplicidade, Interoperabilidade Semântica, Consenso Internacional, Extensibilidade e Modularidade.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quais são os 15 elementos do Dublin core?

A

Title, Creator, Subject, Description,
Publisher, Other Contributors, Date, Resource Type, Format, Identifier, Source, Language, Relation, Coverage, Rights

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

O que é o OAI-PMH?

A

Open Archives Initiative Protocol for
Metadata Harvesting:
* Protocolo desenvolvido para facilitar a coleta e intercâmbio de
metadados entre repositórios de informações
* Modelo cliente-servidor:
* Provedores de dados (data providers) expõem metadados
* Provedores de serviços (service providers) coletam metadados
* Utiliza XML para a representação dos metadados
* Compatível com Dublin Core

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

O processo de busca automática, coleta de dados e construção de índices é conhecido como?

A

Harvesting.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quais as classificações dos metadados?

A

Metadados descritivos
* Detalham um recurso digital para localização, identificação ou
compreensão
* Exemplos: título, autor e assunto

Metadados estruturais
* Explicitam a estrutura interna do arquivo digital e as relações hierárquicas
de partes integrantes de recursos entre si
* Exemplos: ordem e lugar na hierarquia

Metadados administrativos
* Fornecem informações que apoiam a gestão do ciclo de vida (criação,
seleção, descrição etc.) dos recursos informacionais.

Subdividem em:

  • Metadados técnicos – indicam os aspectos e as dependências técnicas de um arquivo
    digital para decodificá-lo e renderizá-lo
  • Metadados de preservação:
  • Informações necessárias para preservar e manter a integridade e acessibilidade dos dados ao longo do tempo
  • Armazena conteúdo, contexto, estrutura de produção e possíveis alterações
    ocorridas
  • Exemplos: datas de criação e modificação, proprietários, permissões de
    acesso, e políticas de retenção de dados
  • Metadados de direitos – documentam informações para apoio à gestão dos direitos de propriedade intelectual associados a um conteúdo
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O que é Normalização de dados?

A

Trazer todos os dados numéricos para a mesma escala (entre zero e um).

Fórmula min-máx:
X’ = (X - Xmin)/(Xmax - Xmin)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

O que é padronização?

A

Uso do z-score para obter uma variável aleatória com média 0 e desvio padrão 1 (distribuição normal).

Fórmula:
Z = (X - média)/desvio padrão

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que é discretização?

A
  • Transformação de dados em escala contínua em escala discreta.
  • Objetivo de limitar o número de estados de um atributo.
  • É uma forma de classificação, onde os intervalos discretos podem receber
    “nomes”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
A

-> Discretização de Largura Igual (Equal-width Discretization):
* Divide o intervalo de valores da variável em k intervalos de largura
igual.
* Não garante que cada intervalo terá o mesmo número de observações.

-> Discretização de Frequência Igual (Equal-frequency Discretization):
* Também conhecida como discretização por quantis.
* Divide os dados em k intervalos de forma que cada intervalo contenha
aproximadamente o mesmo número de observações.
* Útil para criar intervalos balanceados.

-> Discretização Binária (Binary Discretization):
* Transforma uma variável contínua em uma variável categórica com
duas categorias.
* Comum para problemas de classificação binária ou transformação de
um problema de regressão em um problema de classificação.
ex.: função logística

-> Discretização por Entropia (Entropy-based Discretization):
* Utiliza a entropia para dividir a variável em intervalos que maximizam a
homogeneidade de classes dentro de cada intervalo.
* Frequentemente usada em algoritmos de árvore de decisão.

-> Discretização por Clustering:
* Utiliza algoritmos de clustering, como K-Means, para agrupar dados em
intervalos.
* Os clusters formam os intervalos discretos.
* Não garante que os intervalos tenham o mesmo número de
observações.

-> Discretização por Intervalos de Probabilidade (Probability Intervals
Discretization):
* Baseia-se na distribuição de probabilidade dos dados.
* Cria intervalos com base em percentis, mas não gararnte distrituições iguais.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Qual nova área de conhecimento foi criada no Guia DAMA-DMBOKv2?

A

Integração de dados e interoperabilidade.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Os elementos ambientais básicos definem cada área de conhecimento ou função da Gestão de Dados presentes no guia DAMA-DMBOK. São considerados alguns destes elementos:

A

Metas e princípios; atividades; e, papéis e responsabilidades.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Os tipos de modelos operacionais de governança de dados discutidos no DAMA-DMBOK2 são

A

centralizado, replicado e federado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Para a governança de dados, a administração de dados é a área responsável pela qualidade e pelo ciclo de vida dos dados dentro de uma organização. Certo ou errado?

A

Certo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Descreva as principais técnicas em qualidade de dados:

1 - Data Profiling
2 - Matching
3 - Deduplicação
4 - Data Cleansing
5 - Enriquecimento de dados

A

1 - Data Profiling
* Análise de dados usada para inspecionar dados e assegurar a qualidade.
* Gera uma série de estatísticas para análise:
* Contagem de nulls.
* Valor máximo e mínimo.
* Distribuição de frequência.
* Tipo de dados e formato.
* Avalia:
* Análise entre colunas de dados (sobreposições e duplicações).
* Dependência entre valores.
* Relacionamentos de chaves.
* Qualidade de dados e de metadados

2 - Matching
* É a avaliação se mais de um registro de uma base representa a
mesma entidade do mundo real.
* Utilizado para avaliar a duplicação de dados.
* Pode ser feito por algoritmos determinísticos ou estatísticos.

3 - Deduplicação
* Eliminação de cópias duplicadas de dados.
* Os dados repetidos são resumidos a apenas uma cópia, a qual é
referenciada diversas vezes.

4 - Data Cleansing
* Técnica de tratamento e limpeza de dados.
* Etapas:
* Auditoria de dados.
* Especificação do fluxo de trabalho.
* Execução do fluxo.
* Pós-processamento e controle.

5 - Enriquecimento de dados
* É o processo de melhorar a qualidade de uma base de dados por
meio da inserção de dados de outra fonte de informação.
* Correção, atualização, higienização e reorganização de registros
defasados ou ausentes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Qual é o método de suavização de dados,
que minimiza os efeitos causados pelos dados ruidosos?

A

dividir os valores dos dados originais em pequenos intervalos, denominados compartimentos, e, em
seguida, substituí-los por um valor geral, ou genérico, calculado para cada compartimento específico.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Quais são as etapas do processo de preparação de dados?

A
  • Identificação e coleta de dados.
  • Análise exploratória.
  • Limpeza dos dados.
  • Rotulagem de dados (Especialmente em visão computacional, PLN e reconhecimento de fala)
  • Transformação de dados.
  • Redução de dimensionalidade.
  • Redução de casos.
  • Enriquecimento de dados.
  • Validação e visualização.v
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Como dividir seu conjunto de dados: Treino, teste e validação?

A

Geralmente, separamos a maior parte do conjunto de dados para treino, e uma parte menor para teste e validação. O tamanho destas últimas deve ser significativo, pelo menos 10% do conjunto de dados total. As proporções variam caso a caso, mas na dúvida, podemos adotar a seguinte proporção:

70% dos dados para treino
15% dos dados para teste
15% dos dados para validação

Os dados de treino servem para treinar o modelo. No caso, o modelo irá aprender a partir desses dados e eles têm que estar separados da validação e teste, para evitar overfitting.

Os dados de teste, servem para calcularmos o desempenho do modelo, acurácia e etc. É com esse conjunto que saberemos se o modelo realmente está aprendendo ou não alguma coisa com o conjunto de dados e o usaremos como métrica para avaliar o modelo.

Já os dados de validação são para teste de hiperparâmetros ou outros modelos. Se você quiser, pode usar o conjunto de teste e validação como o mesmo conjunto, é uma forma de abordar. Em redes neurais, por exemplo, podemos usar o conjunto de validação para testar número de neurônios da camada escondida, função ativação, e outros hiperparâmetros.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

O que são as seguintes técnicas de amostragem?

Probabilística:
1 - Aleatórira (casual) simples
2 - Sistemática
3 - Estratificada
4 - Por conglomerados

Não probabilística:
5 - A esmo
6 - Intecional (por julgamento)
7 - Por cotas
9 - Bola de neve

A

Ao contrário da não probabilística, a probabilistica tem acesso a toda a população, e é feita através de um sorteio não viciado.

Probabilística:
1 - Aleatórira (casual) simples: feita por sorteio não viciado.

2 - Sistemática: escolhe-se aleatoriamente o primeiro, e depois segue de tantos em tantos. Ex.: pegar um a cada 100 de toda a população.

3 - Estratificada: estratifica a amostra de acordo com grupos de características similares e faz um sorteio dentro desses grupos.

4 - Por conglomerados: parecido com a estratificada, mas os grupos são escolhidos de forma mais arbitrária.

Não probabilística:
5 - A esmo: indivíduos escolhidos ao acaso.

6 - Intecional (por julgamento): indivíduos escolhidos intencionalmente, por se pensar que compoem um grupo representativo da população.

7 - Por cotas: sorteio feito dentre grupos definidos.

9 - Bola de neve: pede aos ecolhidos ao acaso que indiquem outros escolhidos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Quando ocorre o tratamento de um ou mais dados, é gerada a informação, a
qual constitui conhecimento quando aplicada em determinado contexto. Certo ou errado?

A

Certo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Os termos CÉU e AZUL, quando utilizados separadamente, representam
dados, enquanto a expressão CÉU É AZUL representa uma informação. Certo ou errado?

A

Certo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Diferencie os tipos de dados estruturados, semi-estruturados e não estruturados.

A
  • Estruturados:
  • Dados organizados em tabelas com colunas e linhas, como em um banco de dados relacional. Os tipos de cada atributo são definidos para cada coluna (int, varchar, etc.)
  • Semiestruturados:
  • Dados organizados de maneira que não seguem uma tabela rígida, mas têm alguma estrutura, como XML e JSON.
  • Não Estruturados:
  • Dados sem estrutura pré-definida, como texto livre, imagens, vídeos e som. Ex.: dados de redes sociais.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Caracterize os seguintes tipos de arquivo:

  • TXT
  • CSV
  • XLSX
  • XML
  • JSON
  • Parquet
A
  • TXT (Texto Puro):
  • Contém dados em formato de texto simples, sem estruturação formal além de quebras de
    linha. É fácil de abrir, mas não é eficiente para grandes volumes de dados ou metadados.
  • CSV (Comma-Separated Values):
  • Armazena dados tabulares em texto simples, onde os valores são separados por vírgulas (ou outro delimitador, como ponto e vírgula).
  • É amplamente utilizado por sua simplicidade e compatibilidade com muitos sistemas, mas não lida bem com dados complexos ou hierárquicos.
  • Estrutura: linha
  • obs.: ao colocar um texto entre aspas, eles ignora o separador
  • XLSX (Excel):
  • Formato binário utilizado pelo Microsoft Excel para armazenar planilhas.
  • Permite a formatação rica e o uso de fórmulas, mas pode ser mais difícil de manipular em sistemas automatizados por ser um formato binário mais complexo.
  • XML (Extensible Markup Language):
  • Usado para armazenar dados de forma estruturada e hierárquica - utiliza <tags> que podem aninhar outras </tags>.
  • Amplamente utilizado para intercâmbio de dados entre sistemas, embora possa ser verboso e difícil de manipular
    em grandes volumes.
  • JSON (JavaScript Object Notation):
  • Formato leve e legível para humanos, comumente usado em APIs para a troca de dados entre sistemas.
  • Suporta estruturas hierárquicas, sendo mais eficiente que o XML em muitos casos - utiliza a estrutura chave-valor.
  • Estrutura: hierárquico
  • Parquet:
  • Formato de armazenamento de dados em colunas, otimizado para leitura e escrita eficiente em grandes volumes
    de dados - a leitura e manipulação de dados é feita por um subconjunto de colunas.
  • Usado frequentemente em big data e sistemas analíticos distribuídos (como Hadoop e Spark) por sua alta
    performance.
  • Estrutura: colunar
  • Alta compactação
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Cite características de bancos de dados NoSQL.

A

*Not Only SQL.
*Bancos de dados distribuídos não relacionais.
* Trabalham com Big Data.
*Não possuem modelo de dados fixo.
*Não são orientados a objeto.
*Aceitam SQL.
* Trabalham com dados não estruturados e
semiestruturados, primariamente. (mas aceitam dados estruturados tbm)
*Aceitam diversos tipos de modelo de dados, incluindo schema-less.
*Dados distribuídos globalmente.
* É mais flexível e rápido.
* Escalabilidade horizontal.
* Não tem operação ACID
* Não tem normalização
* Não tem imunidade a SQL injection

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

O que é o esquema ACID de bancos de dados relacionais?

A

*Atomicidade:
* As transações são indivisíveis.
*Consistência:
* As regras de integridade devem ser respeitadas.
*Isolamento:
* Transações em paralelo não interferem umas nas outras.
*Durabilidade:
* As transações devem persistir em um banco de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

O que diz o teorema CAP relacionado a bancos de dados NoSQL?

A
  • Teorema de Brewer.
  • É impossível que o armazenamento de dados distribuído
    forneça simultaneamente mais de duas das três garantias
    seguintes:
  • Consistência:
  • Os clientes veem os mesmos dados em um instante de tempo.
  • Os dados gravados em um nó devem ser distribuídos para outro nó para
    que a transação seja finalizada.
  • Disponibilidade (availability):
  • Cada pedido recebe uma resposta (sem erro).
  • Partição tolerante a falhas:
  • O cluster deve continuar a funcionar mesmo de ocorrer uma ou mais
    falhas de comunicação entre os nós no sistema.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

O que é a propriedade BASE de bancos de dados NoSQL?

A

*BASE (Basically Available, Soft State with Eventual
Consistency).
* Valoriza a disponibilidade sobre a consistência.
* Basically Available:
* Operações de escrita e leitura estão disponíveis, mas sem
consistência automática.
* Soft State:
* O estado dos dados não é garantido sem consistência.
* Eventual Consistency:
* Alterações em um banco dados não são propagadas de forma
imediata.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Quais são os tipos de bancos NoSQL?

A
  • Chave-Valor:
  • Redis, DynamoDB, Riak, Tokyo Cabinet/Tyrant, Voldemort, Memcached, Scalaris, Amazon SimpleDB e Oracle BDB.
  • Documentos:
  • MongoDB, Elasticsearch, Azure Cosmos DB, DocumentDB, CouchDB, CouchBase, RavenDB, OrientDB, IBM Cloudant, CrateDB, BaseX e Lotus
    Notes.
  • Graph:
  • Neo4j, Neptune, HyperGraphDB, Infinite Graph, JanusGraph, InfoGrid, Titan e FlockDB.
  • Colunar:
  • Cassandra, HBASE, Bigtable e Hypertable.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

O que é o modelo NoSQL orientado a grafos?

A

*Armazenam, mapeiam e procuram
relacionamentos entre nós por meios
de arestas.
*Nós são elementos de dados.
*Arestas são relacionamentos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Quando usar o modelo orientado a grafos?

A
  • Dados de redes sociais.
  • Detecção de fraudes.
  • Logística (ex.: Waze).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

O que é a Gremlin?

A

Linguagem específica para percorrer grafos com padrão Blueprint.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Neo4J respeita ACID?

A

Sim, apesar de ser NoSQL.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Qual linguagem o Neo4j utiliza?

A

Cypher query language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

o que fazem os seguintes comandos na Cypher Query Language?

MATCH
CREATE
SET
RETURN
DELETE
DETACH DELETE
REMOVE

A
  • MATCH:
  • Faz pesquisa e retorna nós e relacionamentos.
  • Segue o padrão:
  • (um nó)-[relacionado]->(com outro nó)
  • CREATE:
  • Cria nós e relacionamentos.
  • SET:
  • Muda as propriedades.
  • RETURN:
  • Retorna as consultas feitas com o match.
  • DELETE:
  • Apaga nós e relacionamentos.
  • DETACH DELETE:
  • Apaga um nó e seus relacionamentos.
  • REMOVE:
  • Remove propriedades.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

O que o seguinte código em Cypher faz?

  • CREATE (u1:Usuário {Nome: “Usuário 1”, Id: 1 })
  • CREATE (u2:Usuário {Nome: “Usuário 2”, Id: 2 })
  • CREATE (m1:ModuloSistema {Nome: “Compras”})
  • CREATE (m2:ModuloSistema {Nome: “Financeiro”})
  • CREATE (u1)-[r1:PosssuiAcesso {NívelAcesso: “escrita”}]->(m1)
  • CREATE (u1)-[r2:PosssuiAcesso {NívelAcesso: “leitura”}]->(m1)
  • CREATE (u2)-[r3:PosssuiAcesso {NívelAcesso: “administrador”}]->(m1)
  • CREATE (u2)-[r4:PosssuiAcesso {NívelAcesso: “escrita”}]->(m2)
A

Cria dois usuários, com nome e id. Cria dois módulos de sistema. Cria relacionamentos de tipos de acesso que cada usuário tem para cada módulo do sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

O que o seguinte código em Cypher faz?

MATCH (u:Usuário), (m:ModuloSistema) return *

A

retorna todos os relacionamento entre usuário e módulo do sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

O que é o modelo NoSQL orientado a colunas?

A

*Armazena os dados como uma coleção de colunas conhecida como família. Podem ter supercolunas e outras subcolunas (como se fosse uma mesclagem de células no Excel).
* Linhas não precisam ter as mesmas colunas.
*Cada coluna é tratada (consultada, lida, agregada) separadamente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Quando usar o modelo orientado a colunas?

A
  • BI.
  • Analytics.
  • Processamento de Big Data.
39
Q

O que é o Apache Cassandra?

A

Banco de dados NoSQL orientado a colunas, open-source, criado pelo Facebook.
* Usa pares de chave-valor e tabelas.
* As linhas de uma tabela (ou família de colunas) pode
conter uma quantidade variável de colunas.
* Usa a Cassandra Query Language (CQL).
* O shell para usar a CQL é o cqlsh.

40
Q

No Cassandra Query Language, as tabelas possuem esquema?

A

Sim, chamados de Keyspace.
Para criar: CREATE KEYSPACE nome

41
Q

No Cassandra Query Language, como criar tipos de dados?

A

CREATE TYPE address(
street text
city text
zip text
phone map<text, phone>.
);

42
Q

No Cassandra Query Language, as tabelas podem usar PRIMARY KEY?

A

Sim.

43
Q

No Cassandra Query Language, o esquema é flexível?

A

Sim.

44
Q

No Cassandra Query Language, pode se retornar o formato JSON?

A

Sim.
SELECT JSON

45
Q

O que é o modelo NoSQL Orientado a Chave-Valor?

A

Consiste em uma tabela com duas colunas: chave (hash) e valor.
*O valor pode ser um
número, um texto, uma
imagem, um documento.
*Utiliza uma tabela hash com chaves únicas
apontando para cada valor
* É schema-less.

46
Q

Quando usar o modelo orientado a chave-valor?

A
  • Acelerar a performance de aplicativos com cache.
  • Armazenar dados pessoais de usuários.
  • Gerenciar sessões em jogos on-line.
  • Dicionários e coleções.
47
Q

Como a consistência é aplicável no modelo chave-valor?

A

o conceito de consistência é
aplicável apenas às operações em uma única chave, já que
essas operações são a obtenção, a gravação ou a exclusão
em uma única chave

48
Q

Dê exemplos de bancos de dados chave-valor.

A

O Redis e o Amazon DynamoDB

49
Q

O que é o modelo NoSQL orientado a documento?

A

*Armazenar e consultar documentos semi-estruturados (JSON, BSON, XML, HTML etc.)
*Cada documento é uma linha ou registro da base.
* São armazenados do formato chave-valor DENTRO DE CADA DOCUMENTO.
*Não existe esquema.
*Não existe informação sobre um documento fora do documento.

50
Q

Quando usar o modelo NoSQL orientado a documentos?

A
  • Aplicativos mobile.
  • E-Commerce.
  • Internet das Coisas - SmartTV, Geladeira Smart.
  • Analytics em tempo real - com dados vindos da internet.
  • Blogs e CMS.
51
Q

Podem ser usadas expressões regulares em modelos orientados a documentos?

A

Sim, especialmente no MongoDB

52
Q

Modelos orientados a documentos tem atomicidade?

A

Sim, a nível de documento.

53
Q

Qual é o principal banco de dados orientado a documentos?

A

MongoDB

54
Q

O que é o MongoDB?

A

Banco de dados NoSQL orientado a documentos, open-source, escrito em C++.
* Usa o formato JSON-like BSON.
* Consultas ad hoc:
* Permite expressões regulares, recuperação de documentos, de partes
de documentos e de amostras randômicas.
* Replicação:
* São criadas bases de dados réplica e uma primária. (sistema mestre - primária, escravo - réplicas)
* A primária é responsável pela escrita e as réplicas são de leituras.
* Se a primária falhar, uma réplica assume o posto.
* Indexação:
* Permite indexação de documentos e de campos de documentos dos
mais variados tipos.

55
Q

Como é organizada a estrutura do MongoDB?

A

A base de dados é um container físico que armazena as coleções. As coleções são conjuntos de documentos. Os documentos são conjuntos de pares chave-valor com esquema dinâmico.

56
Q

Qual é o shell da MongoDB?

A

Mongosh

57
Q

Qual é o aplicativo para criar backups no MongoDB?

A

Mongodump

58
Q

O que é o MongoDB Database Profiler?

A

Aplicativo que coleta informações
sobre comandos executados.

59
Q

(MongoDB) Quais comandos fazem as seguintes ações no database?

  • lista todos os bancos de dados.
  • selecionar um banco de dados
  • verifica qual o banco de dados em uso no momento.
  • apaga um banco de dados.
A
  • show dbs - lista todos os bancos de dados.
  • use [nome-do-banco] - selecionar um banco de dados, ex.: use admin.
  • db - verifica qual o banco de dados em uso no momento.
  • db.dropdatabase() - apaga um banco de dados.
60
Q

(MongoDB) Quais comandos fazem as seguintes ações nas coleções?

  • Mostra as collections.
  • Cria uma collection
  • Cria uma collection “posts” com o objeto “object”.
  • Mostra todos os dados de uma coleção
  • Mostra os documentos da coleção com a categoria News.
  • Insere dados numa coleção
  • Atualiza(update) dados em um documento
  • Deleta uma coleção
  • Remove um documento com a chave
  • Cria índices em coleções.
A
  • show collections - Mostra as collections.
  • createcollection() - Cria uma collection, exemplo: db.createcollection(“minhacolecao”).
  • db.posts.insertOne(object) – Cria uma collection posts com o objeto object.
  • db.nome_da_colecao.find().pretty() – Mostra todos os dados de uma coleção, ex.:
    db.system.users.find().pretty().
  • db.posts.find( {category: “News”} ) – Mostra os documentos da coleção com a categoria
    News.
  • db.nome_da_colecao.insert() - Insere dados numa coleção, ex.: db.minhacolecao.insert(
    { “_id” : 0, “site” : “terminal root”, “url” : “terminalroot.com.br”, “content” : “sobre
    mongodb” } ).
  • db.nome_da_colecao.update( ) - Atualiza(update) dados em um documento, ex.:
    db.minhacolecao.update({‘content’: mongodb’},{set:{‘content’:’mongodb para
    concursos’}}).
  • db.nome_da_colecao.drop() - Deleta uma coleção, ex.: db.minhacolecao.drop().
  • db.dados.remove({“mail”: “james@brown.org”}) - Remove um documento com a chave
    mail igual a james@brown.org.
  • db.collection.createIndex(<filedname>. ) – Cria índices em coleções. db.collection.createIndex</filedname>
  • ({<fieldname>:(1|-1)});</fieldname>
61
Q

(Banco de dados orientado a colunas) os dados são indexados por uma tripla (linha, coluna e timestamp). Certo ou errado?

A

Certo.

62
Q

Entre os bancos de dados NoSQL, o banco de dados chavevalor é o mais fácil de se utilizar, a partir da perspectiva de uma API, devido ao fato de ser considerado uma tabela hash simples. Certo ou errado?

A

Certo.

63
Q

Conceitue:

  • Data Warehouse
  • Data Mart
  • Data Lake
A

Data warehouses, data lakes e data marts são diferentes soluções de armazenamento em nuvem.

  • Um data warehouse armazena dados em um formato estruturado. Ele é um repositório central de dados pré-processados para análise e business intelligence.
  • Um data mart é um data warehouse que atende às necessidades de uma unidade de negócios específica, como o departamento de finanças, marketing ou vendas da empresa.
  • Um data lake é um repositório central para dados brutos e dados não estruturados. Você pode armazenar os dados primeiro e processá-los mais tarde.
64
Q

O processo de ETL é ligado a qual tipo de armazenamento em nuvem?

A

Data Warehouse

65
Q

O processo de ELT é ligado a qual tipo de armazenamento em nuvem?

A

Data Lake

66
Q

Qual destes possui armazenamento de menor custo, DW ou Data Lake?

A

Data Lake

67
Q

Em qual destes é mais fácil garantir a segurança dos dados, DW ou Data Lake?

A

Data Warehouse

68
Q

O conceito de staging area está ligado a qual tipo de armazenamento?

A

DW.

69
Q

Qual destes apresenta maior qualidade de dados, DW ou data lake?

A

DW

70
Q

O que é um Data Lakehouse?

A

Um data lakehouse é uma arquitetura aberta e nova de gerenciamento de dados que incorpora a flexibilidade, a economia e a escalabilidade de um data lake com o gerenciamento de dados e os recursos de transações ACID de um data warehouse.

Um data lakehouse permite um único repositório para todos os seus dados (estruturados, semiestruturados e não estruturados), ao mesmo tempo que permite os melhores recursos de aprendizado de máquina, business intelligence e streaming.

Os data lakehouses geralmente começam como data lakes contendo todos os tipos de dados; os dados são então convertidos para o formato Delta Lake (uma camada de armazenamento de código aberto que traz confiabilidade aos data lakes). Os Delta Lakes permitem processos transacionais ACID de data warehouses tradicionais em data lakes.

Data lakehouse apresentam armazenamento flexível de baixo custo e a sua arquitetura reforça o esquema e a integridade dos dados, facilitando a implementação de mecanismos robustos de segurança e governança de dados.

71
Q

Quando escolher um Data Warehouse, Data Lake ou Data Lakehouse?

A

Data lakehouses podem ser complexos para construir do zero e não é uma tecnologia tão madura quanto as demais.

Um data warehouse é uma boa escolha para empresas que buscam uma solução de dados estruturada e madura que se concentre em casos de uso de business intelligence e análise de dados.

No entanto, os data lakes são adequados para organizações que buscam uma solução flexível, de baixo custo e de big data para impulsionar cargas de trabalho de aprendizado de máquina e ciência de dados em dados não estruturados.

Suponha que as abordagens de data warehouse e data lake não estejam atendendo às demandas de dados da sua empresa ou que você queira combinar os benefícios do DW com os benenfícios do Data Lake. Nesse caso, um data lakehouse é a escolha indicada.

72
Q

O que são Vector Stores? Cite casos de uso.

A

Vector stores (ou “armazéns de vetores”) são sistemas ou bancos de dados especializados em armazenar, gerenciar e realizar buscas eficientes sobre vetores (ou embeddings), que são representações numéricas de dados em um espaço vetorial de alta dimensão. Esses vetores são comumente gerados a partir de dados não estruturados, como textos, imagens, sons, etc., e são utilizados para capturar informações semânticas ou características latentes dos dados.

Os vetores são normalmente gerados por modelos de aprendizado de máquina, como redes neurais, que transformam dados complexos em vetores numéricos contínuos de uma forma que preserva as relações semânticas. Isso significa que dados semelhantes são representados por vetores que estão próximos uns dos outros no espaço vetorial.

Casos de uso:

1 - Busca semântica (Semantic Search): Exemplo: Um usuário pode buscar por “melhores maneiras de economizar energia” e o sistema pode retornar artigos sobre “estratégias de redução de consumo elétrico”, mesmo sem coincidência exata de palavras.

2 - Recomendação de Conteúdo: recomenda conteúdos similares

3 - Agrupamento e Classificação (Clustering):
Vetores podem ser usados para agrupar dados semelhantes em clusters. Esse método é útil em análises de grandes volumes de dados não estruturados, como em análise de sentimentos, agrupamento de notícias semelhantes, ou categorização automática de produtos.

4 - Análise de Similaridade de Imagens: busca de imagens semelhantes

5 - Chatbots e Assistentes Virtuais:
Embeddings de texto são amplamente usados em chatbots para garantir que as respostas estejam semanticamente relacionadas às consultas dos usuários, mesmo quando a formulação da pergunta não é idêntica.

6 - Detecção de Fraudes: Exemplo: Uma transação bancária que gera um vetor muito distante dos vetores de transações normais pode ser marcada como suspeita.

7 - Processamento de Linguagem Natural (NLP):
Em várias aplicações de NLP, como tradução automática, sumarização de textos e análise de sentimentos, os embeddings são fundamentais para representar os textos de forma a capturar contextos e relações semânticas.

73
Q

A arquitetura de um data lake é rígida?

A

Não. Ela é flexível e personalizável.

74
Q

O que é o Apache Hadoop?

A

Framework de código aberto que permite o armazenamento distribuído e processamento paralelo de grandes conjuntos de dados (BigData).

75
Q

Quais são as características do Apache Hadoop?

A
  • Capacidade de armazenar e processar grandes quantidades de qualquer tipo de dado, e
    rapidamente.
  • Poder computacional.
  • Tolerância a falhas.
  • Replicação tripla de dados.
  • Flexibilidade.
  • Não precisa de pré-processamento dos dados.
  • Custo baixo.
  • Open source.
  • Escalabilidade.
  • Escrito em Java.
76
Q

O Hadoop possui clusters de dois tipos: NameNode e DataNode. Explique o que cada um faz.

A
  • NameNode: Mestre
  • Responsável por gerenciar onde cada arquivo está armazenado e controlar o acesso.
  • Recomenda-se o backup dos dados do NameNode, pois em caso de perda, todos os dados do cluster são perdidos.
  • Para minimizar as falhas, pode-se ter uma réplica, o Secondary DataNode.
  • DataNode: Escravo
  • Responsável pela leitura e gravação dos arquivos, além de executar operações de
    criação, exclusão e replicação de acordo com as instruções recebidas pelo NameNode.
  • Como os dados são replicados (3x), não necessitam de backup de dados.
77
Q

O que é o HDFS?

A

Hadoop Distrirbuted File System: sistema de armazenamento de dados distribuído e tolerante a falhas.
* componente principal do Hadoop
* os administradores não precisam definir esquemas antecipadamente.

78
Q

O que é o MapReduce?

A

O Hadoop MapReduce é um mecanismo de execução do Apache Hadoop que processa grandes quantidades de dados de forma distribuída.
Na etapa Map, os dados são divididos entre tarefas de processamento paralelo.
Na etapa Reduce, os dados divididos pela etapa Map são agregados.

79
Q

O que é o HCatalog?

A

O HCatalog é um sistema de gerenciamento de metadados para Hadoop. Ele fornece uma tabela abstrata que facilita o compartilhamento de dados entre diferentes ferramentas do ecossistema Hadoop, como Hive, Pig e MapReduce.

80
Q

O que é o Apache Hive?

A

O Apache Hive é um software de data warehouse de código aberto projetado para ler, gravar e gerenciar grandes conjuntos de dados extraídos do Apache Hadoop Distributed File System (HDFS). Utiliza a Hive Query Language (Hive SQL).

81
Q

O que é o Hadoop YARN?

A

Componente do Hadoop que gerencia recursos e agenda trabalhos.

82
Q

O que é o Hadoop PIG?

A

O Apache Pig é uma biblioteca Apache de código aberto que é executada sobre o Hadoop, fornecendo uma linguagem de scripts que você pode usar para transformar grandes conjuntos de dados sem precisar gravar códigos complexos em uma linguagem de computação de nível inferior, como Java. A biblioteca usa comandos SQL semelhantes a comandos escritos em uma linguagem chamada Pig Latin e converte esses comandos em tarefas.

83
Q

O que é o Hadoop HBase?

A

O Apache HBase é um banco de dados NoSql de alta performance baseado no projeto Hadoop, orientado a coluna, open source e escrito em Java.

84
Q

O que é o Apache Spark?

A

Framework para computação distribuída e para processamento de dados em
larga escala.
Código aberto.
Escrito em Scala.
Oferece paralelismo de dados e tolerância a falhas.
Não possui sistema de armazenamento próprio (pode usar o HDFS do Hadoop por exemplo).

85
Q

Quais as vantagens do Spark sobre o Hadoop?

A

Processamento em memória (mais rápido), Provê API de alto nível em Java, Scala, Python e R (hadoop só trablha em Java)

86
Q

(Apache Spark) O que fazem os seguintes módulos?

Spark Core
Spark SQL
MLlib
GraphX
Spark Streaming
SparkR
PySpark
Panda API em Spark
BlinkDB

A

Spark Core é o módulo principal (base para o processamento de dados em paralelo).
Spark SQL para processamento de dados estruturados, usando SQL.
MLlib para Aprendizado de Máquina.
GraphX para processamento de grafos.
Spark Streaming para processamento em tempo real.
SparkR para processar dados com R.
PySpark para processar dados com Python.
Panda API em Spark para trabalhos com Pandas.
BlinkDB para consultas em SQL com amostragem.

87
Q

Descreva a arquitetura do Spark.

A
  • Driver Program:
    Aplicação principal.
  • Cluster Manager:
    Administra as
    máquinas nos clusters.
  • Workers:
    Executam as tarefas
    enviadas pelo Driver
    Program.

O programa escrito pelo usuário é conhecido como Driver Program, esse programa é submetido ao Cluster Manager que gera o plano de execução e delega o processamento aos demais nós de processamento conhecidos como Worker Nodes. Para executar programas com o Apache Spark é imperativo que todos os nós consigam trocar informações através da gravação de arquivos em sistemas de arquivos distribuídos (DFS), tais como HDFS ou S3, por exemplo.

88
Q

(Apache Spark) O que são RDD?

A

RDD (Resilient Distributed Dataset) é uma estrutura de dados fundamental do Apache Spark que permite o processamento de dados de forma distribuída e paralela. São imutáveis (somente leitura). Seguem o conceito de lineage: toda vez que uma transforção é feita sobre um RDD, um novo RDD é criado, mantendo assim a versão anterior intacta. Apenas operações de transformação criam novos RDDs (como map(function) e filter(function). Operações de ação não criam novos RDDs (como count, take, collect, etc).

Resilient:
Tolerantes a falhas.
Distributed:
Armazenados na memória por todo o cluster.
Datasets:
Conjuntos de dados provenientes das fontes

89
Q

O que fazem as principais operações em RDD?

  • map
  • filter
  • flatMap
  • groupByKey
  • reduceByKey
  • count
  • take
  • collect
  • saveAsTextFile
  • reduce
  • foreach
A

Transformação:

  • map(function) -> cria um novo RDD processando a função em cada registro
    do RDD.
  • filter(function) -> cria um novo RDD incluindo ou excluindo cada elemento
    de acordo com um função booleana.
  • flatMap: Similar ao map, mas cada elemento pode ser mapeado para múltiplos elementos (ou nenhum).
  • groupByKey: Agrupa os elementos do RDD (chave, valor) com base nas chaves.
  • reduceByKey: Combina os valores de cada chave usando uma função de redução.

Exemplo: rdd.reduceByKey((x, y) => x + y) somaria os valores com a mesma chave.

Ações:

  • count() -> retorna o número de elementos.
  • take(n) -> retorna um array com os primeiros n elementos.
  • collect() -> retorna um array com todos os elementos.
  • saveAsTextFile(file) -> salva o RDD no arquivo.
  • reduce: Combina os elementos do RDD usando uma função de redução.

Exemplo: rdd.reduce((x, y) => x + y) soma todos os elementos do RDD.

  • foreach: Aplica uma função a cada elemento do RDD sem retornar um resultado ao driver.

Exemplo: rdd.foreach(x => println(x)) imprime cada elemento.

90
Q

Qual é a vantagem do Hadoop sobre o Spark?

A

Hadoop MapReduce é capaz de trabalhar com conjuntos de dados muito maiores do que o Spark.

91
Q

Hadoop processa dados em tempo real?

A

Não, ele deve ser usado apenas para batch.

92
Q

(hadoop) Qual a configuração adequada para esse sistema HDFS ser mais tolerante a falhas?

A

particionar os arquivos em blocos de 64 MB e replicar os blocos em três cópias no modo cluster e uma cópia no modo local, alocando os mesmos em servidores diferentes.

Particionamento em blocos de 64 MB: Essa é uma característica padrão do HDFS, que divide os arquivos em blocos menores para facilitar a distribuição e o paralelismo.

Replica em três cópias no modo cluster: Essa é a chave para a tolerância a falhas. Ao replicar cada bloco em três nós diferentes do cluster, o sistema garante que, mesmo que um ou dois nós falhem, os dados ainda estarão disponíveis nas outras réplicas.

Uma cópia no modo local: A cópia local pode melhorar o desempenho de leitura, mas não é essencial para a tolerância a falhas.

93
Q

O que é o CRISP-DM?

A

É uma metodologia de gestão de projetos de mineração de dados, não proprietário (gratuito), agnóstica (não prescreve tecnologia), flexível, adaptável, cíclica, iterativa e incremental.

94
Q

Quais as etapas do CRISP-DM?

A

1) Compreensão do négocio
Compreender os objetivos e requisitos do projeto de DM.
Entender o contexto do negócio.
Identificar os especialistas da organização.
Levantar as necessidades e expectativas.
Levantar hardware e software.
Inventariar as bases de dados.

2) Compreeensão dos dados
Entender os dados.
Avaliar a qualidade dos dados.
Avaliar o volume de dados.

3) Preparação dos dados
Selecionar os dados para análise.
Limpar os dados.
Formatar os dados.
Transformar os dados.
Construir novos dados.
Enriquecimento de dados.

4) Modelagem
Escolher e aplicar as técnicas de mineração de dados.

5) Avaliação
Avaliar o modelo de mineração produzido quanto a:
Qualidade.
Precisão.
Relevância.

6) Desenvolvimento
Implantar o processo de mineração de dados em produção.
Incorporar o DM ao processo de negócio.
Desenvolver novas estratégias de negócio.