20 anos de experiência NoSQL na BIREME/OPAS/OMS Luciano Ramalho BIREME/OPAS/OMS.

Slides:



Advertisements
Apresentações semelhantes
ALOCAÇÃO DE RECURSOS HUMANOS APLICADA A SOLICITAÇÕES DE MUDANÇA DE SOFTWARE RICARDO VOIGT Orientador: Everaldo Artur Grahl.
Advertisements

1 1 O Modelo de Dados Semiestruturado em Bases Bibliográficas: do CDS/ISIS ao Apache CouchDB Luciano G. S. Ramalho Monografia de Graduação Bacharelado.
Tecnologias para Internet Thyago Maia Tavares de Farias Aula 19.
Categorias Computacionais N Um modelo categorial para bancos de dados Vítor De Araújo
Use of social media for sexual health promotion: a scoping review
II SEMINÁRIO DE CIÊNCIA E TECNOLOGIA 2015
MARKETING DIGITAL PARA TERAPEUTAS
Outros sistemas de numeração
Jornadas Científicas Estudantis
Planejamento – Revisão do Projeto Exemplo
Educação Profissional Técnica de Nível Médio em Informática
SunPy The free and open-source solar data analysis environment for Python Vinicius Mattos dos Santos Orientador André Leon Gradvohl.
Montes Claros, 12 a 15 de Outubro 2016
ATRAVÉS DA NOVA VERSÃO DO BANCO BIBLIOGRÁFICO DA USP – DEDALUS VOCÊ PODERÁ FAZER SEU CADASTRO, RENOVAÇÕES E RESERVAS ON-LINE! PARA ACESSAR O SISTEMA.
Fábrica de Software.
APROM Aplicação para Gestão de Projetos
TÍTULO DO ARTIGO Autores: Autor 1; Autor 2; Autor 3 07/10/2016.
Metodologia da Pesquisa Aplicada à Contabilidade
Referências bibliográficas Resultados e discussões
O que é um banco de dados? Antes precisamos entender o que são dados.
After-imaging 06/setembro/2017.
TÍTULO DO TRABALHO INTRODUÇÃO METODOLOGIA DESENVOLVIMENTO
5. RESULTADOS E DISCUSSÃO
Programação Gráfica em Java Animação
CosmosDB - As armas da Microsoft no mundo NoSQL
RAD Redes Economicas e Sociais
Pesquisa em Psicologia
Planejamento de estratégias:
Prof: Márcio Soussa Centro Universitário Jorge Amado
NoSQL.
Banco de Dados Prof: Márcio Soussa Centro Universitário Jorge Amado.
Extensão para visualização temporal de dados no TerraView
BANCO DE DADOS II.
MANTER ESTE CABEÇALHO, BEM COMO SUA FORMATAÇÃO;
BRUNO SOBIESKI – Agosto 2016
Prof: Márcio Soussa Centro Universitário Jorge Amado
TAL, Fulano1 e TAL, Ciclano de2
4 – Políticas de Segurança
Engenharia de Software Analise de Riscos
Citações e Referências
Professor Fabio Moreira Curso de Biblioteconomia
Bibliotecas Públicas Estaduais Brasileiras e os catálogos online
A INTERNET COMO PLATAFORMA DE TRANSAÇÕES COMERCIAIS NO BRASIL
Fulano da Silva (Orientador)
MODELO DE APRESENTAÇÃO DO TRABALHO DE CONCLUSÃO DO CURSO DE ADMINISTRAÇÃO-UFSJ CONFORME RESOLUÇÃO Nº. 005/2010 DE 25 DE OUTUBRO DE 2010.
Um Portal De Educação Continuada Para Universitários Egressos da UFPel
PERGAMUM Pesquisa ao acervo
Docência e Gestão Pedagógica do Ensino Superior
NOSSO CONCEITO A empresa e seu capital humano como um grande ambiente de aprendizagem.
Pesquisa Bibliográfica
Grupo de pesquisa: ex: Grupo de Ciências Sociais Aplicadas (Direito)
EstudanteA1, EstudanteB1 Professor2 (exemplo).
6-METODOLOGIA DE PESQUISA EM PSICOLOGIA 2
Writer Editor de texto do BrOffice.org
INSTITUTO FEDERAL FARROUPILHA CAMPUS SÃO BORJA
Como definir o que pesquisar?
TÍTULO DO TRABALHO INTRODUÇÃO METODOLOGIA DESENVOLVIMENTO
Tópicos Especiais em TI 2
Caracteres dos autores
Caracteres dos autores
Título da Apresentação
Nome ou título do caso Nome da Organização.
DATA WAREHOUSE Bruna Campos Larissa Azevedo Lucas Bragion
TITULO INTRODUÇÃO OBJETIVOS METODOLOGIA RESULTADOS E DISCUSSÃO
ORIETAÇÃO PARA: Elaboração do PowerPoint
Autor nome e sobrenome Nome do evento.
Prof. Elisson de Andrade
PERGAMUM Pesquisa ao acervo
Sistemas de Informação
Prof. Elisson de Andrade
Transcrição da apresentação:

20 anos de experiência NoSQL na BIREME/OPAS/OMS Luciano Ramalho BIREME/OPAS/OMS

Invasões bárbaras O modelo relacional normalizado (MRN) reinava praticamente incontestável Em alguns nichos, usuários de bancos de dados NoSQL resistiam (ex. ISIS, Adabas, Mumps...) Grandes usuários de NoSQL saíram do armário (Google, Amazon, Facebook...) Vários bancos NoSQL novos sendo lançados

Alguns produtos recentes ZODB Apache CouchDB MongoDB Hadoop Hbase ThruDB Redis Hypertable Riak Google Datastore Amazon SimpleDB Apstrata

Uma aplicação: LILACS LILACS: Literatura Latinoamericana y del Caribe en Ciencias de la Salud Catalogação cooperativa de artigos científicos nos países de origem Registros fornecidos por mais de 100 bibliotecas e centros de informação, de praticamente todos os países da região Promove a pesquisa relevante para os nossos problemas de saúde

A metodologia é o elo

Dicionário de Dados da Metodologia Lilacs

O absurdo [...] seria interessante notar o absurdo do padrão do MRN [Modelo Relacional Normalizado]: se um livro tiver 3 autores e 5 assuntos, será necessário representá-lo no MRN por meio de uma linha na tabela Livros, mais 3 na Nomes-de-autores (que implementaria o atributo multivalorado correspondente) e mais 5 na de Assuntos, num total de 9 linhas em três tabelas distintas [...]. Mas o que se vê e e pega-se na mão no mundo real é um livro só, e não um picadinho de livro! SETZER, V. Bancos de dados: aprenda o que são, melhore seu conhecimento, construa os seus. 1ª ed. São Paulo: Edgard Blücher, 2005.

Registros bibliográficos MARC: Machine Readable Cataloging –US Library of Congress ISO 2709 –Information and documentation: Format for information exchange CDS/ISIS –Unesco, BIREME/OPAS/OMS et al.

Modelo de dados apoia a metodologia Campos repetitivos Campos opcionais Sub-campos Características comuns aos formatos de registros MARC, ISO-2709 e ISIS

Exemplo de registro ISIS 10 «Lewis Carroll^y ^rauthor» 10 «John Tenniel^y ^rillustrator» 10 «Lewis Carroll^y ^reditor» 12 «The Annotated Alice^sThe Definitive Edition»

Exemplo de registro ISIS 10 «Lewis Carroll^y ^rauthor» 10 «John Tenniel^y ^rillustrator» 10 «Lewis Carroll^y ^reditor» 12 «The Annotated Alice^sThe Definitive Edition» Campo repetitivo

Exemplo de registro ISIS 10 «Lewis Carroll^y ^rauthor» 10 «John Tenniel^y ^rillustrator» 10 «Lewis Carroll^y ^reditor» 12 «The Annotated Alice^sThe Definitive Edition» Marcador de sub- campo Sub- campo

Exemplo de registro ISIS 10 «Lewis Carroll^y ^rauthor» 10 «John Tenniel^y ^rillustrator» 10 «Lewis Carroll^y ^reditor» 12 «The Annotated Alice^sThe Definitive Edition» Campo repetitivo Marcador de sub- campo Sub- campo

Algumas lições aprendidas Schema first x schema last (Stonebraker) –ao longo do tempo, é inevitável que você tenha registros na base em desacordo com as regras de negócios Necessário usar um framework que permita definir um modelo de dados com: –tipos de campos validados –validações envolvendo vários campos ou mesmo a base de dados (ex. unicidade) –geração de forms (estimula o (re)uso)

O futuro do ISIS Manutenção da implementação legada (CISIS) está cada vez mais complexa BIREME busca uma alternativa que suporte bem suas bases de dados (conteúdo), sem necessariamente se prender ao formato binários do ISIS Quais são as alternativas?

Comparar BD relacionais é como comparar automóveis

NoSQL é mais difícil comparar

Tags para pesquisar NoSQL NF²: Non-First Normal Form MRNN: modelo relacional não normalizado (V. W. Setzer) Schemaless Semistructured ou Semi-structured

Referência: Data on the Web Teoria de BD semiestruturados Os autores têm vários papers seminais

Semistructured Database Design Teoria atualizada Discussão sobre redundância, anomalias de atualização etc. Notação gráfica para definir esquemas de dados

O modelo de dados semiestruturado Em uma palavra: JSON –uma aproximação razoável Banco de dados = coleção de registros Registro = dicionário –conjunto de pares chave-valor Valor de um campo = simples ou coleção –campos repetitivos: valor = lista –sub-campos: valor = dicionário –tudo junto: listas de dicionários!

Alternativas atuais Apache CouchDB –API mais difícil para fazer queries (mapreduce) –estratégia de persistência mais segura em deployments simples MongoDB –API mais fácil para queries –estratégia de persitência otimizada para update exige deployment mais complexo Sugestões?

Projeto ISIS-DM: ISIS Data Model API para definição de esquemas de dados através de classes, como em certos ORMs API de extração de dados tão ou mais poderosa quanto a ISIS Format. Language Back-ends para BDs NF² modernos –MongoDB, CouchDB –Google Datastore –PostgreSQL (hstore, JSON?) –O seu BD favorito

Definição de um esquema

Instanciação >>> book = Book(title='The Annotated Alice^sDefinitive Edition',... pages=352,... creators=['Lewis Carroll^y ^rAuthor',... 'John Tenniel^rIllustrator',... 'Martin Gardner^y ^rEditor']) >>> book = Book(title='The Annotated Alice^sDefinitive Edition',... pages=352,... creators=['Lewis Carroll^y ^rAuthor',... 'John Tenniel^rIllustrator',... 'Martin Gardner^y ^rEditor'])

Acesso a campos e sub-campos >>> book.title u'The Annotated Alice^sDefinitive Edition' >>> print book.title.s Definitive Edition >>> print book.creators[0].y >>> for creator in book.creators:... print '%-12s: %s' % (creator.r, creator[0]) Author : Lewis Carroll Illustrator : John Tenniel Editor : Martin Gardner >>> book.title u'The Annotated Alice^sDefinitive Edition' >>> print book.title.s Definitive Edition >>> print book.creators[0].y >>> for creator in book.creators:... print '%-12s: %s' % (creator.r, creator[0]) Author : Lewis Carroll Illustrator : John Tenniel Editor : Martin Gardner

Projeto ISIS-DM FLOSS: Licença LGPL Iniciando agora: participe das decisões cruciais, envolva-se enquanto ainda é fácil Excelente oportunidade para ganhar experiência com NoSQL, trabalhando com massas de dados e necessidades reais Alto impacto social: a missão é democratizar o acesso à informação em saúde Visibilidade internacional

O que temos: usuários, dados, casos de uso concretos

g

g