porque bibliotecários usam bancos de dados esquisitos
DESCRIPTION
O modelo de dados semiestruturado em bases bibliográficas: do CDS/ISIS ao Apache CouchDBTRANSCRIPT
![Page 1: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/1.jpg)
11
O Modelo de Dados O Modelo de Dados Semiestruturado emSemiestruturado emBases Bibliográficas:Bases Bibliográficas:
do CDS/ISIS ao do CDS/ISIS ao Apache CouchDBApache CouchDB
Luciano G. S. Ramalho
Monografia de GraduaçãoBacharelado em Biblioteconomia
Orientador: Prof. Dr. Marcos MucheroniUSP – ECA – CBDNovembro de 2010
![Page 2: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/2.jpg)
22
Por que os bibliotecários Por que os bibliotecários usam bancos de dados usam bancos de dados
diferentes de todo mundo...diferentes de todo mundo...
![Page 3: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/3.jpg)
33
Por que os bibliotecários Por que os bibliotecários usam bancos de dados usam bancos de dados
diferentes de todo mundo...diferentes de todo mundo...e por que eles estão certose por que eles estão certos
![Page 4: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/4.jpg)
44
Agradecimentos:
Colegas da BIREME/OPAS/OMS
Marcos Mucheroni
Imre Simon
Maria Lucia e Jairo
membros da banca
e colegas presentes
Para Marta,
por tudo.
![Page 5: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/5.jpg)
55
IntroduçãoIntrodução
Revisão da LiteraturaRevisão da Literatura
MetodologiaMetodologia
ResultadosResultados
ConclusãoConclusão
![Page 6: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/6.jpg)
66
Cenário atual e motivaçãoCenário atual e motivação
• Muitas bibliotecas no Brasil utilizam sistemas baseados na família ISIS
• A família ISIS não segue o Modelo Relacional Normalizado (MRN)
![Page 7: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/7.jpg)
77
![Page 8: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/8.jpg)
88
![Page 9: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/9.jpg)
99
Exemplo de uso: ISIS na Exemplo de uso: ISIS na catalogação cooperativacatalogação cooperativa
• LILACS: Literatura Latinoamericana y del Caribe en Ciencias de la Salud
• Catalogação cooperativa de artigos científicos nos países de origem
![Page 10: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/10.jpg)
1010
Contexto tecnológicoContexto tecnológico
• Hegemonia do modelo relacional normalizado (MRN)
• Bancos de dados não relacionais em alguns nichos (ISIS, Adabas, Mumps...)
• Grandes sites revelam seus segredos (Google, Amazon, Facebook...)
• Movimento NoSQL = Not only SQL
![Page 11: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/11.jpg)
1111
Alguns produtos NoSQL recentesAlguns produtos NoSQL recentes
• Apache Cassandra• Apache CouchDB• MongoDB• Hadoop Hbase• Hypertable• Redis• Riak• ThruDB
• Google Datastore• Amazon SimpleDB• Apstrata
Todos lançadosapós o ano 2000
![Page 12: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/12.jpg)
1212
![Page 13: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/13.jpg)
1313
Descrição do problemaDescrição do problemade pesquisade pesquisa
A família de sistemas ISIS mostrouse muito bem adaptada à operação de bases bibliográficas nos últimos 25 anos, mas com o passar tempo vieram dificuldades para evoluir suas implementações.
Com o surgimento de novos sistemas com modelosde dados mais flexíveis, será que existe hoje um caminho para a migração de bases ISIS que evite uma reestruturação dos dados com impacto sobre as próprias metodologias de catalogação?
![Page 14: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/14.jpg)
1414
IntroduçãoIntrodução
Revisão da LiteraturaRevisão da Literatura
MetodologiaMetodologia
ResultadosResultados
ConclusãoConclusão
![Page 15: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/15.jpg)
1515
Resumo da terminologia adotadaResumo da terminologia adotada
![Page 16: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/16.jpg)
1616
Modelo Relacional NormalizadoModelo Relacional Normalizado
editoras
autoresautoreslivroslivros
bd_opac
livros
objetobanco de
dados
relação
tupla
atributo
banco dedados
tabela
registro
campo
![Page 17: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/17.jpg)
1717
• Pela definição de E. F. Codd, os domínios dos atributos devem ser atômicos– Ou seja: valores simples e indivisíveis do ponto
de vista do sistema de banco de dados
• 1ª Forma Normal (1FN ou 1NF, em inglês)– C. J. Date debate a definição clássica de 1FN
C. J. Date×
Codd, Elmasri, Setzer, Silberschatz...
C. J. Date×
Codd, Elmasri, Setzer, Silberschatz...
Modelo Relacional NormalizadoModelo Relacional Normalizado
![Page 18: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/18.jpg)
1818
O problema do MRNO problema do MRN
[...] seria interessante notar o absurdo do padrão do MRN [Modelo Relacional Normalizado]: se um livro tiver 3 autores e 5 assuntos [...].
SETZER, V. Bancos de dados: aprendao que são, melhore seu conhecimento, construa os seus. 1ª ed. São Paulo: Edgard Blücher, 2005, p. 135.
![Page 19: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/19.jpg)
1919
O problema do MRNO problema do MRN
[...] será necessário representá-lo [em] uma linha na tabela Livros, mais 3 na Nomes-de-autores [...] e mais 5 na de Assuntos, num total de 9 linhas em três tabelas distintas [...]
SETZER, V. Bancos de dados: aprendao que são, melhore seu conhecimento, construa os seus. 1ª ed. São Paulo: Edgard Blücher, 2005, p. 135.
LivrosAssuntos
Nomes de Autores
![Page 20: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/20.jpg)
2020
O problema do MRNO problema do MRN
[...] Mas o que se vê e pega-se na mão no mundo real é um livro só, e não um picadinho de livro!
SETZER, V. Bancos de dados: aprendao que são, melhore seu conhecimento, construa os seus. 1ª ed. São Paulo: Edgard Blücher, 2005, p. 135.
![Page 21: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/21.jpg)
2121
O problema do MRNO problema do MRN[…] Veremos que no MRNN [Modelo Relacional Não-Normalizado] isso pode ser representado em uma só linha, que é o que se esperaria de um modelo de dados decente [...]
SETZER, V. Bancos de dados: aprendao que são, melhore seu conhecimento, construa os seus. 1ª ed. São Paulo: Edgard Blücher, 2005, p. 135.
Livros
=
![Page 22: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/22.jpg)
2222
Consequências da 1FNConsequências da 1FN
• No MRN, para representar subcampos ou campos repetitivos é necessário criar registros em tabelas adicionais
• A explosão de um registro bibliográfico em vários registros espalhados por tabelas complica o fluxo de trabalho distribuído de uma rede de catalogação cooperativa como a LILACS
![Page 23: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/23.jpg)
2323
Modelo SemiestruturadoModelo Semiestruturado“The semistructured data model is designed as an evolution of the relational data model that allows the representation of data with a flexible structure. Some items may have missing attributes, some may have two or more ocurrences of the same attribute…”
SUCIU, Dan. SemiStructured Data Model. In: LIU, L. Encyclopedia of Database Systems
![Page 24: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/24.jpg)
2424
Modelo SemiestruturadoModelo Semiestruturado
• Formalizado por grupos de pesquisa a partir de 1995– UPenn Database Research Group – Projeto Lore, Stanford University
• Motivação: facilitar o intercâmbio de dados• Modelo proposto é mais simples que o
modelo de dados do XML
![Page 25: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/25.jpg)
2525
O livro vermelhoO livro vermelho
• Hellerstein & Stonebraker
• Coletânea de artigos• Livrotexto na UC
Berkeley• Visão histórica e
crítica de modelos de dados
![Page 26: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/26.jpg)
2626
Referência: Data on the WebReferência: Data on the Web
• Abiteboul, Buneman& Suciu
• Teoria de BD semiestruturados
• Os autores têm vários papers seminais
![Page 27: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/27.jpg)
2727
Semistructured Database DesignSemistructured Database Design
• Teoria atualizada (2004)
• Discussão sobre redundância, anomalias de atualização etc.
• Notação gráfica para definir esquemas de dados
![Page 28: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/28.jpg)
2828
Família ISISFamília ISIS
Egbert de SmetIII Congresso Internacional de Usuários de CDS/ISIS, Rio de Janeiro, set. de 2008
Egbert de SmetIII Congresso Internacional de Usuários de CDS/ISIS, Rio de Janeiro, set. de 2008
![Page 29: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/29.jpg)
2929
Documentação sobre ISISDocumentação sobre ISIS
• Utilitários CISIS– Manuais produzidos pela BIREME/OPAS/OMS
• ISISNBP– Wiki e repositório de código público– Desenvolvimentos recentes:
• Conversor de ISIS para JSON• ISISDM: API para definição de esquemas de dados• Schematize: definição automática de esquemas de
dados por inferência a partir de amostras
![Page 30: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/30.jpg)
3030
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»
Exemplo de registro ISISExemplo de registro ISIS
![Page 31: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/31.jpg)
3131
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
Exemplo de registro ISISExemplo de registro ISIS
![Page 32: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/32.jpg)
3232
Exemplo de registro ISISExemplo 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
![Page 33: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/33.jpg)
3333
Exemplo de registro ISISExemplo 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
![Page 34: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/34.jpg)
3434
Metodologia LILACSMetodologia LILACS
• Metodologia LILACS: Manualde Descrição Bibliográfica, 7ª ed.
• Diccionario de datos del modelo LILACS Versión 1.6a
![Page 35: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/35.jpg)
3535
A metodologia é o eloA metodologia é o elo
Dicionário de Dados da Metodologia LilacsDicionário de Dados da Metodologia Lilacs
![Page 36: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/36.jpg)
3636
SGBDs nãorelacionaisSGBDs nãorelacionais
• Grande diversidade de arquiteturas para finalidades muito diferentes
• Keyvalue stores são um tipo comum– BerkeleyDB, Redis, Amazon Dynamo
• Document databases implementam nativamente o modelo semiestruturado com índices secundários– CouchDB, MongoDB, Google Datastore
![Page 37: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/37.jpg)
3737
XML e JSONXML e JSON<?xml version="1.0" encoding="UTF8" ?><alunos> Relação dos alunos matriculados: <aluno matricula=”123456”> <nome>Fulano de Tal</nome> <aluno> <aluno matricula=”123457”> <nome>Sicrano de Tal</nome> <aluno></alunos>
<?xml version="1.0" encoding="UTF8" ?><alunos> Relação dos alunos matriculados: <aluno matricula=”123456”> <nome>Fulano de Tal</nome> <aluno> <aluno matricula=”123457”> <nome>Sicrano de Tal</nome> <aluno></alunos> {"alunos" : [
{"matricula" : "123456", "nome” : "Fulano de Tal"}, {"matricula" : "123457", "nome” : "Sicrano de Tal"}]}
{"alunos" : [ {"matricula" : "123456", "nome” : "Fulano de Tal"}, {"matricula" : "123457", "nome” : "Sicrano de Tal"}]}
![Page 38: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/38.jpg)
3838
IntroduçãoIntrodução
Revisão da LiteraturaRevisão da Literatura
MetodologiaMetodologia
ResultadosResultados
ConclusãoConclusão
![Page 39: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/39.jpg)
3939
Seleção do sistema Seleção do sistema de banco de dadosde banco de dados
• para bases de atualização distribuída, o CouchDB oferece replicação e instalação mais simples
• para bases publicadas de forma centralizada e com alto tráfego, MongoDB oferece maior desempenho
• para LILACS, optamos por CouchDB
![Page 40: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/40.jpg)
4040
Formatos ISISJSONFormatos ISISJSON
JSON:JavaScript Object Notation (RFC 4627)
JSON:JavaScript Object Notation (RFC 4627)
ISIS-JSON:esquemasgenéricos parabases ISIS
ISIS-JSON:esquemasgenéricos parabases ISIS
![Page 41: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/41.jpg)
4141
ISIS em JSONISIS em JSON
![Page 42: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/42.jpg)
4242
ISIS em JSONISIS em JSON
![Page 43: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/43.jpg)
4343
ISIS em JSONISIS em JSON
![Page 44: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/44.jpg)
4444
ISISJSON: tiposISISJSON: tipos
![Page 45: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/45.jpg)
4545
Obtenção de LILACS100KObtenção de LILACS100K
• Amostra: os 100.000 registros mais recentes de LILACS em 17/out/2010
![Page 46: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/46.jpg)
4646
Obtenção de LILACS100KObtenção de LILACS100K
![Page 47: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/47.jpg)
4747
Obtenção de LILACS100KObtenção de LILACS100K
![Page 48: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/48.jpg)
4848
Ferramenta de conversãoFerramenta de conversãode registros ISIS para JSONde registros ISIS para JSON
• isis2json.py• leitura:
– arquivos ISO2709 ou binários ISIS (.mst/.xrf)
• escrita:– arquivos JSON genéricos ou adaptados para
CouchDB ou MongoDB– registros ISISJSON tipo 1 ou tipo 4
![Page 49: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/49.jpg)
4949
luciano@meng$ ./isis2json.py husage: isis2json.py [h] [o OUTPUT.json] [c] [m] [f] [q QTY] [s SKIP] [i TAG_NUMBER] [u] [t PREFIX] [n] INPUT.(mst|iso)
Convert an ISIS .mst or .iso file to a JSON array
positional arguments: INPUT.(mst|iso) .mst or .iso file to read
optional arguments: h, help show this help message and exit o OUTPUT.json, out OUTPUT.json the file where the JSON output should be written (default: write to stdout) c, couch output array within a "docs" item in a JSON document for bulk insert to CouchDB via POST to db/_bulk_docs m, mongo output individual records as separate JSON dictionaries, one per line for bulk insert to MongoDB via mongoimport utility f, subfields explode each field into a JSON dictionary, with "_" as default key, and subfield markers as additional keys q QTY, qty QTY maximum quantity of records to read (default=ALL) s SKIP, skip SKIP records to skip from start of .mst (default=0) i TAG_NUMBER, id TAG_NUMBER generate an "_id" from the given unique TAG field number for each record u, uuid generate an "_id" with a random UUID for each record t PREFIX, tagprefix PREFIX concatenate prefix to numeric field tags (ex. 99 becomes "v99" n, mfn generate an "_id" from the MFN of each record (available only for .mst input)
luciano@meng$ ./isis2json.py husage: isis2json.py [h] [o OUTPUT.json] [c] [m] [f] [q QTY] [s SKIP] [i TAG_NUMBER] [u] [t PREFIX] [n] INPUT.(mst|iso)
Convert an ISIS .mst or .iso file to a JSON array
positional arguments: INPUT.(mst|iso) .mst or .iso file to read
optional arguments: h, help show this help message and exit o OUTPUT.json, out OUTPUT.json the file where the JSON output should be written (default: write to stdout) c, couch output array within a "docs" item in a JSON document for bulk insert to CouchDB via POST to db/_bulk_docs m, mongo output individual records as separate JSON dictionaries, one per line for bulk insert to MongoDB via mongoimport utility f, subfields explode each field into a JSON dictionary, with "_" as default key, and subfield markers as additional keys q QTY, qty QTY maximum quantity of records to read (default=ALL) s SKIP, skip SKIP records to skip from start of .mst (default=0) i TAG_NUMBER, id TAG_NUMBER generate an "_id" from the given unique TAG field number for each record u, uuid generate an "_id" with a random UUID for each record t PREFIX, tagprefix PREFIX concatenate prefix to numeric field tags (ex. 99 becomes "v99" n, mfn generate an "_id" from the MFN of each record (available only for .mst input)
isis
2jso
n.p y
![Page 50: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/50.jpg)
5050
Carga para o CouchDBCarga para o CouchDB
• lilimp– registros ISISJSON tipo 1– subcampos concatenados
• lilacs– registros ISISJSON tipo 4– subcampos expandidos em dicionários
![Page 51: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/51.jpg)
5151
LILACS100K no CouchDBLILACS100K no CouchDB
![Page 52: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/52.jpg)
5252
lilimp: subcampos concatenadoslilimp: subcampos concatenados
![Page 53: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/53.jpg)
5353
lilacs: subcampos expandidoslilacs: subcampos expandidos
![Page 54: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/54.jpg)
5454
Teste: tipos de registro LILACSTeste: tipos de registro LILACS
![Page 55: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/55.jpg)
5555
Teste: tipos de registro LILACSTeste: tipos de registro LILACS
![Page 56: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/56.jpg)
5656
Teste: subcampos repetidosTeste: subcampos repetidos
![Page 57: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/57.jpg)
5757
IntroduçãoIntrodução
Revisão da LiteraturaRevisão da Literatura
MetodologiaMetodologia
ResultadosResultados
ConclusãoConclusão
![Page 58: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/58.jpg)
5858
ResultadosResultados
• Levantamento de uma base teórica para estudar o modelo de dados ISIS
• Identificação de SGBDs compatíveis com o modelo de dados ISIS
• Catalogação das variantes de ISISJSON• Ferramentas de conversão e análise
• Identificação de inconsistências na base LILACS
![Page 59: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/59.jpg)
5959
De CDS/ISIS para CouchDBDe CDS/ISIS para CouchDB
![Page 60: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/60.jpg)
6060
De CDS/ISIS para CouchDBDe CDS/ISIS para CouchDB
![Page 61: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/61.jpg)
6161
De CDS/ISIS para CouchDBDe CDS/ISIS para CouchDB
![Page 62: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/62.jpg)
6262
IntroduçãoIntrodução
Revisão da LiteraturaRevisão da Literatura
MetodologiaMetodologia
ResultadosResultados
ConclusãoConclusão
![Page 63: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/63.jpg)
6363
ConclusãoConclusão
• Modelo de dados semiestruturado é a teoria que pode apoiar a análise de bases ISIS e planejar sua evolução
• É simples migrar dados de bases ISIS para um SGBD orientado a documentos
• O CouchDB pode aumentar o alcance e a utilidade dos dados, pela facilidade de criar WebServices (AJAX = HTTP + JSON)
![Page 64: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/64.jpg)
6464
Limitações da pesquisaLimitações da pesquisa
• Tamanho da massa de dados– LILACS100K x 18 milhões em MEDLINE
• Foco em um único SGBD (CouchDB)– repetir com MongoDB e outros
• Bibliografia com ênfase em livros e manuais técnicos– aprofundar estudo em artigos científicos
![Page 65: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/65.jpg)
6565
Indicações para continuarIndicações para continuar
• Notação (API) para especificação de esquemas de dados com validação de acordo com metodologias de catalogação
![Page 66: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/66.jpg)
6666
Indicações para continuarIndicações para continuar
• Notação (API) para especificação de esquemas de dados com validação de acordo com metodologias de catalogação
![Page 67: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/67.jpg)
6767
Indicações para continuar (2)Indicações para continuar (2)
• Atualização automática de registros desnormalizados
![Page 68: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/68.jpg)
6868
Indicações para continuar (2)Indicações para continuar (2)
• Atualização automática de registros desnormalizados
✐
![Page 69: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/69.jpg)
6969
Indicações para continuar (2)Indicações para continuar (2)
• Atualização automática de registros desnormalizados
![Page 70: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/70.jpg)
7070
Indicações para continuar (2)Indicações para continuar (2)
• Atualização automática de registros desnormalizados
• Aplicação da teoria a umproblema prático encontradoem sistemas da BIREME e no Google App Engine
Dados duplicados são ruins somente na medida em que o esforço para mantê-los consistentes é oneroso. MONASH, C. A. http://bit.ly/fHp2p4
Dados duplicados são ruins somente na medida em que o esforço para mantê-los consistentes é oneroso. MONASH, C. A. http://bit.ly/fHp2p4
![Page 71: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/71.jpg)
7171
O Modelo de Dados O Modelo de Dados Semiestruturado emSemiestruturado emBases Bibliográficas:Bases Bibliográficas:
do CDS/ISIS ao do CDS/ISIS ao Apache CouchDBApache CouchDB
Luciano G. S. Ramalho
Monografia de GraduaçãoBacharelado em Biblioteconomia
Orientador: Prof. Dr. Marcos MucheroniUSP – ECA – CBDNovembro de 2010
![Page 72: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/72.jpg)
7272
ExtraExtra
![Page 73: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/73.jpg)
7373
Projeto ISISDM: ISIS Data ModelProjeto ISISDM: 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
• Backends para BDs NF² modernos– CouchDB, MongoDB– Google Datastore– PostgreSQL (hstore, JSON?)
http://reddes.bvsalud.org/projects/isisnbp/wiki/ISIS-DM
![Page 74: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/74.jpg)
7474
Definição de um esquemaDefinição de um esquema
![Page 75: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/75.jpg)
7575
InstanciaçãoInstanciaçã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'])
![Page 76: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/76.jpg)
7676
Acesso a campos e subcamposAcesso a campos e subcampos
>>> book.titleu'The Annotated Alice^sDefinitive Edition'>>> print book.title.sDefinitive Edition>>> print book.creators[0].y1832-1898>>> for creator in book.creators:... print '%-12s: %s' % (creator.r, creator[0])Author : Lewis CarrollIllustrator : John TennielEditor : Martin Gardner
>>> book.titleu'The Annotated Alice^sDefinitive Edition'>>> print book.title.sDefinitive Edition>>> print book.creators[0].y1832-1898>>> for creator in book.creators:... print '%-12s: %s' % (creator.r, creator[0])Author : Lewis CarrollIllustrator : John TennielEditor : Martin Gardner
![Page 77: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/77.jpg)
7777
Derivação do esquema a partir Derivação do esquema a partir de uma massa de dadosde uma massa de dados
• schematize.py lê uma base em formato ISISJSON e produz o códigofonte de uma subclasse de isisdm.CheckedModel
• Baseado em regras, é influenciado por erros na massa de dados
• Esquema gerado é ponto de partida para um ajuste de acordo com a metodologia
![Page 78: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/78.jpg)
7878
Exemplo: base CDS (WinISIS)Exemplo: base CDS (WinISIS)
![Page 79: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/79.jpg)
7979
Extra 2Extra 2
![Page 80: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/80.jpg)
8080
• Roy Tennant– California Digital
Library
– Senior Program Officer, Research division, OCLC
• Roy Tennant– California Digital
Library
– Senior Program Officer, Research division, OCLC
http://www.libraryjournal.com/article/CA250046.html
![Page 81: Porque bibliotecários usam bancos de dados esquisitos](https://reader034.vdocuments.mx/reader034/viewer/2022042713/549653c4ac7959342e8b50d0/html5/thumbnails/81.jpg)
8181
Porque o MARC deve morrerPorque o MARC deve morrer• Modelo de dados, sintaxe e metodologia de
descrição (AACR2) entrelaçados• Concebido para capturar e gerar cartões de
catálogo bibliográficos impressos• Estrutura rígida e plana
– como representar o sumário?
• Isolamento tecnológico– para continuar servindo e inovando,
precisamos acompanhar o estado da arte