A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "20 anos de experiência NoSQL na BIREME/OPAS/OMS Luciano Ramalho BIREME/OPAS/OMS."— Transcrição da apresentação:

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

2

3

4

5 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

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

7 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

8 A metodologia é o elo

9 Dicionário de Dados da Metodologia Lilacs

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

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

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

13 Exemplo de registro ISIS 10 «Lewis Carroll^y1832-1898^rauthor» 10 «John Tenniel^y1820-1914^rillustrator» 10 «Lewis Carroll^y1914-2010^reditor» 12 «The Annotated Alice^sThe Definitive Edition»

14 Exemplo de registro ISIS 10 «Lewis Carroll^y1832-1898^rauthor» 10 «John Tenniel^y1820-1914^rillustrator» 10 «Lewis Carroll^y1914-2010^reditor» 12 «The Annotated Alice^sThe Definitive Edition» Campo repetitivo

15 Exemplo de registro ISIS 10 «Lewis Carroll^y1832-1898^rauthor» 10 «John Tenniel^y1820-1914^rillustrator» 10 «Lewis Carroll^y1914-2010^reditor» 12 «The Annotated Alice^sThe Definitive Edition» Marcador de sub- campo Sub- campo

16 Exemplo de registro ISIS 10 «Lewis Carroll^y1832-1898^rauthor» 10 «John Tenniel^y1820-1914^rillustrator» 10 «Lewis Carroll^y1914-2010^reditor» 12 «The Annotated Alice^sThe Definitive Edition» Campo repetitivo Marcador de sub- campo Sub- campo

17 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)

18 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?

19 Comparar BD relacionais é como comparar automóveis

20 NoSQL é mais difícil comparar

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

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

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

24 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!

25 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?

26

27 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

28 Definição de um esquema

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

30 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 1832-1898 >>> 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 1832-1898 >>> for creator in book.creators:... print '%-12s: %s' % (creator.r, creator[0]) Author : Lewis Carroll Illustrator : John Tenniel Editor : Martin Gardner

31

32 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

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

34 http://reddes.bvsalud.org luciano.ramalho@bireme.or g

35 http://reddes.bvsalud.org luciano.ramalho@bireme.or g


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

Apresentações semelhantes


Anúncios Google