Bases de Dados Relacional/Objeto e NoSQL. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática



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

Prof. Daniela Barreiro Claro

Engenharia de software 2011A. Trabalho sobre

Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL

Prof. Daniela Barreiro Claro

Bancos de dados NOSQL (Not Only SQL)

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II

ESTUDO SOBRE A TECNOLOGIA DE BANCO DE DADOS NoSQL

Prof.: Clayton Maciel Costa

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Bancos de Dados não Convencionais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

E N AT O M O L I N A T O T H

SQL. Definição do Esquema da Base de Dados. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

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

NoSQL: Vantagens, Desvantagens e Compromissos. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador)

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

NoSQL como suporte à análise de dados nãonormalizados. volume

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Sistemas de Gestão de Bases de Dados

SISTEMA GERENCIADOR DE BANCO DE DADOS

Neo4j Aprendendo conceitos por trás do Neo4j. Sem SQL? Apresentação. Por que grafos, por que agora? Por que grafos, por que agora?

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Sistemas de Bases de Dados

Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2

Sistemas Gerenciadores de Bancos de Dados

Consistência Eventual - Sistemas Distribuidos e Tolerância a Falhas

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD

Banco de Dados I. Introdução. Fabricio Breve

SQL. Ambientes de programação O catálogo do sistema. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

Introdução Banco de Dados

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Conceitos Básicos. Conceitos Básicos. Sistema de Arquivos. Prof. Edilberto Silva - edilms@yahoo.com. Sistemas de Informação Brasília/DF

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Uma Breve Introdução. Andréa Bordin

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

PERFORMANCE EVALUATION OF A MONGODB AND HADOOP PLATFORM FOR SCIENTIFIC DATA ANALYSIS M.Govindaraju and L. Ramakrishnan

Banco de Dados, Integração e Qualidade de Dados. Ceça Moraes cecafac@gmail.com

Grandes volumes de dados pertenciam ao domínio das aplicações científicas até há 15 anos atrás.

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque fernando@cic.unb.br

Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

Prof. Marcelo Machado Cunha

Bases de Dados. Bibliografia. 1. Parte I Componente Teórica. Pedro Quaresma

Evandro Deliberal Aula 01

Modelo de Dados. Modelo para organização dos dados de um BD

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

MAC NoSQL. Mauricio De Diana

BIG DATA: UMA INTRODUÇÃO. Prof. Ronaldo R. Goldschmidt

Modelo de Dados. Modelos Conceituais

Arquivo Digital de Trabalhos Práticos de Alunos

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

Sistemas Gerenciadores de Bancos de Dados

SGBD. Funções Básicas de um SGBD

Comandos de Manipulação

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de

Bancos de Dados Objeto-Relacionais

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados.

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt

Persistência e Banco de Dados em Jogos Digitais

Docente: Éberton da Silva Marinho

Por que? A WEB está substituindo o desktop Google Gmail, Google Docs, Amazon, Flickr, Facebook, Twitter, YouTube Mudança de Paradigma:

Sistemas de Ficheiros. Sistemas de Bases de Dados

INTRODUÇÃO. Diferente de Bando de Dados

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Banco de Dados Conceito de Arquitetura

Revisão de Banco de Dados

Sistemas Informáticos

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

Programação SQL. Introdução

Banco de Dados I. Quantidade de informação gerada em um dia. Aula milhões de clientes ativos; Mais de 42 terabytes de dados; Salários na área

Roteiro 2 Conceitos Gerais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais

UFG - Instituto de Informática

Big Data. A Nova Onda

Banco de Dados Orientado a Objetos

SOA Introdução. SOA Visão Departamental das Organizações

OLAP. Introdução. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction

SQL: Interrogações simples

BANCO DE DADOS GEOGRÁFICOS E WEBMAPPING -MODELAGEM DE BD GEOGRÁFICOS. Prof. Angelo Augusto Frozza, M.Sc.

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUIDOS Ano Lectivo 2015/2016

CENTRO UNIVERSITÁRIO UNA DIRETORIA DE EDUCAÇÃO CONTINUADA, PESQUISA E EXTENSÃO CURSO DE PÓS GRADUAÇÃO ENGENHARIA DE SOFTWARE

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Informática para Ciências e Engenharias 2012/13. Teórica 10

BANCO DE DADOS CONCEITOS BÁSICOS

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

Faculdade Lourenço Filho - ENADE

Transcrição:

Bases de Dados Relacional/Objeto e NoSQL Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

SGBDs Principais tarefas Gerir grandes volumes de dados Suportar acessos eficientes Garantir a concorrência Garantir a integridade Garantir a segurança Garantir a recuperação Traduzir do nível lógico para o nível físico Disponibilizar ferramentas para o desenvolvimento de BDs e aplicações 2

Bases de Dados Relational/Objeto Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

BDs relacional/objeto Na década de noventa surgiu um grande interesse em integrar conceitos do paradigma orientado por objetos no modelo relacional, surgindo assim, o modelo de dados relacional/objeto [Stonebraker 1996]. 4

Caraterísticas do modelo R/O Através de um rico sistema de tipos de dados, é possível modelar e manipular os dados de uma forma mais natural do que usando relações. Através de classes e hierarquias de classes é possível partilhar e reutilizar software e esquemas, o que dificilmente se consegue em sistemas relacionais. Através de tipos de dados abstratos, é possível proteger e prevenir erros de manipulação providenciando acessos aos objetos através de funções bem definidas. 5

ODL Object Definition Language Integração do modelo orientado por objectos em SQL Tipos definidos pelo utilizador Tipos abstratos de dados Tipos de linha com nome Tipos distintos Construtores de tipos Conjuntos, listas e sacos Funções e procedimentos definidos pelo utilizador Objetos de grande dimensão BLOBs e CLOBs 6

ODL Sintaxe Declaração de interfaces interface <nome> { <lista de propriedades> 7

ODL Interfaces Exemplos de declaração de atributos interface Filme{ attribute string nome; attribute integer ano; attribute integer duracao; attribute enum Pelicula{cor, pretoebranco} tipopelicula; interface Ator{ attribute string nome; attribute Struct Mor{string rua; string cidade} morada; 8

ODL Interfaces Exemplos de declaração de relacionamentos interface Filme{ attribute string nome; relationship Set <Ator> Atores; interface Ator{ attribute string nome; relationship Set <Filme> Participa; 9

ODL Interfaces Exemplos de declaração de relacionamentos inversos interface Filme{ attribute string nome; relationship Set <Ator> Atores inverse Ator::Participa; interface Ator{ attribute string nome; relationship Set <Filme> participa inverse Filme::Atores; 10

ODL Tipos de dados Atómicos inteiro, float, string, enumerado, etc Complexos Set <T> Bag <T> List <T> Array <T> Struct S {T1 x, T2 y, } 11

ODL Subclasses/Superclasses interface BandaDesenhada : Filme { relationship Set <Ator> vozes; interface FilmeTerror : Filme { attribute string arma; Heranças múltiplas interface BDTerror : BandaDesenhada, FilmeTerror { 12

ODL Chaves e Extent interface Filme (key(nome,ano)){ attribute string nome; relationship Set <Ator> Atores inverse Ator::Participa; O extent permite definir o conjunto de objetos da classe interface Filme (extent Filmes key(nome,ano)){ attribute string nome; relationship Set <Ator> Atores inverse Ator::Participa; 13

ODL Exemplo completo interface Filme (extent Filmes key(nome,ano)){ attribute string nome; relationship Set<Ator> Atores inverse Ator::Participa; relationship Estudio Produzido inverse Estudio::Produz; float duracaohoras() raises (duracaoinexixtente); NomesActores(out Set<String>); OutrosFilmes(in Ator, out Set<Filme>) raises (atorinexixtente); 14

Bases de Dados NoSQL Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

NoSQL Sistemas NoSQL NoSQL significa Not only SQL. Mais fáceis e mais rápidos de configurar implementar. Grande escalabilidade. A garantia de consistência é relaxada em detrimento de uma performance e eficácia superiores. NoSQL (wikipedia) 16

NoSQL Sistemas NoSQL Alternativa aos SGBDs relacionais tradicionais. Suportam esquemas flexíveis. Mais fáceis e mais rápidos de configurar implementar. Grande escalabilidade. A garantia de consistência é relaxada em detrimento de uma performance e eficácia superiores. o Não suportam uma linguagem de interrogação declarativa. o Menos fiáveis. 17

NoSQL Exemplos Grafo de uma rede social Encontrar todos os amigos de um determinado utilizador. Encontrar todos os amigos dos amigos um determinado utilizador. Encontrar todos as amigas dos amigos um determinado utilizador. Encontrar todos os amigos dos amigos dos amigos de um determinado utilizador. Páginas na wikipédia Grande quantidade de páginas. Existe uma combinação de dados estruturados e dados não estruturados. Ir buscar todos os parágrafos introdutórios de todas as páginas acerca de físicos anteriores a 2010. 18

NoSQL Implementações Abordagens - Framework MapReduce (OLAP) - Armazenamento key-value (OLTP) - Armazenamento de documentos - Bases de dados baseadas em grafos 19

NoSQL framework MapReduce Desenvolvido pelo Google Não existe um modelo de dados. Os dados são guardados em ficheiros. Existem funções especificas - map(), reduce(), reader(), writer() e combiner(). O sistema fornece o processamento de dados, é tolerante a falhas e escalável. Exemplos Hadoop 20

NoSQL funções MapReduce Map() divide o problema em subproblemas Exemplo: map(item) -> 0 ou mais pares <key, value> Reduce() dá trabalho aos subproblemas, combina resultados Exemplo: reduce(key, lista-de-valores) -> 0 ou mais registos 21

NoSQL Armazenamento key-value Key-value Interface muito simples. Modelo de dados: pares (key, value). Operações: insert(key, value), fetch(key), update(key) e delete(key). Implementação:eficientes, escaláveis e tolerantes a falhas Registos distribuídos por nós baseados em keys Sistema de réplicas Transações sobre registos únicos nem sempre garantindo consistência Exemplos Google BigTable, Amazon Dynamo, Cassandra,Voldemort e 22 Hbase.

NoSQL Armazenamento de documentos Semelhante ao Key-value Documentos (JSON, XML, ). Modelo de dados: pares (key, document). Operações: insert(key, document), fetch(key), update(key) e delete(key). As operações de fetch podem ser baseadas nos conteúdos dos documentos. Exemplos CouchDB, MongoDB e SimpleDB. 23

NoSQL BDs baseadas em grafos A interface e a linguagem de interrogação são variáveis. Single-step versus path expressions versus full recursion. RDF(Resource Description Framework) triple stores podem ser mapeados para bases de dados baseadas em grafos. Exemplos Neo4j, FlockDB, Pregel. 24