Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL



Documentos relacionados
Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL (Parte 2)

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

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

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

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

Prof. Daniela Barreiro Claro

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

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

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

SISTEMA GERENCIADOR DE BANCO DE DADOS

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

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

Uma Breve Introdução. Andréa Bordin

Banco de Dados para Redes. Cassio Diego cassiodiego.com/bdr

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

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

ESTUDO SOBRE A TECNOLOGIA DE BANCO DE DADOS NoSQL

Prof.: Clayton Maciel Costa

Prof. Daniela Barreiro Claro

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

Arquitetura de Banco de Dados

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

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

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Bancos de dados NOSQL (Not Only SQL)

Prof. Marcelo Machado Cunha

Shermila Guerra Santa Cruz Orientador: Ricardo Rodrigues Ciferri

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

Banco de Dados Conceito de Arquitetura

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

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

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

Disciplina: Tecnologias de Banco de Dados para SI s

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

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

Persistência e Banco de Dados em Jogos Digitais

Engenharia de software 2011A. Trabalho sobre

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

INE 5432 Banco de Dados II

INE 5336 Banco de Dados II

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

Introdução a Computação

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

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

Java Web/UI. Maven3 Redmine CVS. Áreas de conhecimento: Web o Aplicativos Web o Portal de conteúdo o REST Services Web Site Performance

Escalabilidade, as modas e (No)SQL. Fernando Ike

Revisão de Banco de Dados

Análise comparativa sobre bases de dados para armazenamento e consulta de dados não estruturados no formato JSON.

Roteiro 2 Conceitos Gerais

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

INE 5616 Banco de Dados II

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

Fernando Seabra Chirigati. Universidade Federal do Rio de Janeiro EEL879 - Redes de Computadores II Professores Luís Henrique Costa e Otto Duarte

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

Gerenciamento e Interoperabilidade de Redes

Prof.: Clayton Maciel Costa

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião

PLANO DE ENSINO. PRÉ-REQUISITO: Modelagem e Programação Orientada a Objetos. PROFESSOR RESPONSÁVEL : Josino Rodrigues Neto

MC536 Bancos de Dados: Teoria e Prática

Fundamentos de Banco de Dados

Conhecendo os usuários de um Sistema de Banco de Dados

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Introdução a Banco de Dados. Adão de Melo Neto

Introdução a Sistemas de Bancos de Dados

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015

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

Segurança da Informação

Bancos de Dados em Clouds

Principal: construir uma base de dados para produção de informações sobre internações hospitalares;

Banco de Dados. Maurício Edgar Stivanello

Planejamento Estratégico de TI. Felipe Pontes

Modelos. Comunicação com clientes

CICLO DE VIDA DE UM BD

Sistemas Gerenciadores de Bancos de Dados

SISTEMAS DISTRIBUÍDOS

Classificação::Modelo de implantação

Alexandre Malveira, Wolflan Camilo

AN EVALUATION OF ALTERNATIVE ARCHITECTURE FOR TRANSACTION PROCESSING IN THE CLOUD (SIGMOD)

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Introdução a Banco de Dados Aula 03. Prof. Silvestri

Introdução Banco de Dados

17/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Profa. Daniela Barreiro Claro

O Termo SIG é aplicado para sistemas que realizam o tratamento computacional de dados geográficos

2. Conceitos e Arquitetura de Bancos de Dados

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão;

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

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

Uma Proposta de Framework de Comparação de Provedores de Computação em Nuvem

Abordagem NoSQL uma real alternativa

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS

CLOUD COMPUTING. Andrêza Leite.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Disciplina de Banco de Dados Introdução

Transcrição:

Minicurso: Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL Geomar A. Schreiner Ronaldo S. Mello Departamento de Informática e Estatística (INE) Programa de Pós-Graduação em Ciência da Computação (PPGCC) Universidade Federal de Santa Catarina (UFSC)

Sumário 1. Introdução 2. Bancos de Dados (BDs) nas Nuvens e o Movimento NoSQL 3. Gerência de Dados Relacionais na Nuvem 4. Abordagens para Interoperabilidade entre BDs Relacionais e BDs NoSQL i. Abordagens do tipo Layer ii. Abordagens do tipo Storage Engine 5. Considerações Finais

Sumário 1.Introdução 2. Bancos de Dados (BDs) nas Nuvens e o Movimento NoSQL 3. Gerência de Dados Relacionais na Nuvem 4. Abordagens para Interoperabilidade entre BDs Relacionais e BDs NoSQL i. Abordagens do tipo Layer ii. Abordagens do tipo Storage Engine 5. Considerações Finais

Introdução Big Data Dados cujas características geram desafios de gerenciamento Volume: Tb, Pb, Zb, (!)... Velocidade: dados gerados e acessados com (alta!) frequência Variedade: diferentes formatos (E, SE, NE) Exemplos de aplicações Social networks, data streaming, BI, Web-based systems (crawling, extração, integração,..., de dados)

Introdução Computação nas nuvens Oferta de serviços remotos de computação em diferentes níveis IaaS, PaaS, SaaS (DBaaS) Serviços gratuitos ou pagos (pay-as-you grow) Vantagens Custo de implantação e manutenção de sistemas Elasticidade Paradigma adequado ao gerenciamento de Big Data BDs nas Nuvens

Introdução BDs relacionais (tradicionais) Não são adequados ao gerenciamento de Big Data SGBDs Relacionais (SGBDRs) Grande volume de dados Esquema fixo Escalabilidade limitada Consistência forte (ACID) Métodos de acesso com suporte ao processamento de consultas complexas (otimização e processamento de junções) Gerenciamento de Big Data (Muito!) Gigantesco volume de dados Ausência de esquema ou esquema simples/flexível Alta escalabilidade Consistência eventual (foco em disponibilidade) Métodos de acesso simples (foco em escalabilidade e disponibilidade) SGBDs NoSQL

Introdução Questão Muitas aplicações mantêm seus dados em BDRs, seus dados estão se tornando Big Data e elas gostariam de contar com o suporte de um BD NoSQL... O que fazer?

Introdução Questão Muitas aplicações mantêm seus dados em BDRs, seus dados estão se tornando Big Data e elas gostariam de contar com o suporte de um BD NoSQL... O que fazer? Possíveis soluções Solução Migrar para uma solução nativa relacional-in-thecloud ou extensões de SGBDRs comerciais para a nuvem Desvantagem(ns) Custo de aquisição Rigidez do modelo relacional para representar dados NE ou SE

Introdução Questão Muitas aplicações mantêm seus dados em BDRs, seus dados estão se tornando Big Data e elas gostariam de contar com o suporte de um BD NoSQL... O que fazer? Possíveis soluções Solução Migrar para uma solução nativa relacional-in-thecloud ou extensões de SGBDRs comerciais para a nuvem Desvantagem(ns) Custo de aquisição Rigidez do modelo relacional para representar dados NE ou SE Substituir o BDR por um BD NoSQL Curva de aprendizagem de uma nova tecnologia Custo de modificação das interfaces de acesso da aplicação (SQL NoSQL)

Introdução Questão Muitas aplicações mantêm seus dados em BDRs, seus dados estão se tornando Big Data e elas gostariam de contar com o suporte de um BD NoSQL... O que fazer? Possíveis soluções Solução Migrar para uma solução nativa relacional-in-thecloud ou extensões de SGBDRs comerciais para a nuvem Desvantagem(ns) Custo de aquisição Rigidez do modelo relacional para representar dados NE ou SE Substituir o BDR por um BD NoSQL Curva de aprendizagem de uma nova tecnologia Custo de modificação das interfaces de acesso da aplicação (SQL NoSQL) Prover uma camada de interoperabilidade entre os métodos de acesso da aplicação (SQL) e os métodos de acesso do BD NoSQL Custo de desenvolvimento desta camada

Introdução Questão Muitas aplicações mantêm seus dados em BDRs, seus dados estão se tornando Big Data e elas gostariam de contar com o suporte de um BD NoSQL... O que fazer? Possíveis soluções Solução Migrar para uma solução nativa relacional-in-thecloud ou extensões de SGBDRs comerciais para a nuvem Desvantagem(ns) Custo de aquisição Rigidez do modelo relacional para representar dados NE ou SE Substituir o BDR por um BD NoSQL Curva de aprendizagem de uma nova tecnologia Foco deste minicurso Custo de modificação das interfaces de acesso da aplicação (SQL NoSQL) Prover uma camada de interoperabilidade entre os métodos de acesso da aplicação (SQL) e os métodos de acesso do BD NoSQL Custo de desenvolvimento desta camada

Introdução Objetivo deste minicurso Apresentação e comparação de abordagens que suportam a interoperabilidade de esquemas relacionais e operações SQL para esquemas e métodos de acesso de BDs NoSQL Justificativas Evita manutenção da aplicação Evita conhecimento dos métodos de aceso NoSQL pelos desenvolvedores/mantenedores da aplicação Permite o gerenciamento eficiente do armazenamento de dados com representações heterogêneas na nuvem Exemplo: registros cujo conjunto de atributos é variável

Sumário 1. Introdução 2.Bancos de Dados (BDs) nas Nuvens e o Movimento NoSQL 3. Gerência de Dados Relacionais na Nuvem 4. Abordagens para Interoperabilidade entre BDs Relacionais e BDs NoSQL i. Abordagens do tipo Layer ii. Abordagens do tipo Storage Engine 5. Considerações Finais

Bancos de Dados nas Nuvens SGBDs oferecidos como serviço na nuvem (DBaaS) Vantagens Redução de custos com aquisição/manutenção de SGBD Delegação de tarefas de administração de dados Exemplos: tuning, backup,..., do BD Processamento de Big Data Arquiteturas de alto desempenho baseadas em o Data Centers (nodos provedores de dados) o Tecnologias de processamento paralelo e distribuído (Ex.: Map-Reduce)

BDs nas Nuvens - Características Escalabilidade Data centers, Map-Reduce,... Disponibilidade Replicação de dados, consistência relaxada,... APIs simples para acesso Ausência/baixo overhead com parsing/execução de instruções de linguagens de BD Suporte à alternância de workload Elasticidade na demanda de operações sobre dados e alocação de recursos

BDs nas Nuvens - Taxonomia Relacional Não-Relacional Nativo SQL Azure Amazon RDS Relational Cloud Amazon S3 Voldemort (BDs colunares) (BDs chave-valor) HBase Cassandra Não-Nativo Oracle 12 c DB2 on the Cloud Couch DB Mongo DB PostgreSQL Plus (BDs grafo) (BDs documento) Neo4j Orient DB

BDs nas Nuvens - Taxonomia Relacional Nativo SQL Azure Amazon RDS Relational Cloud Não-Nativo Oracle 12 c DB2 on the Cloud PostgreSQL Plus Amazon S3 Couch DB (BDs chave-valor) SGBDRs projetados Voldemort para operar na nuvem, Mongo DB ou seja, oferecem funcionalidades de gerência (BDs coluna) HBase de dados adequadas a um Cassandra SGBD na nuvem Não-Relacional (BDs grafo) (BDs documento) Neo4j Orient DB

BDs nas Nuvens - Taxonomia Relacional Nativo SQL Azure Amazon RDS Relational Cloud Não-Nativo Oracle 12 c DB2 on the Cloud PostgreSQL Plus Não-Relacional Amazon S3 Voldemort (BDs colunares) Couch DB SGBDRs não concebidos (BDs documento) para a nuvem, Mongo DB mas que podem ser executados na nuvem HBaseatravés da utilização de (BDs grafo) Neo4j serviços de Cassandra gerenciamento adicionais Orient DB (BDs chave-valor)

BDs nas Nuvens - Taxonomia Nativo Não-Nativo SGBDs não-relacionais SQL Azure concebidos para a Oracle 12 c nuvem, ou seja, baseados em modelos de Amazon RDS DB2 on the Cloud dados propostos para a nuvem Relacional Relational Cloud PostgreSQL Plus Não-Relacional Amazon S3 Voldemort (BDs colunares) (BDs chave-valor) HBase Cassandra Couch DB Mongo DB (BDs grafo) (BDs documento) Neo4j Orient DB

BDs nas Nuvens - Taxonomia Nativo Não-Nativo Relacional SQL Azure Oracle 12 c SGBDs não-relacionais não concebidos originalmente para a nuvem, mas são Amazon RDS DB2 on the Cloud utilizados em ambientes na nuvem Relational Cloud PostgreSQL Plus Não-Relacional Amazon S3 Voldemort (BDs colunares) (BDs chave-valor) HBase Cassandra Couch DB Mongo DB (BDs grafo) (BDs documento) Neo4j Orient DB

BDs nas Nuvens - Taxonomia Relacional Não-Relacional Nativo SQL Azure Amazon RDS Relational Cloud Amazon S3 Voldemort (BDs colunares) (BDs chave-valor) HBase Cassandra Não-Nativo Oracle 12 c DB2 on the Cloud Couch DB Mongo DB PostgreSQL Plus (BDs grafo) (BDs documento) Neo4j Orient DB BDs NoSQL

NoSQL (NOt only SQL) Movimento pelo desenvolvimento de SGBDs nãorelacionais para o gerenciamento de dados na nuvem Principais características Métodos de acesso simples APIs baseadas em acesso por chave Não suporta junções Maioria não suporta relacionamentos entre dados e integridade referencial Modelos de dados heterogêneos Esquemas flexíveis Falta de padronização

NoSQL (NOt only SQL) Obs.: não confunda NoSQL com NewSQL! NewSQL Movimento pelo desenvolvimento de SGBDRs Escaláveis para o tratamento de Big Data Suporte a transações e propriedades ACID Não são necessariamente serviços na nuvem Exemplos: VoltDB, MySQL cluster, NuoDB

Modelos de Dados para NoSQL Chave-Valor Colunares Documento Grafo

Modelos de Dados para NoSQL Chave-Valor Colunares Documento Grafo Modelo simples similar a uma estrutura de indexação Chave identifica um conteúdo mono ou multivalorado API simples get(key), put(key, value), delete(key) Não suporta Definição de esquemas Relacionamentos entre dados Linguagem de consulta

Modelos de Dados para NoSQL Chave-Valor Colunares Documento Grafo Modelo mais complexo que o chave-valor Conceitos: keyspace ( BD), column family ( tabela) e um conjunto de colunas ( registro) Uma coluna possui um nome e um valor Um conjunto de colunas é acessado por uma chave Itens de dados ( registros ) podem ter colunas diferentes Suporte a colunas multivaloradas e super-colunas APIs proprietárias e/ou linguagens de consulta simples Não suporta relacionamentos entre dados

Modelos de Dados para NoSQL Chave-Valor Colunares Documento Grafo Modelo adequado à representação de objetos complexos Um objeto ( documento ) possui uma chave e um conjunto de atributos Atributos podem ter domínios atômicos ou complexos (listas, tuplas, conjuntos) APIs proprietárias e/ou linguagens de consulta simples Não suporta relacionamentos entre dados Falta de padronização Exemplos: MongoDB (JSON), Amazon SimpleDB (Domínio Item Atributo {Valor}) { "_id":"discussion_tables", JSON "_rev":"d1c946b7", "Sunrise":true, "Sunset":false, "FullHours":[1,2,3,4,5,6,7,8,9,10], "Activities": [ {"Name":"Football", "Duration":2, "DurationUnit":"Hours"}, {"Name":"Breakfast", "Duration":40, "DurationUnit":"Minutes", "Attendees":["Jan", "Damien", "Laura", "Gwendolyn", "Roseanna"]} ] }

Modelos de Dados para NoSQL Chave-Valor Colunares Documento Modelo composto por nodos, arestas e atributos Nodo: um item de dado ( registro ) composto por atributos Aresta: relacionamento entre nodos, composto por um rótulo e atributos opcionais Atributo: composto por nome e valor (domínio atômico ou multivalorado) APIs proprietárias e/ou linguagens de consulta simples Grafo

Sumário 1. Introdução 2. Bancos de Dados (BDs) nas Nuvens e o Movimento NoSQL 3.Gerência de Dados Relacionais na Nuvem 4. Abordagens para Interoperabilidade entre BDs Relacionais e BDs NoSQL i. Abordagens do tipo Layer ii. Abordagens do tipo Storage Engine 5. Considerações Finais

Gerência de Dados Relacionais na Nuvem Abordagens para gerenciamento de Big Data relacional na nuvem Ênfase em escalabilidade, disponibilidade e elasticidade Foco Movimento relacional cloud (e não o contrário!) Abordagens são organizadas em uma taxonomia Conforme a arquitetura do solução de gerência de dados

Gerência Relacional na Nuvem - Taxonomia Dados Relacionais na Nuvem Interoperabilidade Relacional Nuvem SGBDRs na Nuvem Layer Storage Engine Nativos Extensões

Gerência Relacional na Nuvem - Taxonomia Dados Relacionais na Nuvem Interoperabilidade Relacional Nuvem camada de mapeamento de SGBDRs na esquemas Nuvem e/ou instruções Layer Storage Engine Nativos SQL para esquemas e/ou instruções correspondentes em BDs NoSQL Extensões

Gerência Relacional na Nuvem - Taxonomia Dados Relacionais na Nuvem Interoperabilidade Relacional Nuvem SGBDRs na Nuvem Layer Storage Engine Nativos Extensões Camada de mapeamento é um módulo externo que pode ser acoplado entre um BDR e um BD NoSQL

Gerência Relacional na Nuvem - Taxonomia Dados Relacionais na Nuvem Interoperabilidade Relacional Nuvem SGBDRs na Nuvem Layer Storage Engine Nativos Extensões Camada de mapeamento é um módulo interno no kernel do SGBDR que realiza o mapeamento e a persistência em um SGBD NoSQL

Gerência Relacional na Nuvem - Taxonomia Dados Relacionais na Nuvem Interoperabilidade Relacional Nuvem SGBDRs na Nuvem Layer Storage Engine Nativos Extensões SGBDRs desenvolvidos from scratch para operar exclusivamente na nuvem

Gerência Relacional na Nuvem - Taxonomia Dados Relacionais na Nuvem Interoperabilidade Relacional Nuvem SGBDRs na Nuvem Layer Storage Engine Nativos Extensões SGBDRs comerciais com packages para o gerenciamento de dados na nuvem

Gerência Relacional na Nuvem - Taxonomia Dados Relacionais na Nuvem Interoperabilidade Relacional Nuvem SGBDRs na Nuvem Layer Storage Engine Nativos Extensões Foco deste minicurso

Minicurso: Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL Geomar A. Schreiner - schreiner.geomar@posgrad.ufsc.br Ronaldo S. Mello r.mello@ufsc.br Departamento de Informática e Estatística (INE) Programa de Pós-Graduação em Ciência da Computação (PPGCC) Universidade Federal de Santa Catarina (UFSC)