ISIS Data Model API
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

ISIS Data Model API

  • 1,907 views
Uploaded on

Apresentação feita em 14/jul/2010 no 2º Google Open Source Jam em São Paulo

Apresentação feita em 14/jul/2010 no 2º Google Open Source Jam em São Paulo

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,907
On Slideshare
1,907
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
5
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ISIS­DM The ISIS Data Model API Uma API independente de banco de dados para manipulação de registros bibliográficos e documentais Luciano Ramalho BIREME/OPAS/OMS
  • 2. Contexto tecnológico • 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
  • 3. Alguns produtos recentes • ZODB • Apache CouchDB • MongoDB • Hadoop Hbase • ThruDB • Google Datastore • Redis • Amazon SimpleDB • Hypertable • Apstrata • Riak
  • 4. Exemplos de NoSQL
  • 5. 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
  • 6. A metodologia é o elo
  • 7. Dicionário de Dados da Metodologia Lilacs Dicionário de Dados da Metodologia Lilacs
  • 8. 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.
  • 9. 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.
  • 10. Modelo de dados apoia a metodologia • Campos repetitivos • Campos opcionais • Sub­campos Características comuns aos formatos Características comuns aos formatos de registros MARC, ISO-2709 e ISIS de registros MARC, ISO-2709 e ISIS
  • 11. 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»
  • 12. Exemplo de registro ISIS Campo repetitivo 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»
  • 13. Exemplo de registro ISIS Marcador de sub-campo Sub-campo 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 Campo repetitivo 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
  • 15. ISIS Formatting Language • DSL usada para extração de dados e  definição de índices
  • 16. 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 – Google Datastore – PostgreSQL (hstore, JSON?) – O seu BD favorito
  • 17. Definição de um esquema
  • 18. Instanciação >>> book == Book(title='The Annotated Alice^sDefinitive Edition', >>> book Book(title='The Annotated Alice^sDefinitive Edition', ... ... pages=352, pages=352, ... ... creators=['Lewis Carroll^y1832-1898^rAuthor', creators=['Lewis Carroll^y1832-1898^rAuthor', ... ... 'John Tenniel^rIllustrator', 'John Tenniel^rIllustrator', ... ... 'Martin Gardner^y1914-2010^rEditor']) 'Martin Gardner^y1914-2010^rEditor'])
  • 19. Acesso a campos e sub­campos >>> book.title >>> book.title u'The Annotated Alice^sDefinitive Edition' u'The Annotated Alice^sDefinitive Edition' >>> print book.title.s >>> print book.title.s Definitive Edition Definitive Edition >>> print book.creators[0].y >>> print book.creators[0].y 1832-1898 1832-1898 >>> for creator in book.creators: >>> for creator in book.creators: ... ... print '%-12s: %s' %% (creator.r, creator[0]) print '%-12s: %s' (creator.r, creator[0]) Author Author :: Lewis Carroll Lewis Carroll Illustrator :: John Tenniel Illustrator John Tenniel Editor Editor :: Martin Gardner Martin Gardner
  • 20. 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
  • 21. O que temos: usuários, dados, casos de uso  concretos
  • 22. http://reddes.bvsalud.org http://reddes.bvsalud.org luciano.ramalho@bireme.org luciano.ramalho@bireme.org
  • 23. http://reddes.bvsalud.org http://reddes.bvsalud.org luciano.ramalho@bireme.org luciano.ramalho@bireme.org