12
Escriturário Informática – Parte 5 Prof. Márcio Hunecke

Informática – Parte 5 Prof. Márcio Hunecke · Informática BANCO DE DADOS NOSQL (CONCEITOS BÁSICOS, BANCOS ... sultas são analisadas e executadas por sistemas de gerenciamento

  • Upload
    haquynh

  • View
    222

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Informática – Parte 5 Prof. Márcio Hunecke · Informática BANCO DE DADOS NOSQL (CONCEITOS BÁSICOS, BANCOS ... sultas são analisadas e executadas por sistemas de gerenciamento

Escriturário

Informática – Parte 5

Prof. Márcio Hunecke

Page 2: Informática – Parte 5 Prof. Márcio Hunecke · Informática BANCO DE DADOS NOSQL (CONCEITOS BÁSICOS, BANCOS ... sultas são analisadas e executadas por sistemas de gerenciamento
Page 3: Informática – Parte 5 Prof. Márcio Hunecke · Informática BANCO DE DADOS NOSQL (CONCEITOS BÁSICOS, BANCOS ... sultas são analisadas e executadas por sistemas de gerenciamento

www.acasadoconcurseiro.com.br 3

Informática

BANCO DE DADOS NOSQL (CONCEITOS BÁSICOS, BANCOS ORIENTADOS A GRAFOS, COLUNAS, CHAVE/VALOR E DOCUMENTOS)

NoSQL (originalmente se referindo a "no SQL" – "não SQL" – ou "non relational" – não relacional, posteriormente estendido para Not Only SQL – Não Somente SQL) é um termo genérico para uma classe definida de banco de dados que fornecem um mecanismo para armazenamento e recuperação de dados que são modelados de formas diferentes das relações tabulares usadas nos bancos de dados relacionais. Tais bancos de dados existem desde o final da década de 1960, mas não obtiveram o apelido de "NoSQL" até atingirem sua onda de popularidade no início do século vinte e um, desencadeada pelas necessidades das empresas de Web 2.0 como Facebook, Google e Amazon.com. Bancos de dados NoSQL são cada vez mais usados em Big Data e aplicações web de tempo real.

Motivações para esta abordagem incluem: simplicidade de projeto, escalonamento "horizontal" mais simples para clusters de máquinas (o que é um problema para bancos de dados relacionais) e controle mais refinado sobre a disponibilidade. As estruturas de dados usadas pelos bancos de dados NoSQL (Colunas, Chave-valor, Grafos ou Documentos) são diferentes daquelas usadas por padrão em bancos de dados relacionais, tornando algumas operações mais rápidas em NoSQL. A adequação particular de um determinado banco de dados NoSQL depende do problema que ele deve resolver. As estruturas de dados usadas por bancos de dados NoSQL também são vistas como "mais flexíveis" que tabelas de bancos de dados relacionais.

A maioria dos bancos de dados NoSQL oferece um conceito de "consistência eventual" em que as alterações do banco de dados são propagadas para todos os nós "eventualmente" (geralmente em milissegundos), de forma que as consultas de dados podem não retornar dados atualizados imediatamente ou podem resultar na leitura de dados não precisa, um problema conhecido como leitura obsoleta. Além disso, alguns sistemas NoSQL podem exibir gravações perdidas e outras formas de perda de dados.

Referência: https://pt.wikipedia.org/wiki/NoSQL

Tabela comparativa entre banco de Dados Relacionais e NoSQL

Modelo de dados

O modelo relacional normaliza dados em estrutu-ras tabulares conhecidas como tabelas, que con-sistem em linhas e colunas. Um esquema define estritamente as tabelas, colunas, índices, rela-ções entre tabelas e outros elementos do banco de dados.

Bancos de dados não relacionais (NoSQL) nor-malmente não aplicam um esquema. Geralmen-te, uma chave de partição é usada para recuperar valores, conjuntos de colunas ou documentos se-miestruturados JSON, XML ou outros que conte-nham atributos de itens relacionados.

Page 4: Informática – Parte 5 Prof. Márcio Hunecke · Informática BANCO DE DADOS NOSQL (CONCEITOS BÁSICOS, BANCOS ... sultas são analisadas e executadas por sistemas de gerenciamento

www.acasadoconcurseiro.com.br4

Propriedades ACID

Sistemas de gerenciamento de bancos de dados relacionais tradicionais são compatíveis com um conjunto de propriedades definido pela sigla ACID: Atomicidade, Constância, Isolamento e Du-rabilidade. Atomicidade significa "tudo ou nada", ou seja, uma transação é concluída integralmen-te ou não. Constância significa que quando uma transação é realizada, os dados devem estar em conformidade com o esquema do banco de da-dos. Isolamento exige que as transações simultâ-neas sejam executadas separadas uma da outra. Durabilidade é a capacidade de se recuperar de uma falha do sistema ou falta de energia inespe-rada para o último estado conhecido.

Bancos de dados NoSQL normalmente trocam algumas propriedades ACID de sistemas de ge-renciamento de bancos de dados relacionais por um modelo de dados mais flexível que escala horizontalmente. Essas características fazem dos bancos de dados NoSQL uma excelente opção em situações em que os SGBDs deparam com desa-fios de arquitetura e precisam solucionar uma combinação de gargalos de desempenho, esca-labilidade, complexidade operacional e custos crescentes de administração e suporte.

Desempenho

O desempenho normalmente depende do subsis-tema do disco. A otimização de consultas, índices e estrutura de tabela é necessária para alcançar máximo desempenho.

Desempenho geralmente é uma função do tama-nho do cluster do hardware subjacente, da latên-cia de rede e da aplicação que faz a chamada.

Escala

Mais fácil de aumentar a escala "verticalmente" com hardware mais rápido. Outros investimen-tos são necessários para tabelas relacionais para abranger um sistema distribuído.

Projetado para aumentar a escala "horizontal-mente" usando clusters distribuídos de hardwa-re de baixo custo para aumentar a transferência sem aumentar a latência.

APIs

As solicitações para armazenar e recuperar dados são comunicadas usando consultas compatíveis com structured query language (SQL). Essas con-sultas são analisadas e executadas por sistemas de gerenciamento de bancos de dados relacio-nais.

APIs baseadas em objetos permitem que desen-volvedores de aplicações armazenem e restau-rem facilmente estruturas de dados na memória. As chaves de partição permitem que os aplicati-vos procurem pares de chave-valor, conjuntos de colunas ou documentos semiestruturados con-tendo objetos e atributos de aplicativos serializa-dos.

Ferramentas

Os bancos de dados SQL normalmente oferecem um rico conjunto de ferramentas para simplificar o desenvolvimento de aplicações orientadas ao banco de dados.

Os bancos de dados NoSQL normalmente ofere-cem ferramentas para gerenciar clusters e esca-labilidade. As aplicações são a interface principal com os dados subjacentes.

Page 5: Informática – Parte 5 Prof. Márcio Hunecke · Informática BANCO DE DADOS NOSQL (CONCEITOS BÁSICOS, BANCOS ... sultas são analisadas e executadas por sistemas de gerenciamento

Banco do Brasil - TI (Escriturário) – Informática – Márcio Henecke

www.acasadoconcurseiro.com.br 5

Principais soluções NoSQL do mercado

Características resumidas dos bancos de dados NoSQL

• Bancos de dados não relacionais.

• Utilizam soluções de cluster para prover alta disponibilidade.

• Esquema do banco de dados totalmente flexível.

• Se necessário melhor a performance do banco de dados, novos servidores são adicionados, o que significa uma atualização HORIZONTAL. Para os bancos de dados relacionais, a atualização costuma ser VERTICAL, melhorando os recursos do único computador, o que sempre representa custos bem superiores.

• O desempenho do banco de dados é um espelho do hardware, diferentemente dos bancos de dados relacionais onde o desempenho é muitas vezes prejudicado pela necessidade de consulta em diversas tabelas (Joins).

• Banco mais usado é o MongoDB.

• Índices são fundamentais para bom desempenho.

Page 6: Informática – Parte 5 Prof. Márcio Hunecke · Informática BANCO DE DADOS NOSQL (CONCEITOS BÁSICOS, BANCOS ... sultas são analisadas e executadas por sistemas de gerenciamento
Page 7: Informática – Parte 5 Prof. Márcio Hunecke · Informática BANCO DE DADOS NOSQL (CONCEITOS BÁSICOS, BANCOS ... sultas são analisadas e executadas por sistemas de gerenciamento

www.acasadoconcurseiro.com.br 7

Questões

1. (2017 – IBFC – TJ-PE – Analista Judiciário – Analista de Sistemas)

Pentaho é um software de código aberto para inteligência empresarial, desenvolvido em Java. Assinale a alternativa que apresenta com quais bancos de dados o software trabalha nativa-mente:

a) NoSQL e Hadoop b) PostgreSQL e Oracle c) NoSQL e Oracle d) PostgreSQL e Hadoop e) NoSQL e PostgreSQL

2. (2014 – Quadrix – 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.

3. (2015 – ESAF – 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 consenti-

mento 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.

4. (2016 – INSTITUTO AOCP – 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.

Page 8: Informática – Parte 5 Prof. Márcio Hunecke · Informática BANCO DE DADOS NOSQL (CONCEITOS BÁSICOS, BANCOS ... sultas são analisadas e executadas por sistemas de gerenciamento

www.acasadoconcurseiro.com.br8

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.

5. (2013 – CESPE – 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).

( ) Certo   ( ) Errado

6. (2014 – CESPE – 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.

( ) Certo   ( ) Errado

7. (2014 – CESPE – 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.

( ) Certo   ( ) Errado

8. (2016 – CESPE – 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.

( ) Certo   ( ) Errado

9. (2013 – CESPE – CNJ – Analista Judiciário – Análise de Sistemas)

No que se refere ao desenvolvimento web de alto desempenho, julgue os itens subsequentes. 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.

( ) Certo   ( ) Errado

Page 9: Informática – Parte 5 Prof. Márcio Hunecke · Informática BANCO DE DADOS NOSQL (CONCEITOS BÁSICOS, BANCOS ... sultas são analisadas e executadas por sistemas de gerenciamento

www.acasadoconcurseiro.com.br 9

Banco do Brasil - TI (Escriturário) – Informática – Márcio Hencke

10. (2013 – CESPE – 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.

( ) Certo   ( ) Errado

11. (2016 – CESPE – 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.

( ) Certo   ( ) Errado

12. (2017 – FGV – 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.

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.

13. (2014 – CESPE – TJ-SE – Analista Judiciário – Banco de Dados)

Acerca de bancos de dados semiestruturados e bancos de dados NOSQL, julgue os itens subsecutivos. Para garantir a eficiência das consultas a bancos de dados semiestruturados, é fundamental a adoção de técnica de indexação que leve em consideração, além das informações, as propriedades estruturais dos dados.

( ) Certo   ( ) Errado

Page 10: Informática – Parte 5 Prof. Márcio Hunecke · Informática BANCO DE DADOS NOSQL (CONCEITOS BÁSICOS, BANCOS ... sultas são analisadas e executadas por sistemas de gerenciamento

www.acasadoconcurseiro.com.br10

14. (2017 – FGV – 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.

15. (2017 – CESPE – 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.

16. (2016 – CESPE – 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.

( ) Certo   ( ) Errado

17. (2016 – CESPE – FUNPRESP-EXE – Especialista – Tecnologia da Informação)

Com relação à forma como os dados são armazenados e manipulados no desenvolvimento de aplicações, julgue o item a seguir. Em um banco de dados NoSQL do tipo grafo, cada arco é definido por um identificador único e expresso como um par chave/valor.

( ) Certo   ( ) Errado

Page 11: Informática – Parte 5 Prof. Márcio Hunecke · Informática BANCO DE DADOS NOSQL (CONCEITOS BÁSICOS, BANCOS ... sultas são analisadas e executadas por sistemas de gerenciamento

www.acasadoconcurseiro.com.br 11

Banco do Brasil - TI (Escriturário) – Informática – Márcio Hencke

18. (2016 – FGV – 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.

19. (2015 – FGV – 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.

20. (2015 – FGV – 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 da-dos;

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.

Page 12: Informática – Parte 5 Prof. Márcio Hunecke · Informática BANCO DE DADOS NOSQL (CONCEITOS BÁSICOS, BANCOS ... sultas são analisadas e executadas por sistemas de gerenciamento

www.acasadoconcurseiro.com.br12

Gabarito: 1. A 2. C 3. E 4. D 5. Errado 6. Certo 7. Errado 8. Errado 9. Certo 10. Errado 11. Errado 12. D  13. Certo 14. C 15. A 16. Errado 17. Errado 18. E 19. B 20. A