Informática Parte 5 Prof. Márcio Hunecke

Documentos relacionados
Introdução. O que é um Banco de Dados (BD)?

BCD29008 Banco de dados

BCD29008 Banco de dados

Informática Parte 10 Prof. Márcio Hunecke

CASSANDRA: BANCO DE DADOS NÃO RELACIONAL DE ALTO DESEMPENHO

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

Informática Parte 26 Prof. Márcio Hunecke

Informática Parte 11 Prof. Márcio Hunecke

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

Informática Parte 23 Prof. Márcio Hunecke

Bancos de Dados NoSQL

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

SGBD NoSQL. Débora Souza in940

Bancos de Dados NoSQL PROF.: DR. LUÍS CARLOS COSTA FONSECA

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Aula 01 Conceito de Banco de Dados e SGBD

Técnico em Informática. Banco de Dados. Profª Ana Paula Mandelli

NoSQL Apache Cassandra para DBAs. Conceitos básicos que todo DBA deve conhecer sobre Apache Cassandra.

Banco de Dados. Perspectiva Histórica dos Bancos de Dados. Prof. Walteno Martins Parreira Jr

Informática Parte 25 Prof. Márcio Hunecke

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Marcio Victorino. Análise de Informações TCU - TI

Informática Parte 1 Prof. Márcio Hunecke

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM/BCC

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Bancos de Dados Distribuídos

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

AULA SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS

Arquiteturas para SGBD. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

DDL). O resultado da compilação dos parâmetros DDLs é

Banco de Dados e Aplicações em Negócios: Introdução.

Curso: Banco de Dados I. Conceitos Iniciais

Prof. Daniela Barreiro Claro

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Informática Parte 4 Prof. Márcio Hunecke

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Bancos de Dados Distribuídos. Bancos de Dados Distribuídos. Conteúdo. Motivação. Motivação. Introdução aos BDs Distribuídos.

Desenvolvimento de Aplicações Distribuídas

Introdução à Banco de Dados

SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

Big Data Open Source com Hadoop

Introdução aos Bancos de Dados Não-Relacionais. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador)

Data Warehouse ETL. Rodrigo Leite Durães.

Korth Silberschatz Sundarshan. Sistema de Banco de Dados, 5/E

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Prof. Daniela Barreiro Claro

Introdução aos Bancos de dados. Francisco Antonio de Sousa

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1. Prof. Leonardo Vasconcelos

Sistemas da Informação. Banco de Dados I. Edson Thizon

- 1ª Lista de Exercícios -

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Big Data. A Nova Onda

Informática Simulado Prof. Márcio Hunecke

SGBD NoSQL 1. Dácio Alves Florêncio

Banco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC)

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer

Palavras Chave: NoSQL, Escalabilidade, Banco de dados, web 2.0.

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio

Banco de Dados. SGBDs. Professor: Charles Leite

Informática. Banco de Dados. Professor Márcio Hunecke.

Revisando Banco de Dados. Modelo Relacional

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Utilização de Banco de Dados NoSql em Ambientes Corporativos

Banco de Dados. Aula 01. Prof. Diemesleno Souza Carvalho

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

1. Conceitos de Bancos de Dados

Introdução a Banco de Dados Prof. Msc Denival A. dos Santos

MATA60 BANCO DE DADOS Aula 2- Sistema Gerenciador de Banco de Dados. Prof. Daniela Barreiro Claro

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados

Transcrição:

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

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 O modelo relacional normaliza dados em estruturas tabulares conhecidas como tabelas, que consistem em linhas e colunas. Um esquema define estritamente as tabelas, colunas, índices, relações entre tabelas e outros elementos do banco de dados. Modelo de dados Bancos de dados não relacionais (NoSQL) normalmente não aplicam um esquema. Geralmente, uma chave de partição é usada para recuperar valores, conjuntos de colunas ou documentos semiestruturados JSON, XML ou outros que contenham atributos de itens relacionados. www.acasadoconcurseiro.com.br 3

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 Durabilidade. Atomicidade significa "tudo ou nada", ou seja, uma transação é concluída integralmente ou não. Constância significa que quando uma transação é realizada, os dados devem estar em conformidade com o esquema do banco de dados. 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 inesperada para o último estado conhecido. Propriedades ACID Bancos de dados NoSQL normalmente trocam algumas propriedades ACID de sistemas de gerenciamento 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 desafios de arquitetura e precisam solucionar uma combinação de gargalos de desempenho, escalabilidade, complexidade operacional e custos crescentes de administração e suporte. O desempenho normalmente depende do subsistema do disco. A otimização de consultas, índices e estrutura de tabela é necessária para alcançar máximo desempenho. Desempenho Desempenho geralmente é uma função do tamanho do cluster do hardware subjacente, da latência de rede e da aplicação que faz a chamada. Mais fácil de aumentar a escala "verticalmente" com hardware mais rápido. Outros investimentos são necessários para tabelas relacionais para abranger um sistema distribuído. Escala Projetado para aumentar a escala "horizontalmente" usando clusters distribuídos de hardware de baixo custo para aumentar a transferência sem aumentar a latência. As solicitações para armazenar e recuperar dados são comunicadas usando consultas compatíveis com structured query language (SQL). Essas consultas são analisadas e executadas por sistemas de gerenciamento de bancos de dados relacionais. APIs APIs baseadas em objetos permitem que desenvolvedores de aplicações armazenem e restaurem facilmente estruturas de dados na memória. As chaves de partição permitem que os aplicativos procurem pares de chave-valor, conjuntos de colunas ou documentos semiestruturados contendo objetos e atributos de aplicativos serializados. Os bancos de dados SQL normalmente oferecem um rico conjunto de ferramentas para simplificar o desenvolvimento de aplicações orientadas ao banco de dados. Ferramentas Os bancos de dados NoSQL normalmente oferecem ferramentas para gerenciar clusters e escalabilidade. As aplicações são a interface principal com os dados subjacentes. 4 www.acasadoconcurseiro.com.br

Banco do Brasil - TI (Escriturário) Informática Márcio Henecke 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. www.acasadoconcurseiro.com.br 5

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 nativamente: 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 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. 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. www.acasadoconcurseiro.com.br 7

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). 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. 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. 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. 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. 8 www.acasadoconcurseiro.com.br

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. 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. 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 campoe-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. www.acasadoconcurseiro.com.br 9

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. 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. 10 www.acasadoconcurseiro.com.br

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 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. www.acasadoconcurseiro.com.br 11

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 12 www.acasadoconcurseiro.com.br