Este documento descreve a migração de bases de dados bibliográficas do sistema ISIS para bancos de dados não relacionais, analisando as vantagens do modelo de dados semiestruturado e selecionando o Apache CouchDB como sistema alvo por oferecer replicação distribuída e instalação simples, adequado para bases públicas.
O documento discute a experiência de 20 anos da BIREME/OPAS/OMS com bancos de dados NoSQL. Apresenta como o modelo relacional normalizado era predominante, mas usuários resistiam com sistemas como ISIS. Novos bancos NoSQL surgiram para grandes empresas. A BIREME usa o sistema LILACS para catalogação cooperativa na América Latina. Propõe o projeto ISIS-DM para definir esquemas semiestruturados em NoSQL como MongoDB e CouchDB.
O documento descreve o projeto ISIS-DM, uma API independente de banco de dados para manipulação de registros bibliográficos e documentais. A API permite definir esquemas de dados flexíveis inspirados nos formatos MARC, ISO 2709 e ISIS, e armazená-los em bancos de dados NoSQL como MongoDB. O objetivo é democratizar o acesso à informação em saúde.
Repositórios institucionais como ambientes de acesso aberto nas universidades...Fabrício Silva Assumpção
Repositórios institucionais como ambientes de acesso aberto nas universidades.
Apresentação realizada em 7 de outubro de 2014 durante a XX Semana do Livro e da Biblioteca, realizada pela Biblioteca da UNESP, Campus de Bauru.
Aborda o acesso aberto, repositórios institucionais e o Repositório Institucional UNESP: http://base.repositorio.unesp.br/
Este documento discute as aplicações de wikis em empresas. Apresenta as cinco leis da gestão de conteúdo e explica o funcionamento de wikis, dando exemplos como a Wikipédia. Também aborda aspectos como interatividade, revisão, inteligência coletiva e como wikis podem melhorar a troca de conhecimento em empresas.
O documento fornece uma introdução aos bancos de dados relacionais para bibliotecários, comparando as abordagens de bibliotecários e analistas de sistemas. Explica os conceitos básicos de bancos de dados relacionais como entidades, atributos, registros e campos e apresenta o modelo relacional, SQL e softwares como MySQL e PostgreSQL.
1) O documento discute os bancos de dados relacionais e não relacionais (NoSQL), focando no MongoDB.
2) Os bancos de dados relacionais enfrentam problemas de escalabilidade e disponibilidade com o aumento dos dados na web.
3) O NoSQL, incluindo o MongoDB, resolve esses problemas com escalabilidade horizontal, armazenamento flexível e alta disponibilidade.
O documento discute a evolução dos padrões e normas para catalogação de recursos em meio digital. Apresenta os principais conceitos da catalogação como descrição bibliográfica, pontos de acesso e normas internacionais como ISBD e RDA. Também aborda temas como web semântica, dados ligados e a influência destes conceitos no desenvolvimento das normas de catalogação.
O documento discute bancos de dados NoSQL, incluindo exemplos como MongoDB, CouchDB e Redis. Ele explica os principais tipos de bancos de dados NoSQL como orientado a documentos, chave-valor e orientado a grafos, além de discutir as necessidades que levaram ao surgimento destes bancos de dados.
O documento discute a experiência de 20 anos da BIREME/OPAS/OMS com bancos de dados NoSQL. Apresenta como o modelo relacional normalizado era predominante, mas usuários resistiam com sistemas como ISIS. Novos bancos NoSQL surgiram para grandes empresas. A BIREME usa o sistema LILACS para catalogação cooperativa na América Latina. Propõe o projeto ISIS-DM para definir esquemas semiestruturados em NoSQL como MongoDB e CouchDB.
O documento descreve o projeto ISIS-DM, uma API independente de banco de dados para manipulação de registros bibliográficos e documentais. A API permite definir esquemas de dados flexíveis inspirados nos formatos MARC, ISO 2709 e ISIS, e armazená-los em bancos de dados NoSQL como MongoDB. O objetivo é democratizar o acesso à informação em saúde.
Repositórios institucionais como ambientes de acesso aberto nas universidades...Fabrício Silva Assumpção
Repositórios institucionais como ambientes de acesso aberto nas universidades.
Apresentação realizada em 7 de outubro de 2014 durante a XX Semana do Livro e da Biblioteca, realizada pela Biblioteca da UNESP, Campus de Bauru.
Aborda o acesso aberto, repositórios institucionais e o Repositório Institucional UNESP: http://base.repositorio.unesp.br/
Este documento discute as aplicações de wikis em empresas. Apresenta as cinco leis da gestão de conteúdo e explica o funcionamento de wikis, dando exemplos como a Wikipédia. Também aborda aspectos como interatividade, revisão, inteligência coletiva e como wikis podem melhorar a troca de conhecimento em empresas.
O documento fornece uma introdução aos bancos de dados relacionais para bibliotecários, comparando as abordagens de bibliotecários e analistas de sistemas. Explica os conceitos básicos de bancos de dados relacionais como entidades, atributos, registros e campos e apresenta o modelo relacional, SQL e softwares como MySQL e PostgreSQL.
1) O documento discute os bancos de dados relacionais e não relacionais (NoSQL), focando no MongoDB.
2) Os bancos de dados relacionais enfrentam problemas de escalabilidade e disponibilidade com o aumento dos dados na web.
3) O NoSQL, incluindo o MongoDB, resolve esses problemas com escalabilidade horizontal, armazenamento flexível e alta disponibilidade.
O documento discute a evolução dos padrões e normas para catalogação de recursos em meio digital. Apresenta os principais conceitos da catalogação como descrição bibliográfica, pontos de acesso e normas internacionais como ISBD e RDA. Também aborda temas como web semântica, dados ligados e a influência destes conceitos no desenvolvimento das normas de catalogação.
O documento discute bancos de dados NoSQL, incluindo exemplos como MongoDB, CouchDB e Redis. Ele explica os principais tipos de bancos de dados NoSQL como orientado a documentos, chave-valor e orientado a grafos, além de discutir as necessidades que levaram ao surgimento destes bancos de dados.
Introdução ao Banco de dados - Prof. Daniel BrandãoDaniel Brandão
O documento apresenta informações sobre o professor Daniel Brandão, incluindo sua formação acadêmica e experiência profissional. A ementa da disciplina Banco de Dados II é descrita, com os principais tópicos a serem abordados e as referências bibliográficas. Por fim, o documento lista os temas que serão discutidos ao longo do curso.
Um banco de dados relacional armazena dados em tabelas, com cada linha tendo uma estrutura repetitiva. Os dados são organizados através de relacionamentos entre as tabelas. Em 1970, Ted Codd criou o modelo relacional e 12 leis para gestão de bancos de dados, incluindo a normalização de dados para minimizar redundância.
Este documento discute bancos de dados NoSQL. Ele fornece uma breve história dos bancos de dados NoSQL e explica que eles foram desenvolvidos para atender às necessidades do mercado que não eram atendidas pelos bancos de dados relacionais tradicionais. O documento também descreve os principais tipos de bancos de dados NoSQL, incluindo orientados a documentos, chave-valor, clones do BigTable e orientados a grafos.
Apresentação utilizada no InfoTech2012.
Apresenta um pouco sobre a evolução a persistencia de dados, bancos de dados relacionais e NoSQL, apresentando um pouco os melhores cenários para se utilizar cada um dos modelos e como mesclá-los para tirar o melhor proveito dos recursos.
1) O documento apresenta uma disciplina sobre bancos de dados, incluindo conceitos, modelagem, linguagem SQL e segurança.
2) A bibliografia inclui livros sobre introdução a bancos de dados, projeto de bancos de dados, modelagem conceitual e sistemas de bancos de dados.
3) Os modelos de bancos de dados discutidos incluem hierárquico, em rede, relacional e orientado a objetos.
Oficina 5 - Boas práticas para a construção de repositórios institucionais da produção científica - Ministrantes: Bianca Amaro, Luísa Café, Maria Fernanda Melis, Michelli Costa e Tainá Batista – equipe do Laboratório de Metodologias de Tratamento e Disseminação da Informação – Ibict
Apresentação – O NoSQL e o Relacional: Uma Análise
Especialização em Aplicações para a Web – TCC (2015)
Universidade Federal do Rio Grande (UFRG)
TCC completo em: http://www.slideshare.net/romarcio/o-nosql-e-o-relacional-uma-anlise
Este documento apresenta um resumo sobre bancos de dados, definindo termos como base de dados, sistema de banco de dados, sistema gerenciador de banco de dados e bancos de dados semi-estruturados. Além disso, fornece exemplos de sistemas como PostgreSQL, WinISIS e SQL.
1) O documento apresenta o terceiro volume do curso de Banco de Dados, que aborda o modelo relacional e a normalização de dados.
2) O capítulo 7 introduz os conceitos fundamentais do modelo relacional, como tabelas, restrições de integridade e as 12 regras de Codd.
3) Os capítulos 8 e 9 discutem a derivação do modelo relacional a partir do modelo conceitual e a normalização de dados, respectivamente.
Este documento apresenta os conceitos básicos de bancos de dados relacionais, comparando-os com sistemas de arquivos tradicionais. Explica termos como entidade, atributo e registro e descreve a estrutura e vantagens do modelo relacional, incluindo a linguagem SQL. Finalmente, discute tendências atuais e referências bibliográficas.
O documento resume o currículo de Antonio Manoel Ribeiro de Almeida e apresenta um conteúdo sobre bancos de dados, incluindo: os principais tipos de sistemas gerenciadores de bancos de dados (SGBDs), como relacionais e NoSQL; a história e conceitos-chave de bancos de dados; e operações da álgebra relacional.
O documento discute a história e conceitos-chave de bancos de dados. Aborda a evolução dos bancos de dados desde os anos 1960, com o surgimento de modelos hierárquicos e relacionais. Também define termos como dados, informações, metadados e transações. Explica os principais tipos de bancos de dados e sistemas gerenciadores de banco de dados.
Algumas das principais características do NoSQLEric Silva
Este trabalho tem como objetivo apresentar
algumas das principais características do NoSQL,
um banco de dados que possui como diferencial um
grande poder de escalabilidade, proporcionando
uma maior capacidade de armazenamento e
velocidade.
Funções e disfunções das bases de dados em levantamentos bibliométricosLeticia Strehl
O documento discute como as bases de dados podem ser usadas para realizar levantamentos bibliométricos, destacando três componentes principais: (1) a cobertura e limitações dela; (2) os desafios da indexação, como a precisão dos dados dos autores; (3) as estratégias de busca necessárias para lidar com inconsistências.
Universidade Federal do Amazonas - Banco de dados - Apresentação 1 - Renan M....Renan Levy
Este documento discute bancos de dados e sistemas gerenciadores de bancos de dados. Ele fornece definições de bancos de dados e explica que eles armazenam dados relacionados sobre um domínio específico. Também apresenta um exemplo de modelo lógico para um banco de dados de biblioteca e descreve os principais componentes de um sistema de banco de dados.
O documento descreve o Sistema de Classificação Decimal de Dewey, criado em 1876 por Melvil Dewey para organizar os itens de uma biblioteca. Apresenta as principais características, estrutura e evolução do sistema, que utiliza números arábicos para representar as disciplinas de forma hierárquica. Atualmente está na sua 22a edição e é mantido pela Biblioteca do Congresso dos EUA.
O documento fornece uma introdução sobre banco de dados, definindo termos como dados, banco de dados e SGBD. Explica que um banco de dados representa aspectos do mundo real por meio de uma coleção coerente de dados com significado. Também descreve os principais atores no contexto de banco de dados e as vantagens da abordagem de banco de dados em relação a sistemas de arquivos.
NoSQL é um termo genérico que representa os bancos de dados não relacionais. Uma classe definida de banco de dados que fornecem um mecanismo para armazenamento e recuperação de dados que são modelados de formas diferentes das relações tabulares usadas nos bancos de dados relacionais.
Este documento apresenta uma palestra sobre a linguagem de programação Python. As principais ideias apresentadas são:
1) Python é uma linguagem de uso geral amplamente utilizada em diversas áreas como internet, computação gráfica, desktop, operações de empresas e computação científica.
2) Existem diversas implementações de Python como CPython, Jython, IronPython e PyPy. CPython é a implementação principal escrita em C.
3) Python tem evoluído gradualmente ao longo dos anos com novas versões lançadas a cada alguns anos que trazem melhor
More Related Content
Similar to Porque bibliotecários usam bancos de dados esquisitos
Introdução ao Banco de dados - Prof. Daniel BrandãoDaniel Brandão
O documento apresenta informações sobre o professor Daniel Brandão, incluindo sua formação acadêmica e experiência profissional. A ementa da disciplina Banco de Dados II é descrita, com os principais tópicos a serem abordados e as referências bibliográficas. Por fim, o documento lista os temas que serão discutidos ao longo do curso.
Um banco de dados relacional armazena dados em tabelas, com cada linha tendo uma estrutura repetitiva. Os dados são organizados através de relacionamentos entre as tabelas. Em 1970, Ted Codd criou o modelo relacional e 12 leis para gestão de bancos de dados, incluindo a normalização de dados para minimizar redundância.
Este documento discute bancos de dados NoSQL. Ele fornece uma breve história dos bancos de dados NoSQL e explica que eles foram desenvolvidos para atender às necessidades do mercado que não eram atendidas pelos bancos de dados relacionais tradicionais. O documento também descreve os principais tipos de bancos de dados NoSQL, incluindo orientados a documentos, chave-valor, clones do BigTable e orientados a grafos.
Apresentação utilizada no InfoTech2012.
Apresenta um pouco sobre a evolução a persistencia de dados, bancos de dados relacionais e NoSQL, apresentando um pouco os melhores cenários para se utilizar cada um dos modelos e como mesclá-los para tirar o melhor proveito dos recursos.
1) O documento apresenta uma disciplina sobre bancos de dados, incluindo conceitos, modelagem, linguagem SQL e segurança.
2) A bibliografia inclui livros sobre introdução a bancos de dados, projeto de bancos de dados, modelagem conceitual e sistemas de bancos de dados.
3) Os modelos de bancos de dados discutidos incluem hierárquico, em rede, relacional e orientado a objetos.
Oficina 5 - Boas práticas para a construção de repositórios institucionais da produção científica - Ministrantes: Bianca Amaro, Luísa Café, Maria Fernanda Melis, Michelli Costa e Tainá Batista – equipe do Laboratório de Metodologias de Tratamento e Disseminação da Informação – Ibict
Apresentação – O NoSQL e o Relacional: Uma Análise
Especialização em Aplicações para a Web – TCC (2015)
Universidade Federal do Rio Grande (UFRG)
TCC completo em: http://www.slideshare.net/romarcio/o-nosql-e-o-relacional-uma-anlise
Este documento apresenta um resumo sobre bancos de dados, definindo termos como base de dados, sistema de banco de dados, sistema gerenciador de banco de dados e bancos de dados semi-estruturados. Além disso, fornece exemplos de sistemas como PostgreSQL, WinISIS e SQL.
1) O documento apresenta o terceiro volume do curso de Banco de Dados, que aborda o modelo relacional e a normalização de dados.
2) O capítulo 7 introduz os conceitos fundamentais do modelo relacional, como tabelas, restrições de integridade e as 12 regras de Codd.
3) Os capítulos 8 e 9 discutem a derivação do modelo relacional a partir do modelo conceitual e a normalização de dados, respectivamente.
Este documento apresenta os conceitos básicos de bancos de dados relacionais, comparando-os com sistemas de arquivos tradicionais. Explica termos como entidade, atributo e registro e descreve a estrutura e vantagens do modelo relacional, incluindo a linguagem SQL. Finalmente, discute tendências atuais e referências bibliográficas.
O documento resume o currículo de Antonio Manoel Ribeiro de Almeida e apresenta um conteúdo sobre bancos de dados, incluindo: os principais tipos de sistemas gerenciadores de bancos de dados (SGBDs), como relacionais e NoSQL; a história e conceitos-chave de bancos de dados; e operações da álgebra relacional.
O documento discute a história e conceitos-chave de bancos de dados. Aborda a evolução dos bancos de dados desde os anos 1960, com o surgimento de modelos hierárquicos e relacionais. Também define termos como dados, informações, metadados e transações. Explica os principais tipos de bancos de dados e sistemas gerenciadores de banco de dados.
Algumas das principais características do NoSQLEric Silva
Este trabalho tem como objetivo apresentar
algumas das principais características do NoSQL,
um banco de dados que possui como diferencial um
grande poder de escalabilidade, proporcionando
uma maior capacidade de armazenamento e
velocidade.
Funções e disfunções das bases de dados em levantamentos bibliométricosLeticia Strehl
O documento discute como as bases de dados podem ser usadas para realizar levantamentos bibliométricos, destacando três componentes principais: (1) a cobertura e limitações dela; (2) os desafios da indexação, como a precisão dos dados dos autores; (3) as estratégias de busca necessárias para lidar com inconsistências.
Universidade Federal do Amazonas - Banco de dados - Apresentação 1 - Renan M....Renan Levy
Este documento discute bancos de dados e sistemas gerenciadores de bancos de dados. Ele fornece definições de bancos de dados e explica que eles armazenam dados relacionados sobre um domínio específico. Também apresenta um exemplo de modelo lógico para um banco de dados de biblioteca e descreve os principais componentes de um sistema de banco de dados.
O documento descreve o Sistema de Classificação Decimal de Dewey, criado em 1876 por Melvil Dewey para organizar os itens de uma biblioteca. Apresenta as principais características, estrutura e evolução do sistema, que utiliza números arábicos para representar as disciplinas de forma hierárquica. Atualmente está na sua 22a edição e é mantido pela Biblioteca do Congresso dos EUA.
O documento fornece uma introdução sobre banco de dados, definindo termos como dados, banco de dados e SGBD. Explica que um banco de dados representa aspectos do mundo real por meio de uma coleção coerente de dados com significado. Também descreve os principais atores no contexto de banco de dados e as vantagens da abordagem de banco de dados em relação a sistemas de arquivos.
NoSQL é um termo genérico que representa os bancos de dados não relacionais. Uma classe definida de banco de dados que fornecem um mecanismo para armazenamento e recuperação de dados que são modelados de formas diferentes das relações tabulares usadas nos bancos de dados relacionais.
Similar to Porque bibliotecários usam bancos de dados esquisitos (20)
Este documento apresenta uma palestra sobre a linguagem de programação Python. As principais ideias apresentadas são:
1) Python é uma linguagem de uso geral amplamente utilizada em diversas áreas como internet, computação gráfica, desktop, operações de empresas e computação científica.
2) Existem diversas implementações de Python como CPython, Jython, IronPython e PyPy. CPython é a implementação principal escrita em C.
3) Python tem evoluído gradualmente ao longo dos anos com novas versões lançadas a cada alguns anos que trazem melhor
O documento discute conceitos de orientação a objetos em Python, definindo objetos como componentes de software que incluem dados e comportamentos. Explica que classes definem tipos de objetos abstratos e instâncias de classes são objetos concretos. Demonstra a criação de uma classe Cao e instância rex para ilustrar a relação entre classe e objeto.
O documento apresenta três partes principais:
1) A primeira parte introduz o uso de atributos protegidos em Python para validar valores de atributos de objetos, mantendo a interface de programação existente.
2) A segunda parte mostra como implementar propriedades em Python para realizar validações nos valores de atributos, preservando a lógica de negócio.
3) A terceira parte demonstra como usar descritores em Python para gerenciar o acesso a atributos, permitindo a reutilização da lógica de validação entre diferentes atributos
O documento discute iteração em diferentes linguagens de programação como C, Java e Python. Ele apresenta exemplos de como iterar sobre argumentos da linha de comando, strings e outros iteráveis em cada linguagem. O documento também explica conceitos-chave relacionados à iteração em Python como iteráveis, iteradores, geradores e o uso do método enumerate().
O documento descreve o Arduino, uma plataforma de hardware livre para computação física. Ele discute como o Arduino permite "hardware hacking" para todos através de pinos genéricos, microcontroladores baratos e código aberto. Também apresenta exemplos de uso do Arduino na educação e projetos, assim como o Coding Dojo, um treino de programação coletivo e divertido usando o Arduino.
O documento discute conceitos fundamentais de orientação a objetos em Python, incluindo:
1) Objetos Python possuem atributos (dados) e métodos (comportamentos);
2) Classes definem tipos de objetos com atributos e métodos comuns;
3) Instâncias de classes são objetos concretos que herdam atributos e métodos da classe.
O documento discute iteráveis, geradores e iteração em Python. Em três frases:
1) Iteráveis são objetos que podem ser iterados, como listas, strings e arquivos.
2) Geradores são funções e expressões que produzem iteráveis sem necessariamente acessar uma coleção externa, podendo gerar itens por conta própria.
3) O documento compara iteração em Python, C e Java e mostra exemplos de uso de iteráveis, geradores, compreensões de lista/conjunto/dicionário e módulo itertools
O documento descreve as etapas de desenvolvimento de uma classe em Python para representar itens de pedidos, com o objetivo de controlar o acesso aos atributos das instâncias de forma a garantir a integridade dos dados. Inicialmente é implementada uma classe simples, porém com acesso irrestrito aos atributos (➊). Posteriormente são acrescentadas propriedades para validar os valores atribuídos (➋) e descritores de classe para reutilizar a lógica de validação (➌). Por fim, são definidos nomes descritivos para
Coding Dojo é um treino coletivo de programação onde duplas se alternam resolvendo problemas usando Test Driven Development (TDD) e passos pequenos. O processo envolve escrever testes antes de implementar novas funcionalidades e só avançar quando os testes são aprovados, enquanto a platéia não pode se manifestar exceto quando solicitada. O objetivo é treinar boas práticas de programação e aprender novas habilidades de forma divertida e eficiente.
O documento descreve um treinamento de programação chamado Coding Dojo com Arduino, no qual participantes trabalham em duplas para resolver problemas de programação usando testes guiados (TDD) e pequenos passos incrementais (baby steps). O objetivo é praticar boas técnicas de programação ao mesmo tempo em que se aprende novas linguagens. O problema proposto para o exercício é fazer uma animação com LEDs em um display de 7 segmentos controlada por um potenciômetro.
Este documento fornece um resumo de uma palestra sobre iteráveis, geradores e interfaces em Python. O palestrante discute:
1) Como iterar sobre diferentes tipos de objetos em Python usando laços for;
2) A diferença entre iteradores e geradores;
3) Como criar objetos iteráveis e iteradores em Python usando interfaces como Iterable e protocolos como sequência.
O documento descreve um projeto para analisar e modelar os dados da Open Library usando MongoDB. Ele discute a conversão e importação dos dados, análise com o framework de agregação e Map/Reduce, e refatoração do modelo de dados para MongoDB.
O documento apresenta exemplos de como usar a linguagem Python para desenvolvimento de aplicações Java EE, incluindo um relógio em Swing e acesso a atributos privados de objetos Java usando reflexão.
O documento discute iteradores e iteráveis em Python, incluindo: 1) Como obter iteradores de objetos através da função built-in iter(); 2) Como iter funciona com dois argumentos para criar um iterador; 3) Tipos iteráveis como sequências e suas interfaces; 4) Listas de compreensão versus expressões geradoras.
Este documento apresenta uma introdução à orientação a objetos em Python. Resume os principais tópicos abordados:
1) Python suporta herança múltipla, sobrecarga de operadores e tipagem dinâmica, mas não obriga a criação de classes;
2) Em Python, tudo é objeto e variáveis podem ser associadas a objetos de qualquer tipo em tempo de execução (tipagem dinâmica forte);
3) Classes devem herdar de object e métodos devem declarar self como primeiro parâmetro; propriedades permitem encaps
O documento discute ensinar programação orientada a objetos com Python usando frameworks como Django e PyGame. Ele apresenta exemplos de sistemas que podem ser desenvolvidos com essas bibliotecas, como um sistema de entrega de pizza usando Django. Além disso, defende que jogos são um bom contexto para aprender programação orientada a objetos e recomenda o livro "Game Programming" para esse fim.
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Porque bibliotecários usam bancos de dados esquisitos
1. Luciano G. S. Ramalho
O Modelo de Dados
Semiestruturado em
Bases Bibliográficas:
do CDS/ISIS ao
Apache CouchDB
Monografia de Graduação
Bacharelado em Biblioteconomia
Orientador: Prof. Dr. Marcos Mucheroni
USP – ECA – CBD
Novembro de 2010
1
1
4. Para Marta,
por tudo.
Agradecimentos:
Colegas da BIREME/OPAS/OMS
Marcos Mucheroni
Imre Simon
Maria Lucia e Jairo
membros da banca
e colegas presentes
4
4
9. Exemplo de uso: ISIS na
catalogaçã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
9
9
10. Contexto 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
10
10
11. Alguns produtos NoSQL recentes
• Apache Cassandra Todos lançados
após o ano 2000
• Apache CouchDB
• MongoDB
• Hadoop Hbase
• Hypertable
• Google Datastore
• Redis
• Amazon SimpleDB
• Riak
• Apstrata
• ThruDB
11
11
13. Descrição do problema
de 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 modelos
de 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?
13
13
16. Modelo Relacional Normalizado
bd_opac
objeto banco de
banco de livros autores dados
dados
editoras
livros
relação tabela
tupla registro
atributo campo
16
16
17. Modelo Relacional Normalizado
• 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
C. J. Date
××
Codd, Elmasri, Setzer, Silberschatz...
Codd, Elmasri, Setzer, Silberschatz...
17
17
18. O 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: aprenda
o que são, melhore seu conhecimento,
construa os seus. 1ª ed. São Paulo:
Edgard Blücher, 2005, p. 135.
18
18
19. O problema do MRN
Livros
[...] será necessário Assuntos
representá-lo [em] uma linha
na tabela Livros, mais 3 na
Nomes-de-autores [...] e mais
5 na de Assuntos, num total Nomes de Autores
de 9 linhas em três tabelas
distintas [...]
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, p. 135.
19
19
20. O 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: aprenda
o que são, melhore seu conhecimento,
construa os seus. 1ª ed. São Paulo:
Edgard Blücher, 2005, p. 135.
20
20
21. O 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 [...]
Livros
=
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, p. 135.
21
21
22. Consequê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
22
22
24. Modelo 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
24
24
25. O livro vermelho
• Hellerstein &
Stonebraker
• Coletânea de artigos
• Livrotexto na UC
Berkeley
• Visão histórica e
crítica de modelos
de dados
25
25
27. Semistructured Database Design
• Teoria atualizada
(2004)
• Discussão sobre
redundância,
anomalias de
atualização etc.
• Notação gráfica para
definir esquemas de
dados
27
27
28. Família ISIS
Egbert de Smet
Egbert de Smet
III Congresso Internacional
III Congresso Internacional
de Usuários de CDS/ISIS,
de Usuários de CDS/ISIS,
Rio de Janeiro,
Rio de Janeiro,
set. de 2008
set. de 2008
28
28
29. Documentaçã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
29
29
30. 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»
30
30
31. 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»
31
31
32. 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»
32
32
33. 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
33
33
34. Metodologia LILACS
• Metodologia
LILACS: Manual
de Descrição
Bibliográfica, 7ª ed.
• Diccionario de
datos del modelo
LILACS Versión
1.6a
34
34
36. SGBDs 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
36
36
37. XML e JSON
<?xml version="1.0" encoding="UTF8" ?>
<?xml version="1.0" encoding="UTF8" ?>
<alunos>
<alunos>
Relação dos alunos matriculados:
Relação dos alunos matriculados:
<aluno matricula=”123456”>
<aluno matricula=”123456”>
<nome>Fulano de Tal</nome>
<nome>Fulano de Tal</nome>
<aluno>
<aluno>
<aluno matricula=”123457”>
<aluno matricula=”123457”>
<nome>Sicrano de Tal</nome>
<nome>Sicrano de Tal</nome>
<aluno>
<aluno>
</alunos> {"alunos" : [
{"alunos" : [
</alunos>
{"matricula" : "123456",
{"matricula" : "123456",
"nome” : "Fulano de Tal"},
"nome” : "Fulano de Tal"},
{"matricula" : "123457",
{"matricula" : "123457",
"nome” : "Sicrano de Tal"}]
"nome” : "Sicrano de Tal"}]
}}
37
37
39. Seleção do sistema
de 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
39
39
48. Ferramenta de conversão
de 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
48
48
49. isis2json.py
luciano@meng$ ./isis2json.py h
luciano@meng$ ./isis2json.py h
usage: isis2json.py [h] [o OUTPUT.json] [c] [m] [f] [q QTY] [s SKIP]
usage: isis2json.py [h] [o OUTPUT.json] [c] [m] [f] [q QTY] [s SKIP]
[i TAG_NUMBER] [u] [t PREFIX] [n]
[i TAG_NUMBER] [u] [t PREFIX] [n]
INPUT.(mst|iso)
INPUT.(mst|iso)
Convert an ISIS .mst or .iso file to a JSON array
Convert an ISIS .mst or .iso file to a JSON array
positional arguments:
positional arguments:
INPUT.(mst|iso) .mst or .iso file to read
INPUT.(mst|iso) .mst or .iso file to read
optional arguments:
optional arguments:
h, help show this help message and exit
h, help show this help message and exit
o OUTPUT.json, out OUTPUT.json
o OUTPUT.json, out OUTPUT.json
the file where the JSON output should be written
the file where the JSON output should be written
(default: write to stdout)
(default: write to stdout)
c, couch output array within a "docs" item in a JSON document
c, couch output array within a "docs" item in a JSON document
for bulk insert to CouchDB via POST to db/_bulk_docs
for bulk insert to CouchDB via POST to db/_bulk_docs
m, mongo output individual records as separate JSON
m, mongo output individual records as separate JSON
dictionaries, one per line for bulk insert to MongoDB
dictionaries, one per line for bulk insert to MongoDB
via mongoimport utility
via mongoimport utility
f, subfields explode each field into a JSON dictionary, with "_" as
f, subfields explode each field into a JSON dictionary, with "_" as
default key, and subfield markers as additional keys
default key, and subfield markers as additional keys
q QTY, qty QTY maximum quantity of records to read (default=ALL)
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)
s SKIP, skip SKIP records to skip from start of .mst (default=0)
i TAG_NUMBER, id TAG_NUMBER
i TAG_NUMBER, id TAG_NUMBER
generate an "_id" from the given unique TAG field
generate an "_id" from the given unique TAG field
number for each record
number for each record
u, uuid generate an "_id" with a random UUID for each record
u, uuid generate an "_id" with a random UUID for each record
t PREFIX, tagprefix PREFIX
t PREFIX, tagprefix PREFIX
concatenate prefix to numeric field tags (ex. 99
concatenate prefix to numeric field tags (ex. 99
becomes "v99"
becomes "v99"
n, mfn generate an "_id" from the MFN of each record
n, mfn generate an "_id" from the MFN of each record
(available only for .mst input)
49
(available only for .mst input)
49
50. Carga para o CouchDB
• lilimp
– registros ISISJSON tipo 1
– subcampos concatenados
• lilacs
– registros ISISJSON tipo 4
– subcampos expandidos em dicionários
50
50
58. Resultados
• 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
58
58
63. Conclusã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)
63
63
64. Limitaçõ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
64
64
70. Indicações para continuar (2)
• Atualização automática de
registros desnormalizados
• Aplicação da teoria a um
problema prático encontrado
em sistemas da BIREME
e no Google App Engine
Dados duplicados são ruins somente
Dados duplicados são ruins somente
na medida em que o esforço para
na medida em que o esforço para
mantê-los consistentes é oneroso.
mantê-los consistentes é oneroso.
MONASH, C. A. http://bit.ly/fHp2p4
MONASH, C. A. http://bit.ly/fHp2p4
70
70
71. Luciano G. S. Ramalho
O Modelo de Dados
Semiestruturado em
Bases Bibliográficas:
do CDS/ISIS ao
Apache CouchDB
Monografia de Graduação
Bacharelado em Biblioteconomia
Orientador: Prof. Dr. Marcos Mucheroni
USP – ECA – CBD
Novembro de 2010
71
71
76. Acesso a campos e subcampos
>>> 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
76
76
77. Derivação do esquema a partir
de 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
77
77
80. http://www.libraryjournal.com/article/CA250046.html
•• Roy Tennant
Roy Tennant
– California Digital
– California Digital
Library
Library
– Senior Program
– Senior Program
Officer, Research
Officer, Research
division, OCLC
division, OCLC
80
80
81. Porque 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
81
81