ISIS­DM
       The ISIS Data Model API


  Uma API independente de banco de dados
            para manipulação de
    regi...
Contexto tecnológico
• O modelo relacional normalizado (MRN) 
  reinava praticamente incontestável
• Em alguns nichos, usu...
Alguns produtos recentes
• ZODB
• Apache CouchDB
• MongoDB
• Hadoop Hbase
• ThruDB
                   • Google Datastore
•...
Exemplos de NoSQL
Uma aplicação: LILACS
• LILACS: Literatura Latinoamericana y del 
  Caribe en Ciencias de la Salud
• Catalogação cooperati...
A metodologia é o elo
Dicionário de Dados da Metodologia Lilacs
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 a...
Registros bibliográficos
• MARC: Machine Readable Cataloging
  – US Library of Congress
• ISO 2709
  – Information and doc...
Modelo de dados apoia
        a metodologia

• Campos repetitivos
• Campos opcionais
• Sub­campos

        Características...
Exemplo de registro ISIS


10   «Lewis Carroll^y1832-1898^rauthor»
10   «John Tenniel^y1820-1914^rillustrator»
10   «Lewis...
Exemplo de registro ISIS

 Campo repetitivo
10   «Lewis Carroll^y1832-1898^rauthor»
10   «John Tenniel^y1820-1914^rillustr...
Exemplo de registro ISIS
         Marcador de sub-campo        Sub-campo


10   «Lewis Carroll^y1832-1898^rauthor»
10   «J...
Exemplo de registro ISIS

 Campo repetitivo
10   «Lewis Carroll^y1832-1898^rauthor»
10   «John Tenniel^y1820-1914^rillustr...
ISIS Formatting Language
• DSL usada para extração de dados e 
  definição de índices
Projeto ISIS­DM: ISIS Data Model
• API para definição de esquemas de dados 
  através de classes, como em certos ORMs
• AP...
Definição de um esquema
Instanciação


>>> book == Book(title='The Annotated Alice^sDefinitive Edition',
 >>> book    Book(title='The Annotated Al...
Acesso a campos e sub­campos

  >>> book.title
   >>> book.title
  u'The Annotated Alice^sDefinitive Edition'
   u'The Ann...
Projeto ISIS­DM
• FLOSS: Licença LGPL
• Iniciando agora: participe das decisões 
  cruciais, envolva­se enquanto ainda é f...
O que
temos:
usuários,
dados,
casos
de uso 
concretos
http://reddes.bvsalud.org
 http://reddes.bvsalud.org
                         luciano.ramalho@bireme.org
                 ...
http://reddes.bvsalud.org
 http://reddes.bvsalud.org
                         luciano.ramalho@bireme.org
                 ...
ISIS Data Model API
ISIS Data Model API
ISIS Data Model API
ISIS Data Model API
ISIS Data Model API
Upcoming SlideShare
Loading in...5
×

ISIS Data Model API

1,195

Published on

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

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,195
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

ISIS Data Model API

  1. 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. 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. 3. Alguns produtos recentes • ZODB • Apache CouchDB • MongoDB • Hadoop Hbase • ThruDB • Google Datastore • Redis • Amazon SimpleDB • Hypertable • Apstrata • Riak
  4. 4. Exemplos de NoSQL
  5. 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. 6. A metodologia é o elo
  7. 7. Dicionário de Dados da Metodologia Lilacs Dicionário de Dados da Metodologia Lilacs
  8. 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. 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. 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. 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. 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. 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. 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. 15. ISIS Formatting Language • DSL usada para extração de dados e  definição de índices
  16. 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. 17. Definição de um esquema
  18. 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. 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. 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. 21. O que temos: usuários, dados, casos de uso  concretos
  22. 22. http://reddes.bvsalud.org http://reddes.bvsalud.org luciano.ramalho@bireme.org luciano.ramalho@bireme.org
  23. 23. http://reddes.bvsalud.org http://reddes.bvsalud.org luciano.ramalho@bireme.org luciano.ramalho@bireme.org
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×