0% acharam este documento útil (0 voto)
12 visualizações67 páginas

Aula Bancas Diversas 2019 NoSQL

A aula sobre Banco de Dados NoSQL aborda conceitos fundamentais, diferenças entre SQL e NoSQL, e tipos de bancos NoSQL, como chave-valor, documentos e grafos. O NoSQL é projetado para gerenciar grandes volumes de dados não estruturados, oferecendo flexibilidade e escalabilidade, em contraste com os bancos de dados relacionais que utilizam um modelo rígido. A aula também discute transações, teorema CAP e o uso de NoSQL na indústria, destacando suas vantagens em ambientes de Big Data.

Enviado por

ginnusd
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
12 visualizações67 páginas

Aula Bancas Diversas 2019 NoSQL

A aula sobre Banco de Dados NoSQL aborda conceitos fundamentais, diferenças entre SQL e NoSQL, e tipos de bancos NoSQL, como chave-valor, documentos e grafos. O NoSQL é projetado para gerenciar grandes volumes de dados não estruturados, oferecendo flexibilidade e escalabilidade, em contraste com os bancos de dados relacionais que utilizam um modelo rígido. A aula também discute transações, teorema CAP e o uso de NoSQL na indústria, destacando suas vantagens em ambientes de Big Data.

Enviado por

ginnusd
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 67

Aula – Banco de Dados NoSQL

Curso: Tecnologia da Informação


Professor: Vitor Ribeiro
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Aula – Banco de Dados NoSQL (Key/Value, Orientados a


Documentos e Grafos)

ASSUNTOS PÁGINA

1. BANCO DE DADOS NoSQL .......................................................... 3


1.1 Conceito ...................................................................................... 3
1.2 SQL vs NoSQL .............................................................................. 5
2. TIPOS DE BANCOS DE DADOS NoSQL......................................... 11
2.1 NoSQL do tipo Chave-Valor (Key/Value) ......................................... 12
2.2 NoSQL do tipo Documentos .......................................................... 14
2.3 NoSQL do tipo Colunas ................................................................ 16
2.4 NoSQL do tipo Grafos .................................................................. 18
2.5 Resumo dos tipos de Bancos NoSQL ............................................... 22
3. TRANSAÇÕES EM NoSQL .......................................................... 23
4. TEOREMA CAP ........................................................................ 27
5. BIG DATA VS NoSQL ................................................................ 31
6. USO DE NoSQL PELA INDÚSTRIA ............................................... 33
7. QUESTÕES COMENTADAS ......................................................... 35
8. RISCO EXPONENCIAL ............................................................... 51
9. LISTAS DE EXERCÍCIOS ........................................................... 57
10. GABARITO ............................................................................. 67
11. REFERÊNCIAS ......................................................................... 67

Para facilitar sua referência, abaixo listamos as esquematizações desta aula:

Esquema 1 – Conceito de NoSQL. ..................................................................................... 4


Esquema 2 – Características de funcionamento do NoSQL. ................................................... 6
Esquema 3 - Diferenças entre bancos de dados SQL e NoSQL .............................................. 10
Esquema 4 – Tipos de bancos NoSQL. .............................................................................. 11
Esquema 5 - Bancos de Dados NoSQL por tipo de orientação. ............................................. 19
Esquema 6 - Características Chaves de cada tipo de NoSQL ................................................ 22
Esquema 7 – Resumo das Propriedades ACID .................................................................... 24
Esquema 8 – Resumo das Propriedades BASE .................................................................... 26
Esquema 9 – Diagrama do Teorema CAP .......................................................................... 27

Prof. Vitor Ribeiro 2 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

1. BANCO DE DADOS NoSQL

1.1 Conceito

O grande volume de dados gerado por aplicações Web, juntamente com


os requisitos diferenciados destas aplicações, como a escalabilidade sob
demanda e o elevado grau de disponibilidade, têm contribuído para o
surgimento de novos paradigmas e tecnologias.
As redes sociais, por exemplo, requerem o gerenciamento de grandes
quantidades de dados não estruturados, os quais são gerados diariamente por
milhões de usuários em busca do compartilhamento de informações,
conhecimentos e interesses.
Neste contexto, surgiu uma nova categoria de Banco de Dados (BD),
chamada NoSQL (Not Only SQL – “não somente relacional”), que foi
proposta com o objetivo de atender aos requisitos de gerenciamento de
grandes volumes de dados, semiestruturados ou não estruturados, que
necessitam de alta disponibilidade e escalabilidade. A necessidade de uma
nova tecnologia de BD surgiu como consequência da ineficiência dos bancos de
dados relacionais em lidar com esta tarefa.
Bancos de dados NoSQL são utilizados para modelos de dados específicos
e têm esquemas flexíveis para a criação de aplicativos modernos. São
amplamente reconhecidos por sua facilidade de desenvolvimento,
funcionalidade e performance em escala.
Eles usam vários modelos de dados, são eles: documentos, grafos,
chave-valor, colunas.
Durante décadas, o modelo de dados predominante usado para
desenvolvimento de aplicativos foi o modelo usado por bancos de dados
relacionais, como Oracle, DB2, SQL Server, MySQL e PostgreSQL. Somente em
meados dos anos 2000 que outros modelos de dados começaram a ser adotados
e ter um uso mais significativo. Para diferenciar e categorizar essas novas
classes de bancos e modelos de dados, o termo “NoSQL” foi criado.

Prof. Vitor Ribeiro 3 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Em resumo:

Grandes volumes
de dados

Semiestruturados
Esquemas flexíveis
(schema-free) NoSQL ou não
estruturados

Alta disponibilidade
e escalabilidade

Esquema 1 – Conceito de NoSQL.

Prof. Vitor Ribeiro 4 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

1.2 SQL vs NoSQL


A principal diferença nos bancos de dados NoSQL é que toda a informação
é agrupada e guardada no mesmo registro. Já no SQL precisávamos de ter uma
relação entre as várias tabelas para ter acesso toda a informação. É notada a
diferença entre verticalmente escalável (SQL) ou horizontalmente escalável
(NoSQL).
É importante ressaltar que o NoSQL não veio para substituir o SQL,
mas sim para oferecer uma alternativa mais flexível ao suporte de dados.
Podemos usar sempre ambas as soluções para diferentes casos de uso. Por isso,
em muitas soluções escalares de sucesso é utilizada uma arquitetura híbrida,
aproveitando o melhor dos dois modelos.
Algumas características devem ser observadas no modelo de banco de
dados relacional, as quais indicam as formas normais (normalização) do banco.
Essa normalização do banco relacional, busca garantir que todos os dados
armazenados não sejam multivalorados, não apresentem dependência funcional
parcial ou transitiva. Isso faz com que o banco de dados cresça em número de
tabelas e relacionamentos, o que no Big Data gera consequências.
Já na modelagem de bancos de dados orientados a documentos por
exemplo, pode-se utilizar uma estrutura complexa para armazenar os dados,
onde as informações podem ser agrupadas em um único documento, de modo
a representar a visão dos dados para os negócios da empresa.
Diferente da modelagem de banco relacional, necessária no início do
projeto, ainda muitas das vezes não temos a visão completa do projeto, e em
um banco NoSQL há liberdade de esquema (schema-free), de modo que
as alterações degradem menos o software. Vale ressaltar que mesmo com essa
flexibilidade, deve haver um padrão a ser seguido, levando em consideração as
seguintes características:
• Coerência: refere-se a um documento ser compreensível se analisado
individualmente, ou seja, não depender de outros documentos.
• Independência: refere-se a um documento possuir razão própria para
existir.
• Isolamento: refere-se que a modificação de um dado documento, não
deve implicar na modificação de outro.

Prof. Vitor Ribeiro 5 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Independência

Coerência Isolamento

Esquema 2 – Características de funcionamento do NoSQL.

A partir do momento em que se pensa na possibilidade de utilizar um


banco de dados NoSQL ao invés de um modelo relacional, é preciso levar
algumas questões em consideração, como critérios de escalonamento,
consistência e disponibilidade de dados. Vamos apresentar algumas discussões
comparativas mais marcantes no que se diz respeito a estes três conceitos.
Falar sobre escalabilidade é essencial porque é neste aspecto que os
bancos de dados NoSQL possuem uma grande vantagem em relação aos
SGBDs tradicionais, basicamente por terem sido criados para essa
finalidade. Os bancos de dados relacionais possuem uma estruturação que não
a permite tanta flexibilidade, além disso, é menos adaptada para situações em
que o escalonamento se faz necessário.
Neste quesito, o banco de dados NoSQL se destaca pela maior
disponibilidade, maior rapidez nas consultas, paralelismo de
atualização de dados e maior grau de concorrência.
Quanto as transações realizadas, no que diz respeito aos bancos
relacionais temos o ACID que força a consistência ao final de cada operação, já
o paradigma BASE, que é utilizado comumente pelo NoSQL, permite que o banco
de dados eventualmente seja consistente, ou seja, o sistema só se torna
consistente no seu devido momento.
É muito importante entender as características que distinguem um banco
de dados SQL (relacional) de um NoSQL (não só relacional).
Com isso vejamos as principais características que diferenciam os dois
formatos de banco de dados.

Prof. Vitor Ribeiro 6 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Embora existam muitos tipos de bancos de dados NoSQL com recursos


variados, a tabela a seguir mostra algumas das principais diferenças entre os
bancos de dados SQL e NoSQL.

Características Banco de Dados Banco de Dados


/ Atributos SQL NoSQL
Bancos de dados Os bancos de dados de
relacionais são projetados chave-valor, documento,
para aplicativos grafos e colunas do
transacionais e NoSQL são projetados
fortemente consistentes para OLTP para vários
de processamento de padrões de acesso aos
Cargas de
transações online (OLTP) e dados que incluem
trabalho ideais
são bons para aplicativos de baixa
processamento analítico latência. Os bancos de
online (OLAP). dados de pesquisa do
NoSQL são projetados
para análise de dados
semiestruturados.
O modelo relacional Os bancos de dados
normaliza dados em NoSQL fornecem diversos
tabelas, compostas por modelos de dados que
linhas e colunas. Um incluem documento,
esquema define grafos, chave-valor,
estritamente tabelas, colunas e são
colunas, índices, relações caracterizados por serem
Modelo de dados
entre tabelas e outros não somente
elementos do banco de relacional.
dados. O banco de dados
impõe a integridade
referencial nos
relacionamentos entre as
tabelas.
Bancos de dados Os bancos de dados
relacionais fornecem NoSQL geralmente
propriedades de fazem compensações
atomicidade, relaxando algumas das
consistência, propriedades ACID dos
isolamento e bancos de dados
durabilidade (ACID): relacionais para um
Propriedades modelo de dados mais
- A atomicidade exige
ACID flexível que pode ser
uma transação para
escalado
executar completamente
horizontalmente. Isso
ou não é executada de
torna os bancos de dados
forma alguma.
NoSQL uma excelente
- A consistência exige opção para casos de uso
que, quando uma de baixa latência e alta
transação é confirmada, os taxa de transferência que
dados devem estar em precisam ser escalados

Prof. Vitor Ribeiro 7 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Características Banco de Dados Banco de Dados


/ Atributos SQL NoSQL
conformidade com o horizontalmente além das
esquema do banco de limitações de uma única
dados. instância.
- O isolamento exige que
as transações simultâneas
sejam executadas
separadamente umas das
outras.
- A resiliência
(durabilidade) exige a
capacidade de se recuperar
de uma falha do sistema
ou falta de energia
inesperada para o último
estado conhecido.
A performance A performance
normalmente depende do geralmente é uma
subsistema do disco. A função do tamanho do
otimização de consultas, cluster
Performance índices e estrutura de do hardware subjacente,
tabela é necessária para da latência de rede e do
alcançar máxima aplicativo que faz a
performance. chamada.

Os bancos de dados Os bancos de dados


relacionais geralmente NoSQL normalmente são
escalam verticalmente de particionáveis porque os
tamanho ao aumentar os padrões de acesso à
recursos de computação do chave-valor podem
hardware, ou escalam escalar
horizontalmente o horizontalmente o
tamanho ao adicionar tamanho usando
réplicas para cargas de arquitetura distribuída
trabalho somente leitura. para aumentar a taxa de
Escala transferência que fornece
É importante lembrar que
performance consistente
é possível ser feito o
em escala quase
escalonamento em um
ilimitada.
Modelo Relacional, no
entanto, é muito Não possui um
complexo. Possui uma esquema pré-definido
natureza estruturada, fazendo com que este
portanto, a inserção tipo de modelo seja
dinâmica e transparente de flexível o que favorece a
novos nós a tabela não é inserção transparente de
realizada naturalmente outros elementos.

Prof. Vitor Ribeiro 8 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Neste quesito, o Modelo Modelos NoSQL são mais


Relacional se mostra forte. flexíveis quanto a
As suas regras de consistência, em
Consistência consistência são bastante detrimento da
rigorosas no que diz escalabilidade e
respeito à consistência das performance.
informações.
Por não conseguir Ponto forte neste modelo
trabalhar de forma é o que diz respeito à
eficiente com a distribuição disponibilidade, pois
de dados, o Modelo possui um alto nível de
Relacional acaba não distribuição de dados,
suportando uma permitindo assim que
Disponibilidade demanda muito grande seja possível fazer com
de informações. que um enorme fluxo de
solicitações aos dados
seja atendido com a
vantagem do sistema
ficar indisponível o menor
tempo possível.
As solicitações para APIs baseadas em
armazenar e recuperar objetos permitem que
dados são comunicadas desenvolvedores de
usando consultas aplicações armazenem e
compatíveis com uma restaurem facilmente
Structured Query estruturas de dados na
Language (SQL – memória. As chaves de
Linguagem de consultas partição permitem que os
APIs
estruturadas). Essas aplicativos procurem
consultas são analisadas e pares de chave-valor,
executadas pelo banco de conjuntos de colunas
dados relacional. ou documentos
semiestruturados que
contenham objetos e
atributos de aplicativos
serializados.

Prof. Vitor Ribeiro 9 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Em resumo:

SQL NoSQL
Fortemente consistentes de
Análise de dados semiestruturados
processamento

Documento, grafos, chave-valor,


Modelo relacional
colunas

ACID rígida ACID flexível

Performance depende do subsistema do Performance é função do tamanho do


disco cluster

Escaláveis verticalmente Escaláveis horizonatalmente

Regras de consistências rigorosas Regras de consistências flexíveis

Limitação do volumes de dado Alto nível de distribuição de dados

API requer SQL API de dados semiestruturados

Esquema 3 - Diferenças entre bancos de dados SQL e NoSQL

Prof. Vitor Ribeiro 10 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

2. TIPOS DE BANCOS DE DADOS NoSQL


Podemos classificar os modelos existentes em NoSQL de acordo com a
estrutura e a natureza dos dados armazenados.

Existem 4 modelos (tipos) de BD NoSQL. É muito importante que fique


claro as características de cada um deles. Percebam inclusive que o edital
mencionou taxativamente três deles:

a) Key-Value que é o Chave-valor;

b) Orientado a Documentos;

c) Orientado a Grafos.

Apesar de não ter mencionado explicitamente o d) Orientado à Colunas, não o


deixaremos de lado.

Vejamos cada um deles:

Tipos de
bancos
NoSQL

Orientado a Orientado a Orientado a


Chave-valor
Documentos Grafos Colunas

Esquema 4 – Tipos de bancos NoSQL.

Prof. Vitor Ribeiro 11 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

2.1 NoSQL do tipo Chave-Valor (Key/Value)

Como o próprio nome sugere, os bancos que se encaixam nesta


classificação são formados por conjuntos de chaves e seus respectivos valores.
Cada um destes conjuntos, por sua vez, conta ainda com uma chave que
funciona como um identificador único:

Assim como acontece no modelo orientado a documentos, a estrutura de


um banco do tipo chave-valor é bastante flexível. Chaves podem, ou não, se
repetir ao longo de vários agrupamentos de dados.
De todos os modelos de banco de dados NoSQL, o orientado a chave-
valor é o que possui a estrutura mais simples. Ele utiliza chaves como
identificadores das informações gravadas em um campo identificado como
valor. A chave é composta normalmente de um campo do tipo String. Já o
campo valor pode conter diferentes tipos de dados, sem necessitar de um
esquema predefinido (schema free).
Bancos de dados orientados a chave-valor são adequados para aplicações
que realizam leituras frequentes. Existem atualmente diversas opções de
banco de dados orientado a chave-valor. Embora cada um possua suas próprias
características, todas as opções disponíveis são criadas com foco em oferecer
flexibilidade, desempenho e escalabilidade no gerenciamento dos dados.
Por esse motivo, esse modelo de banco de dados pode ser uma solução
ideal para resolver questões de lentidão para leitura e escrita de dados em
grande variedade e volume. Nos bancos de modelo chave-valor, todos os
registros compõem a mesma coleção (Tabela) e a única característica em
comum entre os registros é uma chave única (Hash), sendo o modelo mais
simples e fácil de implementar. Com sua estrutura simples, ele é capaz de
otimizar o desempenho da consulta e realizar operações com alta vazão. Embora
a estrutura simples do banco de dados orientado a chave-valor ofereça
benefícios, ela também possui algumas limitações.

Prof. Vitor Ribeiro 12 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

A seguir construiremos uma tabela sintetizando todos os


nomes/tipos de banco de dados conforme o modelo de orientação de
dados (NoSQL).

Principais tipos de Banco de Dados NoSQL por tipo de orientação:

Chave-Valor Documentos Grafos Colunas

DynamoDB
Redis
Riak
LevelDB
RocksDB

Prof. Vitor Ribeiro 13 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

2.2 NoSQL do tipo Documentos

Considerado uma extensão do banco de dados orientado a chave-valor,


este tipo de banco de dados é provavelmente a categoria NoSQL mais popular
atualmente. Ele oferece meios de criação de índices sobre os valores dos dados
armazenados, enriquecendo as possibilidades de consultas, além de permitir
normalização de dados e muitos outros conceitos oriundos do banco de dados
relacional, tais como a criação de joins e definição de esquemas rígidos.

No entanto, esses recursos não são obrigatórios como nos bancos de


dados relacionais. Podemos definir documentos como sendo estruturas
flexíveis que podem ser obtidas por meio de dados semiestruturados,
como o formato XML e JSON. Pense em um documento como sendo uma
linha de uma tabela, e um conjunto de documentos como sendo a tabela com
todos os registros. A diferença é que cada documento (ou seja, cada linha da
tabela) pode conter variações em sua estrutura. Isso é possível pelo fato de que
você não precisa definir um esquema antes de adicionar os registros.
Diferente do modelo chave-valor, os bancos de dados orientados a
documentos permitem a criação de consultas e filtros sobre os valores
armazenados, e não somente pelo campo chave. Permitem trabalhar com
a replicação dos dados em um cluster, e assim garantir que o dado ficará
disponível mesmo com a ocorrência de falha em um dos servidores. Esse modelo
é indicado para realizar o armazenamento de conteúdo de páginas Web, na
catalogação de documentos de uma empresa e no gerenciamento de inventário
de um e-commerce, pois são aplicações que trabalham diretamente com
coleções de documentos.

Prof. Vitor Ribeiro 14 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Principais tipos de Banco de Dados NoSQL por modelos:

Chave-Valor Documentos Grafos Colunas

DynamoDB MongoDB
Redis Couchbase
Riak CouchDB
LevelDB MarkLogic
RocksDB

Prof. Vitor Ribeiro 15 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

2.3 NoSQL do tipo Colunas

De todos os modelos de armazenamento NoSQL, provavelmente o


orientado a colunas seja o mais complexo. Esse modelo também é considerado
uma extensão do armazenamento orientado a chave-valor e possui conceitos
similares ao do modelo relacional, como a criação de linhas e colunas.
Entretanto, é preciso ficar atento, pois existem diferenças fundamentais
no modo como essas estruturas são criadas. Como o banco de dados orientado
a colunas se diferencia do banco de dados relacional nesse cenário? Esse tipo
de banco busca resolver principalmente o problema de escalabilidade e
flexibilidade no armazenamento de dados. No que se refere à flexibilidade, ao
invés de definir antecipadamente as colunas necessárias para armazenar um
registro, o responsável pela modelagem de dados define o que é chamado de
"famílias de colunas".
As famílias de colunas são organizadas em grupos de itens de dados que
são frequentemente usados em conjunto em uma aplicação. A partir das
"famílias de colunas" definidas, o desenvolvedor possui a flexibilidade de
inserir as colunas que considerar necessárias em cada registro
armazenado, sem precisar alterar a estrutura dos dados já armazenados.
O registro de um item pode ter informações gravadas em diversas
famílias de colunas, que podem estar armazenadas em diferentes servidores.
Isso é possível pelo fato de que os dados são armazenados fisicamente em uma
sequência orientada a colunas e não por linhas. Dessa forma, mesmo em um
ambiente distribuído, com milhões de colunas, o banco de dados orientado a
colunas pode distribuir as consultas em um grande número de nós de
processamento sem realizar operações de join.
Se uma aplicação trabalha com volumes imensos de dados, se ela
necessita de alto desempenho e de alta disponibilidade na leitura e escrita dos
dados, ou se você necessita de inclusão de campos dinâmicos e sua solução
tolera eventuais inconsistências, provavelmente o banco de dados orientado a
colunas é a solução mais adequada. Por atender tais necessidades, esse modelo
é muito utilizado por aplicações de larga escala, como ocorre com o serviço de
mensagens do Facebook.
Na próxima imagem é possível observar uma representação esquemática
deste tipo de solução NoSQL, em que “col” representa as colunas e “r” os
agrupamentos/linhas associados):

Prof. Vitor Ribeiro 16 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Principais tipos de Banco de Dados NoSQL por modelos:

Chave-Valor Documentos Grafos Colunas

DynamoDB MongoDB Cassandra


Redis Couchbase BigTable
Riak CouchDB Accumulo
LevelDB MarkLogic HBase
RocksDB Hypertable

Perceba que estamos quase fechando nosso quadro com os tipos de


Bancos de cada modelo de orientação dos dados em formato NoSQL. A seguir
veremos o modelo de dados orientado a Grafos.

Prof. Vitor Ribeiro 17 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

2.4 NoSQL do tipo Grafos

Bancos deste tipo empregam conceitos da teoria de grafos para a


representação de relacionamentos entre diferentes conjuntos de dados. Uma
das soluções mais conhecidas baseadas neste modelo é o Neo4j.
Em situações como essa, com foco no relacionamento dos dados, é que
o banco de dados orientado a grafos é recomendado. Em situações como essa,
com foco no relacionamento dos dados, é que o banco de dados orientado a
grafos é recomendado.
Entre os quatro tipos de armazenamento NoSQL apresentados, o
orientado a grafos é provavelmente o mais especializado. Diferente dos
outros modelos, em vez dos dados serem modelados utilizando um formato de
linhas e colunas, eles possuem uma estrutura definida na teoria dos grafos,
usando vértices e arestas para armazenar os dados dos itens coletados e os
relacionamentos entre esses dados, respectivamente.
Esse modelo oferece maior desempenho nas aplicações que precisam
traçar os caminhos existentes nos relacionamentos entre os dados, como por
exemplo, as que precisam identificar como um conjunto de amigos está
conectado em uma rede, ou descobrir a melhor rota para se chegar a um local
em menor tempo.
Na imagem a seguir está um exemplo de grafo que poderia ser
armazenado num banco de dados deste tipo:

Prof. Vitor Ribeiro 18 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Principais tipos de Banco de Dados NoSQL por modelos:

Chave-Valor Documentos Grafos Colunas

DynamoDB MongoDB AllegroGraph Cassandra


Redis Couchbase ArangoDB BigTable
Riak CouchDB InfoGrid Accumulo
LevelDB MarkLogic Neo4J HBase
RocksDB Titan Hypertable

Esquema 5 - Bancos de Dados NoSQL por tipo de orientação.

No quadro acima fechamos os principais tipos de bancos de dados por


modelo de orientação dos dados.

É muito importante estar atento a esta lista, é objeto de questões.


Vejamos.

1- (Instituto AOCP – 2018 – PRODEB - Especialista de


TIC / Construção de Software)
Com base nos sistemas de banco de dados NoSQL, assinale a alternativa que
correlaciona corretamente os SGBD`s no NoSQL e seus modelos estruturais.
a) MongoDB: Modelo Orientado a Colunas – Cassandra: Modelo Baseado em
Grafos – Neo4J: Modelo Orientado a Documentos – Redis: Modelo Chave-Valor.
b) Cassandra: Modelo Orientado a Colunas – Neo4J: Modelo Baseado em Grafos
– Redis: Modelo Orientado a Documentos – MongoDB: Modelo Chave-Valor.
c) Redis: Modelo Orientado a Colunas – Cassandra: Modelo Baseado em Grafos
– MongoDB: Modelo Orientado a Documentos – Neo4J: Modelo Chave-Valor.
d) Neo4J: Modelo Orientado a Colunas – Cassandra: Modelo Baseado em Grafos
– MongoDB: Modelo Orientado a Documentos – Redis: Modelo Chave-Valor.
e) Cassandra: Modelo Orientado a Colunas – Neo4J: Modelo Baseado em Grafos
– MongoDB: Modelo Orientado a Documentos – Redis: Modelo Chave-Valor.
Resolução:
A resolução dessa questão torna-se tranquila quando estamos atentos e
conhecemos os bancos de dados e associamos a ele o modelo de orientação aos
dados. O esquema abaixo ajuda-nos a fazer esta associação.

Prof. Vitor Ribeiro 19 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Chave-Valor Documentos Grafos Colunas

DynamoDB MongoDB AllegroGraph Cassandra


Redis Couchbase ArangoDB BigTable
Riak CouchDB InfoGrid Accumulo
LevelDB MarkLogic Neo4J HBase
RocksDB Titan Hypertable

Gabarito: Letra E

Mais uma questão que exigiu o conhecimento sobre os tipos de bancos de


dados NoSQL.

2- (FEPESE – 2019 – CELESC - Analista -


Sistemas/Infraestrutura Operação)
Quais dos sistemas gerenciadores de banco de dados (SGBD) abaixo constituem
SGBDs NoSQL?
1.Oracle database
2.MongoDB
3.Neo4j
4.MySQL
Assinale a alternativa que indica todas as afirmativas corretas.
a) São corretas apenas as afirmativas 2 e 3.
b) São corretas apenas as afirmativas 1, 2 e 3.
c) São corretas apenas as afirmativas 1, 2 e 4.
d) São corretas apenas as afirmativas 2, 3 e 4.
e) São corretas as afirmativas 1, 2, 3 e 4.
Resolução:
Mais uma questão que exigiu o conhecimento dos tipos de bancos, nesta da sua
natureza, se relacional (SQL) ou não somente relacional (SQL). Conhecendo os
nomes dos bancos e seus respectivos modelos de orientação. Abaixo vejamos o
esquema dos principais bancos de dados NoSQL.

Prof. Vitor Ribeiro 20 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Chave-Valor Documentos Grafos Colunas

DynamoDB MongoDB AllegroGraph Cassandra


Redis Couchbase ArangoDB BigTable
Riak CouchDB InfoGrid Accumulo
LevelDB MarkLogic Neo4J HBase
RocksDB Titan Hypertable

Logo, temos que:


1.Oracle database é do tipo tal SQL.
2.MongoDB é o tipo NoSQL (orientado a Documentos)
3.Neo4j é do tipo NoSQL (orientado a Grafos)
4.MySQL e do tipo SQL
Gabarito: Letra A

Prof. Vitor Ribeiro 21 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

2.5 Resumo dos tipos de Bancos NoSQL

Características chaves dos modelos de orientação de BD NoSQL:

Chave-valor
Estrutura mais simples

Alta escalabilidade

Tabelas hash
Documentos

Mais popular

Consulta de conteúdo

Extensão do chave-valor
Grafos

Mais especializado

Vértices e arestas
Colunas

Mais complexo

Alto desempenho e disponibilidade

Esquema 6 - Características Chaves de cada tipo de NoSQL

Prof. Vitor Ribeiro 22 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

3. TRANSAÇÕES EM NoSQL

Cada formato de banco de dados seja ele SQL ou NoSQL têm suas
características específicas. Destas, é importante entendermos as formas de
funcionamento no tocante as suas transações. Uma transação é um conjunto de
procedimentos, executados num banco de dados, que o usuário percebe como
uma única ação.
Nos bancos de dados SQL a integridade de uma transação depende de quatro
propriedades, conhecidas como ACID.

• Atomicidade:
Todas as ações que compõem a unidade de trabalho da transação devem
ser concluídas com sucesso, para que seja efetivada. Se durante a
transação qualquer ação que constitui unidade de trabalho falhar, a
transação inteira deve ser desfeita (rollback). Quando todas as ações são
efetuadas com sucesso, a transação pode ser efetivada e persistida em
banco (commit).

• Consistência:

Todas as regras e restrições definidas no banco de dados devem ser


obedecidas. Relacionamentos por chaves estrangeiras, checagem de
valores para campos restritos ou únicos devem ser obedecidos para que
uma transação possa ser completada com sucesso.

• Isolamento:

Cada transação funciona completamente a parte de outras estações.


Todas as operações são parte de uma transação única. O princípio é que
nenhuma outra transação, operando no mesmo sistema, possa interferir
no funcionamento da transação corrente (é um mecanismo de controle).
Outras transações não podem visualizar os resultados parciais das
operações de uma transação em andamento (ainda em respeito à
propriedade da atomicidade).

• Durabilidade:

Significa que os resultados de uma transação são permanentes e podem


ser desfeitos somente por uma transação subsequente. Por exemplo:
todos os dados e status relativos a uma transação devem ser
armazenados num repositório permanente, não sendo passíveis de falha
por uma falha de hardware.

Prof. Vitor Ribeiro 23 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Propriedades ACID

Atomicidade
• A transação será executada totalmente ou não será
executada

Consistência
• Garante que o banco de dados passará de uma forma
consistente para outra forma consistente

Isolamento
• Garante que a transação não será interferida por
nenhuma outra transação concorrente.

Durabilidade
• Garante que o que foi salvo, não será mais perdido.

Esquema 7 – Resumo das Propriedades ACID

Prof. Vitor Ribeiro 24 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Propriedades BASE
A consistência eventual é um modelo de consistência usado na
computação distribuída para obter alta disponibilidade que garante
informalmente que, se nenhuma atualização for feita em um determinado item
de dados, todos os acessos a esse item retornarão o último valor atualizado.
consistência eventual, também chamada replicação otimista, é amplamente
implementada em sistemas distribuídos e tem origem nos primeiros projetos de
computação móvel.
Diz-se frequentemente que um sistema que alcançou consistência
eventual convergiu ou alcançou convergência de réplicas. A consistência
eventual é uma garantia fraca - os modelos mais fortes, linear, são trivialmente
consistentes no final, mas um sistema que é apenas eventualmente consistente
não costuma cumprir essas restrições mais fortes.
Serviços eventualmente consistentes são geralmente classificados como
fornecendo semântica BASE (Basicamente disponível, estado suave,
consistência eventual), em contraste com as garantias tradicionais de ACID
(Atomicidade, Consistência, Isolamento, Durabilidade). Os bancos de dados SQL
têm por requisitos de funcionamento o uso do ACID, entretanto bancos de dados
NoSQL relativizam as propriedades ACID se apropriando do uso de BASE,
vejamos:

• BA – Basically Available (Basicamento Disponível)


o Disponível de forma assertiva, as operações básicas de leitura e
gravação estão disponíveis o máximo possível (usando todos os
nós de um cluster de banco de dados), mas sem qualquer tipo de
garantia de consistência (a gravação pode não persistir após a
reconciliação dos conflitos, a leitura pode não receber a última
gravação)
• S – Soft-Estate (Estado Leve):
o Frequentemente estado: sem garantias de consistência, após um
certo período, temos apenas uma probabilidade de conhecer o
estado, pois ele ainda pode não ter convergido
• E – Eventually Consistent (Eventualmente Consistente)
o Se o sistema estiver funcionando e esperarmos o tempo suficiente
após qualquer conjunto de entradas, seremos capazes de saber
qual é o estado do banco de dados e, portanto, qualquer leitura
adicional será consistente com nossas expectativas.

Prof. Vitor Ribeiro 25 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Às vezes, a consistência eventual é criticada por aumentar a


complexidade dos aplicativos de software distribuídos. Isso ocorre em parte
porque a consistência eventual é puramente uma garantia de vivacidade (as
leituras eventualmente retornam o mesmo valor) e não oferece garantias de
segurança: um sistema eventualmente consistente pode retornar qualquer valor
antes de convergir.

Esquematicamente temos as Propriedades BASE:

Basically Available

Uma aplicação funciona basicamente todo o tempo


(Basicamente Disponível)

Soft-Estate

Não tem de ser consistente todo o tempo (Estado Leve)

Eventually Consistent

Torna-se consistente no momento devido (Eventualmente


Consistente).

Esquema 8 – Resumo das Propriedades BASE

Prof. Vitor Ribeiro 26 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

4. TEOREMA CAP

Os sistemas de banco de dados tradicionais (relacionais - SQL) possuem


pouca capacidade de expansão horizontal. Essa característica é explicada pelo
teorema CAP, onde em um banco de dados há a presença de uma partição de
rede, vindo a ser necessário a escolha entre a consistência e a disponibilidade
dos dados.
O teorema CAP descreve o comportamento de um sistema distribuído,
onde uma coleção de nós interconectados compartilha os dados entre si. Desta
forma, um usuário pode conectar-se a qualquer nó desse sistema distribuído e
realizar uma operação de escrita. Ao se conectar novamente ao mesmo ou outro
nó do sistema distribuído é possível realizar uma operação de leitura. A
disponibilidade ou a consistência desse dado, dentro do sistema distribuído, é o
que determina a reação do sistema distribuído.

CP = Consistência e
CA = Consistência e Tolerância a Partição
Disponibilidade Consistency
de Redes

CA CP

AP Partition
Availability
Tolerance

AP = Disponibilidade e
Tolerância a Partição de Redes

Esquema 9 – Diagrama do Teorema CAP

Prof. Vitor Ribeiro 27 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Sendo assim, o teorema CAP afirma que um dado par de requisições, uma
escrita seguida por uma leitura, em um panorama de sistemas distribuídos,
garante apenas 2 entre os 3 comportamentos presentes no teorema. Esses
comportamentos são definidos como:
• Consistência (Consistency): Consiste em garantir que a operação
de leitura exiba o dado mais atualizado, independente do nó em que ele
foi gravado. Essa característica garante que o cliente nunca receberá do
banco um dado que já foi modificado.

• Disponibilidade (Availability): O comportamento de disponibilidade


determina que nenhuma das requisições podem retornar erro e o usuário
não pode aguardar indefinidamente pela resposta do SGBD, ou seja, o
sistema deve se manter sempre disponível para leitura e gravação em
um nó que não possui falha e este nó deve responder em um tempo
razoável. Qualquer falha não pode afetar o funcionamento da aplicação
que a utiliza.

• Tolerância a Partição de Rede (Partition Tolerance): A Tolerância


a Partição de Rede ou Tolerância a Falhas, determina que o sistema deve
continuar operando mesmo após uma falha na rede (perda de conexão),
garantindo que pelo menos as operações de leitura ocorram de forma
normal.

Seguindo essa definição do teorema CAP, um SGBD pode combinar


apenas duas dessas características, totalizando 3 combinações (CA, CP, AP).
Essas combinações são explicadas na sequência:
• CA (Consistência e Disponibilidade): esta combinação tem sistemas
de banco de dados que enfocam a consistência dos dados armazenados
e a disponibilidade destes. Nesse modelo, qualquer falha em um dos nós,
o sistema todo fica indisponível até que o nó que falhou volte ao normal.
Essa é a configuração clássica dos SGBDs relacionais, sendo chamada de
otimista, uma vez que a operação de escrita não gera inconsistência dos
dados.
• CP (Consistência e Tolerância a Particionamento): Para sistemas
que precisam da consistência forte e tolerância a particionamento, é
necessário abrir mão da disponibilidade. Nesse modelo pode ocorrer que
uma operação de escrita gere conflito entre os nós do particionamento de
rede, sendo a disponibilidade comprometida até que ocorra um consenso
entre os nós. Essa é uma abordagem pessimista, visto que uma operação
de escrita pode ser negada, apesar dos SGBDs tentarem evitar ao
máximo que isso ocorra.

Prof. Vitor Ribeiro 28 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

• AP (Disponibilidade e Tolerância a Particionamento): Quando


pensamos em sistemas grandes e complexos, que atuam em todos os
horários e dias (24/7) e nunca podem ficar offline, dependemos de alta
disponibilidade e tolerância a particionamento. Esse modelo sacrifica a
consistência, ou seja, o sistema sempre aceita as operações de escrita,
mesmo que o sincronismo entre os nós ocorra em outro momento. Nesse
período entre a persistência de um dado em um nó específico e seu
sincronismo entre os demais nós do cluster, existe uma janela de
inconsistência, onde uma operação de leitura em um nó que ainda não
foi atualizado pode retornar dados desatualizados.
Enfatizando o ponto de vista do desenvolvimento, não existem tantas
diferenças entre o CA e o CP, pois no modelo CA um sistema fica indisponível
quando há particionamento, dado que possui alta disponibilidade por nó,
enquanto no modelo CP o sistema tende a chegar em um consenso, onde o
mesmo aceita uma escrita ou não. Na pior situação também é possível que esta
fique indisponível para uma parte dos dados.
Essas características definem algumas vantagens ou desvantagens de um
SGBD no sistema em que será empregado. Considerando um SGBD NoSQL,
mesmo não existindo o particionamento, o SGBD pode priorizar o tempo de
resposta e comprometer a consistência, dando prioridade a operações de
leitura ao invés das operações de atualização, por exemplo.
O conhecimento do teorema CAP é fundamental para problemas do
mundo real, onde a solução do problema atacado envolve o uso de sistemas
distribuídos. Só assim os profissionais desse campo irão ter capacidade de
desenvolver as melhores soluções.
A expansão do Big Data enfoca na necessidade de profissionais que
saibam lidar com esse grande volume de dados, extraindo informações úteis e
de valor para as empresas, sendo essa área denominada Data Science (ciência
dos dados).

Agora vejamos como o Teorema CAP já foi objeto de questão:

3- (FGV - 2014 - PROCEMPA - Analista em TI e


Comunicação - Analista em Programação e Suporte de Sistemas
Informatizados e Georeferenciados)
O teorema CAP (CAP Theorem) é um importante resultado teórico na Ciência da
Computação, e frequentemente é referenciado na comparação entre sistemas
de bancos de dados “tradicionais” e aqueles que são conhecidos pela sigla
NoSQL. Esse teorema aborda as propriedades (ou garantias) que um sistema
de banco de dados deve prover, e é central na discussão das conveniências de
utilização de um ou outro modelo.

Prof. Vitor Ribeiro 29 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Assinale a opção que descreve, corretamente, o significado das letras na sigla


CAP.
a) Concurrency, Access, Time
b) Consistency, Atomicity, Parallel processing.
c) Consistency, Availability, Partition tolerance.
d) Concurrency, Availability, Pear processing.
e) Control, Atomicity, Partition network.
Resolução:
Uma questão que exigiu o conhecimento da tríade que forma o Teorema CAP,
para matá-la, é necessário o conhecimento de suas propriedades bases que são
elas: Consistency, Availability e Partition Tolerance.

Gabarito: Letra C

Prof. Vitor Ribeiro 30 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

5. BIG DATA VS NoSQL


Não podemos confundir o conceito de Big Data e NoSQL, apesar das
bancas quererem misturar os assuntos a diferença é bem clara. A relação
existente é de que os bancos NoSQL são os mais adequados e apropriados a
trabalhar com os grandes volumes de dados tendo em vista a forte tendência
de crescimento do volume de dados e as abordagens de Big Data.
É a necessidade do negócio que define qual abordagem deve ser utilizada.
Há que se utilizar critérios de comparação como a escalabilidade do sistema,
questões de consistência dos dados, a existência ou não de linguagem de
consulta e até a facilidade de uso. Os bancos relacionais já têm mais tempo no
mercado, portanto são mais maduros e experimentados, porém mais limitados.
Já as implementações NoSQL, ainda que estejam definindo um padrão próprio,
são peças chave para o sucesso das iniciativas em projetos de Big Data.
Vejamos uma questão que cobrou conhecimento sobre Big Data e NoSQL:

4- (ESAF - 2015 - ESAF - Gestão e Desenvolvimento de


Sistemas) Em relação a Big Data e NoSQL, é correto afirmar que
a) os “3 Vs" principais do Big Data referem-se a Volume, Velocidade e
Versatilidade de dados.
b) na era do Big Data, as únicas estratégias eficientes para garantir a
privacidade são consentimento individual, opção de exclusão e anonimização.
c) o Hadoop, o mais conhecido e popular sistema para gestão de Big Data, foi
criado pela IBM, a partir de sua ferramenta de Data Mining WEKA.
d) o NoSQL é um sistema relacional, distribuído, em larga escala, muito eficaz
na organização e análise de grande quantidade de dados.
e) o Cassandra é um sistema de banco de dados baseado na abordagem
NoSQL, originalmente criado pelo Facebook, no qual os dados são identificados
por meio de uma chave.
Resolução:

Uma questão rica em detalhes, daquelas em que as técnicas de resolução por


eliminação das alternativas são bastante bem-vindas. Perceba na Letra D) que
o examinador capciosamente define tudo certinho com um pequeno detalhe de
que NoSQL é relacional, tornando a assertiva incorreta. A Letra E), correta,
com o conhecimento de que o banco Cassandra é do tipo chave-valor seria o
suficiente para matar a questão. Importante conhecer os tipos dos principais
banco NoSQL, conforme quadro a seguir:

Prof. Vitor Ribeiro 31 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Chave-Valor Documentos Grafos Colunas

DynamoDB MongoDB AllegroGraph Cassandra


Redis Couchbase ArangoDB BigTable
Riak CouchDB InfoGrid Accumulo
LevelDB MarkLogic Neo4J HBase
RocksDB Titan Hypertable

Gabarito: Letra E.

Prof. Vitor Ribeiro 32 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

6. USO DE NoSQL PELA INDÚSTRIA


A tecnologia NoSQL tem se tornado cada vez mais evidente nos últimos
anos. Tal evidência é comprovada pela forte adoção de soluções NoSQL nas
grandes empresas, para o gerenciamento dos seus dados, como veremos a
seguir.
• Twitter - O Twitter é uma rede social e servidor para
microblogging, que permite aos usuários enviar e receber
atualizações pessoais de outros contatos, por meio do site do
serviço, por SMS, bem como por softwares específicos de
gerenciamento. Com o crescimento exponencial do uso do Twitter,
resolver o problema de acesso a grandes volumes de dados em
tempo real tornou-se um grande desafio. Em fevereiro de 2010, o
número de tweets era 1.2 bilhões por mês. A preocupação com o
problema de disponibilidade fez com que a empresa substituísse o
banco de dados MySQL pelo Cassandra, uma solução NoSQL. A
empresa utiliza o Cassandra para armazenar resultados de data
mining realizados sobre a base dos usuários, resultados de trend
topics, @toptweets e análises em tempo real em larga escala. A
utilização do Cassandra trouxe vantagens tanto na implementação
da modelagem dos dados relacionados aos tweets, timeline, entre
outros, como no desempenho com relação às buscas por usuários
ou palavras-chaves. Além disso, aumentou a disponibilidade dos
seus serviços. Em 2010, a empresa Pingdom informou que o
Twitter esteve no ar por 99,72% do tempo (downtime de 23 horas
e 45 minutos). Em 2008, o site esteve fora do ar por 84 horas.

• Facebook - Após seis anos de sua criação, o facebook possuía,


cerca de 3,5 bilhões de conteúdos (links, posts, etc)
compartilhados por semana. Para evitar problemas com a
escalabilidade e disponibilidade dos dados, a empresa desenvolveu
o Cassandra, uma solução NoSQL. Inicialmente criado para
otimização do sistema de busca do facebook, atualmente o
Cassandra é utilizado para dar suporte à replicação, detecção de
falhas, armazenamento em cache dentre outras funcionalidades.
Posteriormente, o Cassandra tornou-se um projeto da Apache
Incubator, vindo a ser utilizado por outras empresas como Cisco,
Digg e Twitter.

• Google - A Google também desenvolveu sua própria solução


NoSQL, chamada de BigTable, que é um sistema de
armazenamento distribuído para gerenciar dados estruturados em
larga escala. Mais de 60 produtos (como Gmail, Google Docs,
Google Analytics, Orkut, Personalized Search, Google Earth etc)
utilizam o BigTable. Esta solução é utilizada em conjunto com

Prof. Vitor Ribeiro 33 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

outros pacotes Google como o GFS (Google File System) para


gerenciamento de informações e o map/reduce para distribuição
dos dados. Esta solução permite a escalabilidade de recursos, bem
como alta performance no processamento das consultas, dos
processos e dos serviços.

• Amazon - Um dos grandes desafios enfrentados pela Amazon.com


diz respeito a confiabilidade do grande volume de dados gerenciado
por suas aplicações, não apenas por questões financeiras e devido
aos gastos com soluções convencionais, mas também por causa do
impacto da confiança de seus clientes em seus produtos. Em 2007,
com o intuito de garantir alta disponibilidade dos dados de seus
serviços “always-on”, a Amazon desenvolveu uma solução NoSQL,
o Dynamo. Como resultado da adoção desta nova tecnologia,
diversos serviços da Amazon têm se mantido disponíveis em
99,9995% das requisições realizadas.

• LinkedIn - é uma rede de negócios, fundada em 2002, que tem


como foco principal o estabelecimento de relações entre
profissionais. Em março de 2011, atingiu a marca de 100 milhões
de usuários. Como em outras redes de relacionamentos, o
desempenho no processamento das consultas foi afetado com o
crescimento na quantidade de dados. Para suprir a demanda das
aplicações do LinkedIn - diversas soluções relacionais foram
utilizadas, mas com pouco sucesso. Como consequência, a
empresa desenvolveu sua própria solução NoSQL, chamada de
Voldemort17 que tem trazido ótimos resultados de desempenho.
Voldemort suporta escalabilidade horizontal, replicação,
particionamento, transparência a falhas dentre outras
funcionalidades
A seguir uma tabelinha que relaciona os tipos de bancos utilizados por
cada sistema/empresa:
Google Bigtable
Amazon Dynamo
Yahoo Hadoop
Facebook Cassandra
Digg Cassandra
Twitter Cassandra
IBM Cassandra
Netflix Cassandra
LinkedIn Voldemort
Engine Yard MongoDB

Prof. Vitor Ribeiro 34 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

7. QUESTÕES COMENTADAS
5- (CS-UFG – 2018 – UFG – Técnico de Tecnologia da Informação)
São exemplos de Sistemas Gerenciadores de Banco de Dados:
a) MongoDB, PostgreSQL, NoSQL.
b) MySQL, NoSQL, Oracle.
c) PostgreSQL, NTFS, Oracle.
d) SQL Server, MySQL, MongoDB.
Resolução:

Uma questão que exige do candidato não se atrapalhar com SQL, NoSQL e os
tipos de bancos SGDB, válido lembrar que sistemas gerenciadores de banco de
dados – os SGDBs – são válidos tanto para formatos de bancos SQL como
NoSQL. A Letra D) é a única que contempla em sua totalidade tipos de SGDB,
sendo o SQL Server e MySQL (para SQL) e MongoDB para (NoSQL).

Gabarito: Letra D

6- (CESPE - 2014 - TJ-SE - Analista Judiciário - Banco de Dados)


Acerca de bancos de dados semiestruturados e bancos de dados NOSQL, julgue
os itens subsecutivos.

Devido à escalabilidade esperada para os bancos de dados NOSQL, a


implementação desses bancos utiliza modelos de armazenamento de dados
totalmente distintos dos utilizados em sistemas relacionais.

Resolução:

A questão exagera ao mencionar e caracterizar “totalmente distintos”, uma vez


que partindo do conceito NoSQL é “não somente relacional”, o que não exclui
propriedades de modelos relacionais. Devemos distinguir também o modelo
de armazenagem de modelos de dados. Os modelos de armazenagem
querem dizer aos formatos em que os dados são guardados para o uso, em
servidores locais, ou remotos, em nuvem ou híbridos. Essas formas de
armazenamento não se diferenciam, o que os tornam diferentes são os modelos
de dados, que garantem assim dentre outras propriedades a melhor preparação
para a escalabilidade.

Gabarito: Errado

Prof. Vitor Ribeiro 35 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

7- (CESPE - 2014 - TJ-SE - Analista Judiciário - Banco de Dados)


Acerca de bancos de dados semiestruturados e bancos de dados NOSQL, julgue
os itens subsecutivos.

Bancos de dados NOSQL orientados a documentos são apropriados para o


armazenamento de dados semiestruturados.

Resolução:

Essa é uma das premissas para a existência dos bancos do tipo NoSQL, “não
somente relacional”. De trabalhar com dados livres de esquemas
predefinidos, não estruturados ou semiestruturados.

Gabarito: Certo

8- (CCV-UFC - 2019 - UFC - Técnico de Tecnologia da Informação -


Desenvolvimento de Sistemas)
Sobre os bancos de dados NoSQL, assinale a afirmativa correta.
a) Bancos de dados NoSQL não podem ser indexados.
b) Bancos de dados NoSQL são considerados banco de dados relacionais.
c) Nos bancos de dados NoSQL devem ser definidos um esquema de dados fixo
antes de qualquer operação.
d) São exemplos de bancos de dados NoSQL: MongoDB, Firebird, DynamoDB,
SQLite, Microsoft Access e Azure Table Storage.
e) Os bancos de dados NoSQL usam diversos modelos para acessar e gerenciar
dados, como documento, gráfico, chave-valor, em memória e, pesquisa.
Resolução:

Questão recente de 2019 bastante tranquila. A assertiva da Letra E) está em


perfeita consonância com o formato de banco de dados NoSQL. Os erros das
outras assertivas consistem que NoSQL é “não somente relacional” por isso
não negam a indexação e o relacionamento do modelo dados, ele não se
prende a somente relacional, por isso os erros das Letras A) e B). Na Letra C)
torna-se incorreta, pois como vimos a característica do NoSQL é Schema-
Free em que não é necessário um esquema previamente definido. A Letra
D) faz uma mistureba com bancos SQL e no NoSQL, sendo assim incorreta.

Gabarito: Letra E.

Prof. Vitor Ribeiro 36 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

9- (Quadrix - 2014 - DATAPREV - Analista Tecnologia da Informação)


Atualmente, diversos bancos de dados estão disponíveis aos mais variados fins.
Cada um com especificações, propósitos, modelos e arquiteturas diferentes.
Dentre eles, um se destaca como o mais popular banco de dados Open Source
do mundo, administrado atualmente pela Oracle Corparation. De qual banco de
dados trata essa referência?
a) NoSQL.
b) SQLite.
c) MySQL.
d) DB2.
e) PostgreSQL.
Resolução:
A questão buscou confundir um pouco um candidato com algumas informações.
Como por exemplo o uso do termo Open Source. O MySQL é hoje administrado
pela Oracle. Mais uma questão que requer que o conhecimento do
candidato a sobre cada tipo de BD. NoSQL é um formato de banco de dados,
assim como SQL.
Gabarito: Letra C

10- (COPESE - UFPI - 2018 - UFPI - Técnico de Tecnologia da


Informação)
Assinale a opção que NÃO apresenta dois Sistemas de Gerenciamento de Banco
de Dados (SGBD).
a) Oracle e MySQL
b) Firebird e MySQL
c) PostgreSQL e MongoDB
d) Cassandra e Redis
e) NoSQL e FireSQL
Resolução:
Assim como puramente SQL - Structured Query Language não quer dizer que
seja um tipo de SGBD, o NoSQL “não somente relacional”. Ou seja, um
formato/padrão de banco de dados que além de contemplar modelo relacional,
suporta modelos de dados não estruturados ou semiestruturados. Não é um tipo
de banco, nem mesmo um SGDB. NoSQL é um padrão de banco de dados para
o armazenamento de dados baseados em basicamente quatro orientações:
chave-valor, colunas, documentos e grafos.
Gabarito: Letra E

Prof. Vitor Ribeiro 37 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

11- (Instituto AOCP - 2018 - PRODEB - Especialista de TIC /Construção


de Software)
Referente a banco de dados não relacionais, normalmente denominados de
NoSQL, analise as assertivas e assinale a alternativa que aponte a(s)
correta(s).
I. É projetado para realizar o armazenamento de dados não estruturados.
II. É projetado para ser utilizado em arquiteturas distribuídas em rede.
III. Possui suporte a propriedades transacionais ou formas normais.
IV. Em relação à normalização de dados, atende somente a 1FN (Primeira
Forma Normal).
a) Apenas III.
b) Apenas III e IV.
c) Apenas I e II.
d) Apenas I e III.
e) Apenas II, III e IV.
Resolução:

A questão solicitou quais das assertivas estão relacionadas a banco de dados


NoSQL. A assertiva I está coerente visto que NoSQL tem como uma das
principais características trabalhar como dados não estruturados. Assertiva II –
também coerente de forma que os bancos NoSQL estão preparados para
trabalhar de forma distribuída. Já as assertivas III e IV trazem contexto
relacionado a banco de dados relacionais SQL o que já estaria descartada, uma
vez que tipos de cardinalidade, modelos de normalização e suas formas são
requisitos de modelo de banco de dados relacionais.

Gabarito: Letra C

12- (CESPE - 2019 - SLU-DF - Analista de Gestão de Resíduos Sólidos


- Informática)
No que se refere a banco de dados relacional (SQL) e não relacional (NoSQL) e
ao framework JPA, julgue o item subsecutivo.

Para uma empresa que necessite implantar uma base de dados altamente
escalável, com grande desempenho e cujo esquema de dados seja flexível, de
modo que suporte constantes mudanças de campos e valores armazenados, a
melhor opção é uma base de dados NoSQL.

Prof. Vitor Ribeiro 38 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Resolução:
Bem pessoal, essa foi uma questão bem tranquila, que conhece e estudou os
princípios básicos do banco NoSQL como escalabilidade, desempenho e
performance, flexibilidade, estaria apto a resolver a questão, ela apenas
reafirmou as características dos bancos NoSQL.
Gabarito: Certo

13- (CESPE - 2013 - CNJ - Analista Judiciário - Análise de Sistemas)


No que se refere ao desenvolvimento web de alto desempenho, julgue os itens
subsequentes:
A escalabilidade dos bancos de dados NoSQL é garantida pela ausência de um
esquema (scheme free).
Resolução:
A ausência de um esquema (schema free) é realmente um dos requisitos para
possibilitar a escalabilidade, mas ainda há outros necessários como o suporte
nativo à replicação em que a tecnologia do banco proporcionará além da
escalabilidade a disponibilidade.
Gabarito: Errado

14- (UFMT - 2015 - IF-MT - Professor - Engenharia de Computação)


A coluna da esquerda apresenta tipos de modelos de dados relacionados com
Banco de Dados NoSQL e a da direita, suas propriedades. Numere a coluna da
direita de acordo com a da esquerda.

1 - Chave-Valor
2 - Documento
3 - Grafo
4 - Coluna

( ) O conteúdo do dado é organizado em codificações semelhantes à YAML.


( ) Tem enfoque principal no relacionamento entre os dados, com valores sendo
armazenados em nós e suas ligações.
( ) Para cada identificador único tem-se associado um valor que pode ser de
qualquer tipo.
( ) Organizado em tabelas com foco nos campos das tuplas.

Prof. Vitor Ribeiro 39 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Assinale a sequência correta.


a) 2, 3, 1, 4

b) 3, 1, 4, 2

c) 1, 4, 2, 3

d) 4, 2, 3, 1

Resolução:
A questão pede que o candidato conheça as características dos modelos de
bancos NoSQL. Veja que cada assertiva tem sua associação correspondente,
mas a que mais ficou clara é a número 2) em que mencionou ligações entre
nós, nos remetendo ao modelo de grafos. Veja que a 4) deixa muito claro
o padrão utilizado por colunas. 3) ilustra o mecanismo de funcionamento do
modelo chave-valor, por fim a 1) ainda que você não conhecesse ou não
recordasse o que é YAML - formato de serialização (codificação de dados) de
dados legíveis por humanos inspirado em linguagens como XML, C, Python,
você seria capaz de resolver a questão pela combinação das outras alternativas.
Gabarito: Letra A

15- (FGV - 2015 - TJ-BA - Técnico Judiciário - Tecnologia da


Informação)
Analise as afirmativas a respeito da classe de gerenciadores de bancos de dados,
surgida em anos recentes, conhecida como NoSQL.
I. Mesmo sem suportar tabelas relacionais, baseiam-se em esquemas de dados
previamente definidos;
II. Suas estruturas não permitem o uso de linguagens do tipo do SQL para
recuperação de dados;
III. Garantem operações com as propriedades conhecidas pela sigla ACID;
IV. Privilegiam a rapidez de acesso e a disponibilidade dos dados em detrimento
das regras de consistência das transações.
O número de afirmativas corretas é:
a) uma;
b) duas;
c) três;
d) quatro;
e) cinco.
Resolução:

Prof. Vitor Ribeiro 40 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Assertiva I – Como já vimos e até por ser uma das principais características é o
funcionamento sem a necessidade de um modelo / esquema de dados
previamente definidos.
Assertiva II – Alguns tipos de NoSQL permitem o uso da linguagem SQL e
variantes, não é possível generalizar a todos, por isso errada.
Assertiva III – Os bancos de dados NoSQL não se utilizam de propriedades ACID
para suas transações, mas sim o BASE, essa distinção é importante e recorrente
em questões. Assertiva errada.
Assertiva IV – Correta! Essa é uma das características dos bancos NoSQL por
trabalhar com grande volume de dados, entretanto a priorização da velocidade
do acesso e a disponibilidade não significa que não realize transações
consistentes, uma característica da precedência.
Gabarito: Letra A

16- (FGV - 2017 - IBGE - Analista Censitário - Análise de Sistemas -


Desenvolvimento de Aplicações - Web Mobile)
Observe a figura a seguir que ilustra relações entre colegas e seus interesses.

O tipo de Banco de Dados NoSQL, não relacional, que armazena tais


informações, utilizando estruturas de vértices e arestas, com propriedades
associadas, é o:
a) Colunar;
b) Documento;
c) Grafo;
d) Chave-valor;
e) Tabular.
Resolução:
Mais uma questão em que o comando ou caput dela traz uma informação
essencial para a resposta assertiva, veja que mencionou “estruturas de

Prof. Vitor Ribeiro 41 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

vértices e arestas” e vértices e arestas só pode ser por modelos de grafos. A


figura ilustrativa também ajudou ao preenchimento assertivo da questão.
Para fins de revisão e fixação, vejamos as categorias dos modelos de bancos
NoSQL existentes.
Gabarito: Letra C

17- (CPPS – 2018 - UNESPAR - Técnico em Informática)


O termo NoSQL é utilizado para descrever bancos de dados não relacionais de
alto desempenho e que usam diversos modelos de dados, incluindo
documentos, gráficos, chave-valor e colunas. Selecione entre os SGBD´s
relacionados abaixo aquele que possui tais características:
a) MariaDB
b) SQLite
c) MongoDB
d) MySQL
e) PostgreSQL
Resolução:
Mais um estilo de questão que exige do candidato o conhecimento dos tipos de
bancos que fazem parte do grupo/formato SQL ou NoSQL. Com uma tabela
esquemática podemos ficar seguros com essa informação para o dia da prova.
Tanto da distinção dos bancos SQL/NoSQL como as categorias dos bancos dos
modelos de dados NoSQL. Exceto o MongoDB todos são do tipo SQL.
Gabarito: Letra C

18- (INSTITUTO AOCP - 2016 - CASAN - Analista de Sistema -


Desenvolvimento de Sistemas)
Em relação à Big Data e NoSQL, é correto afirmar que
a) são conceitos concorrentes, portanto não podem ser implementados juntos.
b) são conceitos que se complementam e com características eficientes para
trabalhar com pequenas quantidades de informações.
c) são duas ferramentas de empresas concorrentes.
d) são conceitos que se complementam.
e) os SGBDs Oracle e MySQL são implementações desses conceitos.
Resolução:

Prof. Vitor Ribeiro 42 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Essa é aquela questão que você só erra se não tiver nenhuma noção do assunto,
por isso, ainda que você não seja um expert em banco de dados e em NoSQL,
um estudo esquematizado poderá capacitá-lo a matar todas as questões. A
Letra A) viaja afirmando que são concorrentes, veja que essa alternativa já é
oposta a Letra D) que é o gabarito da questão. Big Data e NoSQL se
complementam. Letra B) torna-se errada ao afirmar “pequenas quantidade de
informações”. Letra C) viaja pois não são ferramentas, são conceitos e não
pertencem a nenhuma empresa e por fim Letra E) Oracle e MySQL não possuem
relação com NoSQL.
Gabarito: Letra D

19- (CESPE - 2013 - CNJ - Analista Judiciário - Análise de Sistemas)


No que se refere ao desenvolvimento web de alto desempenho,
julgue os itens subsequentes
Apesar de implementarem tecnologias distintas, todos os bancos de dados
NoSQL apresentam em comum a implementação da tecnologia chave-valor.
Resolução:
Como vimos exaustivamente na parte teórica os modelos base do NoSQL é os
orientados a: a) Chave-valor; b) Documentos; c) Grafos; d) Colunas.
Então a questão torna-se incorreta por afirmar que todos tem em comum o
modelo chave-valor.
Gabarito: Errado

20- (CESPE - 2017 - TRT - 7ª Região (CE) - Técnico Judiciário -


Tecnologia da Informação)
No que diz respeito a banco de dados, assinale a opção correta.
a) A notação CrowsFoot é utilizada para representar a cardinalidade dos
relacionamentos entre as entidades de um diagrama.
b) Uma tabela encontra-se na terceira forma normal (3FN) quando são
eliminados os eventuais relacionamentos ternários existentes.
c) A chave primária é a base da restrição de integridade referencial, pois
estabelece os padrões de valores para o seu conteúdo.
d) O termo NoSQL refere-se a bancos de dados que são acessados sem
utilização de SQL.
Resolução:
A questão exigiu conhecimentos tanto de bancos de dados NoSQL como de
banco de dados relacional, principalmente pelas propriedades de cardinalidade,
sua organização e representação. Veja que a Letra D) que menciona sobre

Prof. Vitor Ribeiro 43 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

NoSQL torna-se incorreta ao afirmar que NoSQL são acessados sem SQL, uma
vez que vimos que podem também serem utilizadas instruções SQL para bancos
NoSQL. A Letra C) define as características da chave estrangeira, sendo assim
incorreta. As Letras A) e B) trazem conhecimento de SQL, percebam a tendência
de banca de exigir de forma conjugada conhecimentos sobre SQL e NoSQL ao
mesmo tempo. CrowsFoot ou “pé de galinha” é um dos formatos de
representação da cardinalidade entre entidades em um diagrama.
Gabarito: Letra A

21- (FCC - 2018 - SEFAZ-SC - Auditor-Fiscal da Receita Estadual -


Tecnologia da Informação - Prova 3)
Como não existe um modelo de armazenamento de dados único adequado para
atender a todos os cenários e necessidades das aplicações de Big Data, em
complemento ao modelo relacional, foram criados quatro novos tipos de
armazenamento NoSQL (Not only SQL). Dentre esses, aqueles que modelam os
dados usando o formato de linhas e colunas são APENAS os tipos de bancos de
dados orientados a colunas,
a) chave-valor e grafos.
b) chave-valor e documentos.
c) documentos e grafos.
d) chave-valor.
e) grafos.
Resolução:
Banco de dados orientado a chave-valor armazenam valor-chave usando
o array associativo como seu modelo de dados fundamental. Nesse modelo,
os dados são representados como uma coleção de pares de valor-chave, como
duas colunas em uma tabela, de modo que cada chave possível apareça no
máximo uma vez na coleção.
Banco de dados orientado a documentos normalmente assumem que os
documentos encapsulam e codificam dados em alguns formatos padrão, como
XML, YAML, JSON e são acessados por meio de uma chave exclusiva que
representa documentos, semelhante ao valor-chave.
Banco de dados orientado a grafos representa os dados como elementos
interconectados com um número finito de relações entre eles, que é
representado pela estrutura de grafo, diferentemente dos bancos de dados
orientados a coluna.
Gabarito: Letra B.

Prof. Vitor Ribeiro 44 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

22- (CESPE - 2013 - CNJ - Analista Judiciário - Análise de Sistemas)


Uma característica de bancos de dados NoSQL é o suporte à replicação de dados.
Entre as abordagens utilizadas para replicação, inclui-se a mestre-escravo.
Resolução:
É exatamente isso, as características básicas do NoSQL são: escabilidade
horizontal, ausência de esquema (schema-free) ou esquema flexível, suporte
nativo a replicação, consistência eventual, API simples para acesso aos dados.
Dentre o suporte nativo a replicação temos os tipos: Master-Slave (mestre-
escravo), em que cada escrita no banco resulta em N escritas no total, onde N
é o número de nós escravos. Nesta arquitetura a escrita é feita no nó mestre,
sendo a escrita refeita em cada nó escravo pelo nó mestre. E o Multi-Master
em que temos, não apenas um, mas vários nós mestres, de forma que é possível
diminuir o gargalo gerado pela escrita que ocorre na abordagem mestre-
escravo.
Gabarito: Certo

23- (CESPE - 2015 - TCU - Auditor Federal de Controle Externo -


Tecnologia da Informação)
Julgue o item subsecutivo, a respeito de sistemas de bancos de dados.
Como forma de permitir as buscas em documentos semiestruturados, um banco
de dados NoSQL do tipo orientado a documentos armazena objetos indexados
por chaves utilizando tabelas de hash distribuídas.
Resolução:
A questão vinha muito bem, até que no final mudou todo o conceito. Não há
necessidade das tabelas de hash que é um tipo de tabela manipulada por
função hash, em que a busca por uma chave ocorre sempre através de
comparações. Uma alternativa de busca em tabelas dá-se através do cálculo da
posição que uma chave ocupa na tabela. Não há necessidade de serem tabelas
distribuídas, sendo do tipo simples suficiente.
Gabarito: Errado

24- (CESPE - 2018 - Polícia Federal - Perito Criminal Federal - Área 3)


Acerca de banco de dados, julgue o item seguinte.
NoSQL são bancos de dados que não aceitam expressões SQL e devem ser
armazenados na nuvem.
Resolução:
A primeira parte da questão trata sobre o suporte às expressões SQL em bancos
NoSQL, como visto, NoSQL é “não somente relacional”, mas há também

Prof. Vitor Ribeiro 45 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

oportunidades de usar expressões ou variantes da linguagem SQL. A segunda


parte da questão peca ao afirmar que bancos NoSQL devem ser
armazenados em nuvem, o que torna a assertiva falsa, tendo em vista que
muitos bancos NoSQL como o MongoDB é possível instalar localmente para
aprendizado, implementações e testes.
Gabarito: Errado

25- (FGV - 2016 - IBGE - Analista - Análise de Sistemas -


Desenvolvimento de Aplicações - Web Mobile)
Considere as seguintes características de um projeto de banco de dados.
I. O modelo de dados é conhecido a priori e é estável;
II. A integridade dos dados deve ser rigorosamente mantida;
III. Velocidade e escalabilidade são preponderantes.
Dessas características, o emprego de bancos de dados NoSQL é favorecido
somente por:

a) I;

b) I e II;
c) II;
d) II e III;
e) III.
Resolução:

Como vimos NoSQL prescinde de um modelo de dados definido à priori, sendo


ainda compatível com dados semiestruturados ou não estruturados. Outra
característica é priorização da velocidade e escalabilidade. Devemos lembrar
que bancos de dados NoSQL não necessitam das propriedades ACID
(Atomicidade, Consistência, Isolamento e Durabilidade).

Gabarito: Letra E

26- (CESPE - 2015 - TJ-DFT - Analista Judiciário - Suporte em


Tecnologia da Informação)
A respeito de tipos de bancos de dados, julgue o item que se segue.
Sistemas de bancos de dados classificados como NoSQL permitem a inserção
de dados sem que haja um esquema predefinido.
Resolução:
Essa é uma das principais características nos bancos de dados NoSQL (Não
somente relacional) de aceitar e trabalhar com dados semiestruturados, sem a

Prof. Vitor Ribeiro 46 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

necessidade de um modelo previamente definido. Correta a assertiva! Grave


bem isso ao se tratar de NoSQL: dados semiestruturados, não
estruturados, não há necessidade de modelos predefinidos. Um modelo
predefinido remete a um modelo SQL tradicional, onde temos tabelas, campos
e chaves primárias e estrangeiras definindo o modelo e as relações entre os
dados.
Gabarito: Certo

27- (FGV - 2015 - TJ-PI - Analista Judiciário - Analista de Sistemas /


Banco de Dados)
Bancos de dados conhecidos como NoSQL podem ser particionados em
diferentes servidores, o que introduz o problema de processar consultas que
envolvem múltiplos nós de processamento. Um modelo usualmente empregado
nessas circunstâncias é conhecido como:
a) CAP Theorem;
b) Map/Reduce;
c) Hash tables;
d) Clustered columns;
e) Data Thread.
Resolução:
MapReduce é um modelo de programação desenhado para processar grandes
volumes de dados em paralelo, dividindo o trabalho em um conjunto de tarefas
independentes. Programas MapReduce são escritos em um determinado estilo
influenciado por construções de programação funcionais, especificamente
expressões idiomáticas para listas de processamento de dados. Dentre as
funções do MapReduce há a função de partição. Além do mais a banca
misturou as outras assertivas com conceitos que não fazem sentido com o
comando da questão.
Gabarito: Letra B.

28- (FGV - 2017 - IBGE - Analista Censitário - Análise de Sistemas -


Desenvolvimento de Aplicações - Web Mobile)
Bancos de Dados NoSQL podem armazenar dados em diversos formatos não
relacionais, como documentos compostos por pares de campo-e-valor (field-
and-value), conforme a estrutura exemplificada a seguir.

Prof. Vitor Ribeiro 47 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

O Banco de Dados NoSQL utilizado para armazenar documentos compostos por


pares campo-e-valor, no formato BSON (JSON-like), é o:
a) OpenLink Virtuoso;
b) Neo4j;
c) Apache HBase;
d) MongoDB;
e) Titan.
Resolução:
A questão exigiu um conhecimento das características dos tipos de bancos
NoSQL existentes. Assim quando a questão levantar esse tipo de conhecimento
atente-se as palavras chaves do caput. Neste armazenamento de dados com
base em campo-valor e modelo orientado a documentos, remetemos ao
MongoDB. Para matar a questão por eliminação das alternativas é bom estarmos
atentos as características dos principais bancos NoSQL que podem ser
objeto de prova.
Gabarito: Letra D.

29- (CESPE - 2016 - FUNPRESP-JUD - Analista - Tecnologia da


Informação)
A respeito de banco de dados, julgue o próximo item.
Os bancos de dados NoSQL não permitem a atualização de seus dados, por
serem orientados a documentos e(ou) coleções.
Resolução:
Uma questão bastante tranquila, parece que até pela intuição lógica seria
possível resolvê-la... Qual sentido faria um banco de dados que não possa ser
atualizado?
Gabarito: Errado

Prof. Vitor Ribeiro 48 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

30- (CESPE - 2016 - FUNPRESP-JUD - Analista - Tecnologia da


Informação)
Julgue o item subsecutivo, referente às tecnologias de bancos de dados.
Em um banco de dados NoSQL orientado a documentos, a inexistência de um
esquema impossibilita a definição de índices.
Resolução:
Devemos sempre dar uma atenção maior quando a questão é da banca do
concurso o qual estamos nos preparando, como está em tela. Veja que o
examinador tenta criar algo que não existe. Banco de dados NoSQL orientado a
documento armazena coleções de documentos, em que um documento
representa “um objeto com um identificador único e um conjunto de campos,
que podem ser strings, listas ou documentos aninhados. Além do mais, banco
de dados NoSQL podem utilizar-se da técnica de Tabela de Índices que é uma
excelente técnica para otimizar transações e consultas, sendo bastante utilizada
no modelo relacional, mas a criação de uma tabela de índices é empregada
também em bancos NoSQL, mais comumente nos bancos orientado a colunas.
Gabarito: Errado

31- (CESPE - 2016 - TCE-PA - Auditor de Controle Externo - Área


Informática - Analista de Segurança)
Acerca de segurança de banco de dados e de desenvolvimento de software,
julgue o item subsecutivo.
Os bancos de dados NoSQL são imunes a ataques de injeção SQL.
Resolução:
Sempre devemos ficar atentos com questões mais exageradas. Injeção de
SQL é um tipo de ameaça de segurança que se aproveita de falhas e
vulnerabilidades em sistemas que interagem com bases de dados através de
comandos SQL, onde o atacante consegue inserir uma instrução SQL
personalizada e indevida dentro de uma consulta (SQL query) para finalidades
maliciosas. Ainda que essas instruções sejam incompatíveis e de maior
dificuldades para danos em bancos NoSQL, não podemos afirmar que são
imunes.
Gabarito: Errado

32- (UFMT – 2018 - Pref VG - Técnico de Desenvolvimento Econômico


e Social /Programador Web)
Sobre os Sistemas Gerenciadores de Banco de Dados (SGBD), é correto afirmar:
a) Não garantem acesso seguro aos bancos de dados, esse controle é feito pelo
sistema operacional.

Prof. Vitor Ribeiro 49 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

b) Permitem o compartilhamento dos dados apenas para usuários do mesmo


sistema operacional.
c) Facilitam o processo de definição, implementação, manipulação e
compartilhamento de bancos de dados.
d) Já se tornaram obsoletos, dando lugar para os sistemas NoSql.
Resolução:
Uma questão capciosa que tenta induzir ao erro contido na Letra D). Mais uma
vez vamos lembrar que não existe melhor ou pior quando se comparado aos
tipos de bancos de dados SQL ou NoSQL, cada um deles serão mais ou menos
apropriados a depender do tipo da situação. Outra coisa importante é que
ambos possuem um SGBD, um Sistema Gerenciador de Banco de Dados,
que executam exatamente os processos definidos na Letra C.
Gabarito: Letra C

Prof. Vitor Ribeiro 50 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

8. RISCO EXPONENCIAL

Conceito de NoSQL

Grandes volumes
de dados

Esquemas Semiestruturados
flexíveis
(schema-free)
NoSQL ou não
estruturados

Alta
disponibilidade e
escalabilidade

Características de funcionamento do NoSQL

Independência

Coerência Isolamento

Prof. Vitor Ribeiro 51 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Diferenças entre banco de dados SQL e NoSQL

SQL NoSQL
Fortemente consistentes de
Análise de dados semiestruturados
processamento

Documento, grafos, chave-valor,


Modelo relacional
colunas

ACID rígida ACID flexível

Performance depende do subsistema do Performance é função do tamanho do


disco cluster

Escaláveis verticalmente Escaláveis horizonatalmente

Regras de consistências rigorosas Regras de consistências flexíveis

Limitação do volumes de dado Alto nível de distribuição de dados

API requer SQL API de dados semiestruturados

Diferenças entre banco de dados SQL e NoSQL

Tipos de
bancos
NoSQL

Orientado a Orientado a Orientado a


Chave-valor
Documentos Grafos Colunas

Prof. Vitor Ribeiro 52 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Bancos de Dados NoSQL por tipo de orientação

Chave-Valor Documentos Grafos Colunas

DynamoDB MongoDB AllegroGraph Cassandra


Redis Couchbase ArangoDB BigTable
Riak CouchDB InfoGrid Accumulo
LevelDB MarkLogic Neo4J HBase
RocksDB Titan Hypertable

Prof. Vitor Ribeiro 53 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Características Chaves de cada tipo de NoSQL

Chave-valor
Estrutura mais simples

Alta escalabilidade

Tabelas hash
Documentos

Mais popular

Consulta de conteúdo

Extensão do chave-valor
Grafos

Mais especializado

Vértices e arestas
Colunas

Mais complexo

Alto desempenho e disponibilidade

Prof. Vitor Ribeiro 54 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Resumo das Propriedades ACID

Atomicidade
• A transação será executada totalmente ou não será
executada

Consistência
• Garante que o banco de dados passará de uma forma
consistente para outra forma consistente

Isolamento
• Garante que a transação não será interferida por
nenhuma outra transação concorrente.

Durabilidade
• Garante que o que foi salvo, não será mais perdido.

Resumo das Propriedades BASE

Basically Available

Uma aplicação funciona basicamente todo o tempo


(Basicamente Disponível)

Soft-Estate

Não tem de ser consistente todo o tempo (Estado Leve)

Eventually Consistent

Torna-se consistente no momento devido (Eventualmente


Consistente).

Prof. Vitor Ribeiro 55 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Diagrama do Teorema CAP

CP = Consistência e
CA = Consistência e Tolerância a Partição
Disponibilidade Consistency
de Redes

CA CP

Partition
Availability AP
Tolerance

AP = Disponibilidade e
Tolerância a Partição de Redes

Prof. Vitor Ribeiro 56 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

9. LISTAS DE EXERCÍCIOS
1- (Instituto AOCP – 2018 – PRODEB - Especialista de TIC /
Construção de Software)
Com base nos sistemas de banco de dados NoSQL, assinale a alternativa que
correlaciona corretamente os SGBD`s no NoSQL e seus modelos estruturais.
a) MongoDB: Modelo Orientado a Colunas – Cassandra: Modelo Baseado em
Grafos – Neo4J: Modelo Orientado a Documentos – Redis: Modelo Chave-Valor.
b) Cassandra: Modelo Orientado a Colunas – Neo4J: Modelo Baseado em Grafos
– Redis: Modelo Orientado a Documentos – MongoDB: Modelo Chave-Valor.
c) Redis: Modelo Orientado a Colunas – Cassandra: Modelo Baseado em Grafos
– MongoDB: Modelo Orientado a Documentos – Neo4J: Modelo Chave-Valor.
d) Neo4J: Modelo Orientado a Colunas – Cassandra: Modelo Baseado em Grafos
– MongoDB: Modelo Orientado a Documentos – Redis: Modelo Chave-Valor.
e) Cassandra: Modelo Orientado a Colunas – Neo4J: Modelo Baseado em Grafos
– MongoDB: Modelo Orientado a Documentos – Redis: Modelo Chave-Valor.

2- (FEPESE – 2019 – CELESC - Analista - Sistemas/Infraestrutura


Operação)
Quais dos sistemas gerenciadores de banco de dados (SGBD) abaixo constituem
SGBDs NoSQL?
1.Oracle database
2.MongoDB
3.Neo4j
4.MySQL
Assinale a alternativa que indica todas as afirmativas corretas.
a) São corretas apenas as afirmativas 2 e 3.
b) São corretas apenas as afirmativas 1, 2 e 3.
c) São corretas apenas as afirmativas 1, 2 e 4.
d) São corretas apenas as afirmativas 2, 3 e 4.
e) São corretas as afirmativas 1, 2, 3 e 4.

Prof. Vitor Ribeiro 57 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

3- (FGV - 2014 - PROCEMPA - Analista em TI e Comunicação - Analista


em Programação e Suporte de Sistemas Informatizados e
Georeferenciados)
O teorema CAP (CAP Theorem) é um importante resultado teórico na Ciência da
Computação, e frequentemente é referenciado na comparação entre sistemas
de bancos de dados “tradicionais” e aqueles que são conhecidos pela sigla
NoSQL. Esse teorema aborda as propriedades (ou garantias) que um sistema
de banco de dados deve prover, e é central na discussão das conveniências de
utilização de um ou outro modelo.
Assinale a opção que descreve, corretamente, o significado das letras na sigla
CAP.
a) Concurrency, Access, Time
b) Consistency, Atomicity, Parallel processing.
c) Consistency, Availability, Partition tolerance.
d) Concurrency, Availability, Pear processing.
e) Control, Atomicity, Partition network.

4- (ESAF - 2015 - ESAF - Gestão e Desenvolvimento de Sistemas) Em


relação a Big Data e NoSQL, é correto afirmar que
a) os “3 Vs" principais do Big Data referem-se a Volume, Velocidade e
Versatilidade de dados.
b) na era do Big Data, as únicas estratégias eficientes para garantir a
privacidade são consentimento individual, opção de exclusão e anonimização.
c) o Hadoop, o mais conhecido e popular sistema para gestão de Big Data, foi
criado pela IBM, a partir de sua ferramenta de Data Mining WEKA.
d) o NoSQL é um sistema relacional, distribuído, em larga escala, muito eficaz
na organização e análise de grande quantidade de dados.
e) o Cassandra é um sistema de banco de dados baseado na abordagem NoSQL,
originalmente criado pelo Facebook, no qual os dados são identificados por meio
de uma chave.

5- (CS-UFG – 2018 – UFG – Técnico de Tecnologia da Informação)


São exemplos de Sistemas Gerenciadores de Banco de Dados:
a) MongoDB, PostgreSQL, NoSQL.
b) MySQL, NoSQL, Oracle.
c) PostgreSQL, NTFS, Oracle.
d) SQL Server, MySQL, MongoDB.

Prof. Vitor Ribeiro 58 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

6- (CESPE - 2014 - TJ-SE - Analista Judiciário - Banco de Dados)


Acerca de bancos de dados semiestruturados e bancos de dados NOSQL, julgue
os itens subsecutivos.
Devido à escalabilidade esperada para os bancos de dados NOSQL, a
implementação desses bancos utiliza modelos de armazenamento de dados
totalmente distintos dos utilizados em sistemas relacionais.

7- (CESPE - 2014 - TJ-SE - Analista Judiciário - Banco de Dados


Acerca de bancos de dados semiestruturados e bancos de dados NOSQL, julgue
os itens subsecutivos.
Bancos de dados NOSQL orientados a documentos são apropriados para o
armazenamento de dados semiestruturados.

8- (CCV-UFC - 2019 - UFC - Técnico de Tecnologia da Informação -


Desenvolvimento de Sistemas)
Sobre os bancos de dados NoSQL, assinale a afirmativa correta.
a) Bancos de dados NoSQL não podem ser indexados.
b) Bancos de dados NoSQL são considerados banco de dados relacionais.
c) Nos bancos de dados NoSQL devem ser definidos um esquema de dados fixo
antes de qualquer operação.
d) São exemplos de bancos de dados NoSQL: MongoDB, Firebird, DynamoDB,
SQLite, Microsoft Access e Azure Table Storage.
e) Os bancos de dados NoSQL usam diversos modelos para acessar e gerenciar
dados, como documento, gráfico, chave-valor, em memória e, pesquisa.

9- (Quadrix - 2014 - DATAPREV - Analista Tecnologia da Informação)


Atualmente, diversos bancos de dados estão disponíveis aos mais variados fins.
Cada um com especificações, propósitos, modelos e arquiteturas diferentes.
Dentre eles, um se destaca como o mais popular banco de dados Open Source
do mundo, administrado atualmente pela Oracle Corparation. De qual banco de
dados trata essa referência?
a) NoSQL.
b) SQLite.
c) MySQL.
d) DB2.
e) PostgreSQL.

Prof. Vitor Ribeiro 59 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

10- (COPESE - UFPI - 2018 - UFPI - Técnico de Tecnologia da


Informação)
Assinale a opção que NÃO apresenta dois Sistemas de Gerenciamento de Banco
de Dados (SGBD).
a) Oracle e MySQL
b) Firebird e MySQL
c) PostgreSQL e MongoDB
d) Cassandra e Redis
e) NoSQL e FireSQL

11- (Instituto AOCP - 2018 - PRODEB - Especialista de TIC


/Construção de Software)
Referente a banco de dados não relacionais, normalmente denominados de
NoSQL, analise as assertivas e assinale a alternativa que aponte a(s) correta(s).
I. É projetado para realizar o armazenamento de dados não estruturados.
II. É projetado para ser utilizado em arquiteturas distribuídas em rede.
III. Possui suporte a propriedades transacionais ou formas normais.
IV. Em relação à normalização de dados, atende somente a 1FN (Primeira Forma
Normal).
a) Apenas III.
b) Apenas III e IV.
c) Apenas I e II.
d) Apenas I e III.
e) Apenas II, III e IV.

12- (CESPE - 2019 - SLU-DF - Analista de Gestão de Resíduos Sólidos -


Informática)
No que se refere a banco de dados relacional (SQL) e não relacional (NoSQL) e
ao framework JPA, julgue o item subsecutivo.
Para uma empresa que necessite implantar uma base de dados altamente
escalável, com grande desempenho e cujo esquema de dados seja flexível, de
modo que suporte constantes mudanças de campos e valores armazenados, a
melhor opção é uma base de dados NoSQL.

Prof. Vitor Ribeiro 60 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

13- (CESPE - 2013 - CNJ - Analista Judiciário - Análise de Sistemas)


No que se refere ao desenvolvimento web de alto desempenho,
julgue os itens subsequentes:
A escalabilidade dos bancos de dados NoSQL é garantida pela ausência de um
esquema (scheme free).

14- (UFMT - 2015 - IF-MT - Professor - Engenharia de Computação)


A coluna da esquerda apresenta tipos de modelos de dados relacionados com
Banco de Dados NoSQL e a da direita, suas propriedades. Numere a coluna da
direita de acordo com a da esquerda.
1 - Chave-Valor
2 – Documento
3 – Grafo
4 - Coluna
( ) O conteúdo do dado é organizado em codificações semelhantes à YAML.
( ) Tem enfoque principal no relacionamento entre os dados, com valores sendo
armazenados em nós e suas ligações.
( ) Para cada identificador único tem-se associado um valor que pode ser de
qualquer tipo.
( ) Organizado em tabelas com foco nos campos das tuplas.
Assinale a sequência correta.
a) 2, 3, 1, 4
b) 3, 1, 4, 2
c) 1, 4, 2, 3
d) 4, 2, 3, 1

15- (FGV - 2015 - TJ-BA - Técnico Judiciário - Tecnologia da


Informação)
Analise as afirmativas a respeito da classe de gerenciadores de bancos de dados,
surgida em anos recentes, conhecida como NoSQL.

I. Mesmo sem suportar tabelas relacionais, baseiam-se em esquemas de dados


previamente definidos;
II. Suas estruturas não permitem o uso de linguagens do tipo do SQL para
recuperação de dados;
III. Garantem operações com as propriedades conhecidas pela sigla ACID;

Prof. Vitor Ribeiro 61 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

IV. Privilegiam a rapidez de acesso e a disponibilidade dos dados em detrimento


das regras de consistência das transações.
O número de afirmativas corretas é:
a) uma;
b) duas;
c) três;
d) quatro;
e) cinco.

16- (FGV - 2017 - IBGE - Analista Censitário - Análise de Sistemas -


Desenvolvimento de Aplicações - Web Mobile)
Observe a figura a seguir que ilustra relações entre colegas e seus interesses.

O tipo de Banco de Dados NoSQL, não relacional, que armazena tais


informações, utilizando estruturas de vértices e arestas, com propriedades
associadas, é o:
a) Colunar;
b) Documento;
c) Grafo;
d) Chave-valor;
e) Tabular.

17- (CPPS – 2018 - UNESPAR - Técnico em Informática)


O termo NoSQL é utilizado para descrever bancos de dados não relacionais de
alto desempenho e que usam diversos modelos de dados, incluindo
documentos, gráficos, chave-valor e colunas. Selecione entre os SGBD´s
relacionados abaixo aquele que possui tais características:
a) MariaDB
b) SQLite

Prof. Vitor Ribeiro 62 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

c) MongoDB
d) MySQL
e) PostgreSQL

18- (INSTITUTO AOCP - 2016 - CASAN - Analista de Sistema -


Desenvolvimento de Sistemas)
Em relação à Big Data e NoSQL, é correto afirmar que
a) são conceitos concorrentes, portanto não podem ser implementados juntos.
b) são conceitos que se complementam e com características eficientes para
trabalhar com pequenas quantidades de informações.
c) são duas ferramentas de empresas concorrentes.
d) são conceitos que se complementam.
e) os SGBDs Oracle e MySQL são implementações desses conceitos.

19- (CESPE - 2013 - CNJ - Analista Judiciário - Análise de Sistemas)


No que se refere ao desenvolvimento web de alto desempenho,
julgue os itens subsequentes
Apesar de implementarem tecnologias distintas, todos os bancos de dados
NoSQL apresentam em comum a implementação da tecnologia chave-valor.

20- (CESPE - 2017 - TRT - 7ª Região (CE) - Técnico Judiciário -


Tecnologia da Informação)
No que diz respeito a banco de dados, assinale a opção correta.
a) A notação CrowsFoot é utilizada para representar a cardinalidade dos
relacionamentos entre as entidades de um diagrama.
b) Uma tabela encontra-se na terceira forma normal (3FN) quando são
eliminados os eventuais relacionamentos ternários existentes.
c) A chave primária é a base da restrição de integridade referencial, pois
estabelece os padrões de valores para o seu conteúdo.
d) O termo NoSQL refere-se a bancos de dados que são acessados sem
utilização de SQL.

Prof. Vitor Ribeiro 63 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

21- (FCC - 2018 - SEFAZ-SC - Auditor-Fiscal da Receita Estadual -


Tecnologia da Informação - Prova 3)
Como não existe um modelo de armazenamento de dados único adequado para
atender a todos os cenários e necessidades das aplicações de Big Data, em
complemento ao modelo relacional, foram criados quatro novos tipos de
armazenamento NoSQL (Not only SQL). Dentre esses, aqueles que modelam os
dados usando o formato de linhas e colunas são APENAS os tipos de bancos de
dados orientados a colunas,
a) chave-valor e grafos.
b) chave-valor e documentos.
c) documentos e grafos.
d) chave-valor.
e) grafos.

22- (CESPE - 2013 - CNJ - Analista Judiciário - Análise de Sistemas)


Uma característica de bancos de dados NoSQL é o suporte à replicação de dados.
Entre as abordagens utilizadas para replicação, inclui-se a mestre-escravo.

23- (CESPE - 2015 - TCU - Auditor Federal de Controle Externo -


Tecnologia da Informação)
Julgue o item subsecutivo, a respeito de sistemas de bancos de dados.
Como forma de permitir as buscas em documentos semiestruturados, um banco
de dados NoSQL do tipo orientado a documentos armazena objetos indexados
por chaves utilizando tabelas de hash distribuídas.

24- (CESPE - 2018 - Polícia Federal - Perito Criminal Federal - Área 3)


Acerca de banco de dados, julgue o item seguinte.
NoSQL são bancos de dados que não aceitam expressões SQL e devem ser
armazenados na nuvem.

25- (FGV - 2016 - IBGE - Analista - Análise de Sistemas -


Desenvolvimento de Aplicações - Web Mobile)
Considere as seguintes características de um projeto de banco de dados.
I. O modelo de dados é conhecido a priori e é estável;
II. A integridade dos dados deve ser rigorosamente mantida;
III. Velocidade e escalabilidade são preponderantes.

Prof. Vitor Ribeiro 64 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

Dessas características, o emprego de bancos de dados NoSQL é favorecido


somente por:

a) I;

b) I e II;
c) II;
d) II e III;
e) III.

26- (CESPE - 2015 - TJ-DFT - Analista Judiciário - Suporte em


Tecnologia da Informação)
A respeito de tipos de bancos de dados, julgue o item que se segue.
Sistemas de bancos de dados classificados como NoSQL permitem a inserção
de dados sem que haja um esquema predefinido.

27- (FGV - 2015 - TJ-PI - Analista Judiciário - Analista de Sistemas /


Banco de Dados)
Bancos de dados conhecidos como NoSQL podem ser particionados em
diferentes servidores, o que introduz o problema de processar consultas que
envolvem múltiplos nós de processamento. Um modelo usualmente empregado
nessas circunstâncias é conhecido como:
a) CAP Theorem;
b) Map/Reduce;
c) Hash tables;
d) Clustered columns;
e) Data Thread.

28- (FGV - 2017 - IBGE - Analista Censitário - Análise de Sistemas -


Desenvolvimento de Aplicações - Web Mobile)

Bancos de Dados NoSQL podem armazenar dados em diversos formatos não


relacionais, como documentos compostos por pares de campo-e-valor (field-
and-value), conforme a estrutura exemplificada a seguir.

Prof. Vitor Ribeiro 65 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

O Banco de Dados NoSQL utilizado para armazenar documentos compostos por


pares campo-e-valor, no formato BSON (JSON-like), é o:
a) OpenLink Virtuoso;
b) Neo4j;
c) Apache HBase;
d) MongoDB;
e) Titan.

29- (CESPE - 2016 - FUNPRESP-JUD - Analista - Tecnologia da


Informação)
A respeito de banco de dados, julgue o próximo item.
Os bancos de dados NoSQL não permitem a atualização de seus dados, por
serem orientados a documentos e(ou) coleções.

30- (CESPE - 2016 - FUNPRESP-JUD - Analista - Tecnologia da


Informação)
Julgue o item subsecutivo, referente às tecnologias de bancos de dados.
Em um banco de dados NoSQL orientado a documentos, a inexistência de um
esquema impossibilita a definição de índices.

31- (CESPE - 2016 - TCE-PA - Auditor de Controle Externo - Área


Informática - Analista de Segurança)
Acerca de segurança de banco de dados e de desenvolvimento de software,
julgue o item subsecutivo.
Os bancos de dados NoSQL são imunes a ataques de injeção SQL.

32- (UFMT – 2018 - Pref VG - Técnico de Desenvolvimento Econômico


e Social /Programador Web)
Sobre os Sistemas Gerenciadores de Banco de Dados (SGBD), é correto afirmar:
a) Não garantem acesso seguro aos bancos de dados, esse controle é feito pelo
sistema operacional.
b) Permitem o compartilhamento dos dados apenas para usuários do mesmo
sistema operacional.
c) Facilitam o processo de definição, implementação, manipulação e
compartilhamento de bancos de dados.
d) Já se tornaram obsoletos, dando lugar para os sistemas NoSql.

Prof. Vitor Ribeiro 66 de 67


www.exponencialconcursos.com.br
Curso: Tecnologia da Informação
Teoria e Questões comentadas
Prof. Vitor Ribeiro

10. GABARITO
1 E 11 C 21 B 31 Errado
2 A 12 Certo 22 Certo 32 C
3 C 13 Errado 23 Errado

4 E 14 A 24 Errado
5 D 15 A 25 E
6 Errado 16 C 26 Certo

7 Certo 17 C 27 B
8 E 18 D 28 D
9 C 19 Errado 29 Errado

10 E 20 A 30 Errado

11. REFERÊNCIAS
FERREIRA, Lauren. As diferenças entre SQL e NoSQL: MySQL x MongoDB.
Disponível em: <https://medium.com/devtranslate/diferencas-entre-sql-e-nosql-
51311f9069bd> Acesso em: 26 ago. de 2019.

LÓSCIO, Bernadette Farias; OLIVEIRA, HR de; PONTES, JC de S. NoSQL no


desenvolvimento de aplicações Web colaborativas. VIII Simpósio Brasileiro de
Sistemas Colaborativos, v. 10, n. 1, p. 11, 2011.
MARQUESONE, Big Data: Técnicas e Tecnologias para extração de valor de
dados. São Paulo: Casa do Código, 2017.

OLIVEIRA, Claudio. Bancos de Dados NoSQL. Disponível em:


<https://www.ibm.com/developerworks/community/blogs/tlcbr/entry/bancos_de_dad
os_nosql?lang=en> Acesso em: 27 ago. de 2019.

PERES, Rita. SQL vs NoSQL. Disponível em: <https://www.revista-


programar.info/artigos/sql-vs-nosql/> Acesso em: 02 de set. de 2019.

SIRQUEIRA, Tassio; DALPRA, Humberto. NoSQL e a Importância da Engenharia


de Software e da Engenharia de Dados para o Big Data. Disponível em:
<https://www.researchgate.net/publication/327035187_NoSQL_e_a_Importancia_da_
Engenharia_de_Software_e_da_Engenharia_de_Dados_para_o_Big_Data> Acesso
em: 30 de ago. de 2019.

SADALAGE, Pramod J.; FOWLER, Martin. NoSQL Essencial: Um guia conciso para o
mundo emergente da persistência poliglota. Novatec Editora, 2019.

VAISH, Gaurav. Getting started with NoSQL. Packt Publishing Ltd, 2013.

Prof. Vitor Ribeiro 67 de 67


www.exponencialconcursos.com.br

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy