XML e Banco de Dados - LAC

Propaganda
Banco de Dados com XML
Aplicações Baseadas em Hiperdocumentos
Lucio Henrique Franco
[email protected]
06/12/2002
LAC
INPE
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.1/33
Roteiro
• Objetivo
• Bancos de Dados Referenciados:
–
MySQL
–
PostgreSQL
–
Ingress II
–
MS SQL Server 2000
–
Caché
–
Oracle
• Conclusão
• Bibliografia
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.2/33
Objetivo
• Apresentação da relação dos banco de
dados mais utilizados atualmente, seja ele
open source ou proprietário, com XML (eXtensible
Markup Language)
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.3/33
MySQL versão 2.23.53
• PRINCIPAIS CARACTERÍSTICAS:
• Portabilidade: Escrito em C e C++. Testado
com vários compiladores. APIs para C, C++,
Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl
• Multi-Thread: Usa kernel threads. Pode facilmente
utilizar várias CPUs se disponível
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.4/33
MySQL versão 2.23.53
• Armazenamento: Árvore-B com compressão
de index
• Funções SQL: classes otimizadas. Sem
memória alocada depois de uma consulta
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.5/33
MySQL versão 2.23.53
• Tamanho da Base de Dados: Manipula
grande bases de dados. Há MySQL Server com
60.000 tabelas e aproximadamente
5.000.000.000 linhas
• Conexão: Pode-se conectar usando TCP/IP
Sockets, Unix Sockets (Unix) ou Named Pipes (NT),
ODBC (Open-DataBase-Connectivity)
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.6/33
PostgreSQL
• PRINCIPAIS CARACTERÍSTICAS
• Integrity Transaction
• Início do projeto em 1986 - Release em
Junho/88
• Release 3: Suporte a múltiplos gerenciadores
de armazenamento
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.7/33
PostgreSQL
• Desde então focado em portabilidade
• Pacote de monitoramento de performance e
sistema de informação geográfica
• Postgres95
• 1994 Andrew Yu e Jolly Cen acrescentam o
interpretador SQL para Postgres
• Domínio Público e Código Aberto
descendente do código original de Berkeley
• Importantes características de backend:
incluindo subselects, constrains, triggers
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.8/33
Ingress II
• PRINCIPAIS CARACTERÍSTICAS
• Release 2.6
• Acelerador de performance
• Flexibilidade com suporte a XML
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.9/33
Ingress II
• Ferramentas de administração com
capacidade de gerenciamento global
• Ingres Enterprise Relational Database inclui
tecnologias disponíveis como: Ingres II
Enterprise Edition, Ingres II, Ingres Visual
DBA, Ingres NET
• Suporta computação distribuída
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.10/33
Ingress II
• Plataformas como Linux (Intel, OS/390, Z
Series), UNIX (Solaris, HPUX, Tru64, AIX) e
Windows (2000/NT/XP)
• Disponibilidade 24x7
• Advantage Ingres Enterprise Relational
Database Distributed Option: simplifica
acesso aos dados distribuídos, de desktops
para mainframes
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.11/33
Microsoft SQL Server 2000
• PRINCIPAIS CARACTERÍSTICAS
• Escalabilidade: Suporte a 32 CPUs SP(simetric
multi-processor) com Windows 2000 DataCenter
Server
• Memória: Suporte a 64 GB RAM com Windows
2000 DataCenter Server
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.12/33
Microsoft SQL Server 2000
• Tolerância à Falhas: Reinstala ou recontrói
qualquer nó do cluster que falhar, sem
impactar outros nós
• Acesso via URL: Flexibilidade de acessar
dados de Web via URL. Usando Structured Query
Language (SQL), XML templates ou XPath nessas
consultas
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.13/33
Microsoft SQL Server 2000
• Padrões Suportados: Intregra sistemas
existentes. Suporte padrões W3C como: XML,
XPath, XSL e HTTP
• Multi-Instâncias: Roda em hosts com
instâncias das base de dados separadas
para aplicações ou clientes
• XML: Vê e acessa dados relacionais usando
XML e facilmente mapeia elementos XML e
atributos para o esquema relacional
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.14/33
Microsoft SQL Server 2000
• SELECT FOR XML: Retorna consultas SQL
como XML
• OpenXML: Acessa, manipula e atualiza
documentos XML
• English Query: Permite os usuários acessar
dados via consulta de linguagem natural
• Data mining de clientes e dados financeiros
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.15/33
Caché
• PRINCIPAIS CARACTERÍSTICAS
• Dados Multidimensionais: Todos os dados
são armazenados em arrays
multidimensionais que eliminam
relativamente o processo de overhead para
pesquisas em base de dados relacionais
comuns.
• Eficiente armazenamento de dados,
consome pouco espaço em disco, requer
pouco hardware
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.16/33
Caché
• Dados podem ser modelados como objetos.
Suporta encapsulamento, herança múltipla,
polimorfismo, referências, coleções, BLOBs
• Objetos e tabelas relacionais são
automaticammente gerados de uma simples
definição dos dados
• Implementa Bean-Managed Persistence sem a
necessidade de mapear manualmente entre
classes Java e tabelas relacionais
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.17/33
Caché
• Gera documentos XML e DTDs
correspondentes ou XML schemas de classes
Caché
• Hyper-Events: permite ocorrer eventos no
browser (mouse clicks, mouse movements, field value
changes, timeouts, etc.). Podendo a base de
dados responder os eventos com uma trigger
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.18/33
• Caché
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.19/33
Oracle
• PRINCIPAIS CARACTERÍSTICAS
• Oracle9i Database is the state of the art in
object-relational databases
• Unbreakable database clusters
• Completa proteção de dados
• Self-service error correction - flashback
• Procura valores através de data mining
• Compartilhamento de dados seguro
• Sistema de arquivo inteligente
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.20/33
Oracle
• Row Level Lock: travamento somente do
registro individual em questão
• Replicação das base de dados
• XML Center
• Oracle XML Developer’s Kits: contém blocos
básicos que lê, manipula, transforma e
visualiza documentos XML
– XML Parsers:
suporta Java, C, C++ e
PL/SQL, padrão DOM e SAX
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.21/33
Oracle
• XML Center (cont.)
– XSLT Processor:
tranforma ou manipula XML
dentro de outros formatos de texto como
HTML
– XML Schema Processor:
suporta Java, C e
C++, permite usar XML como simples ou
complexos tipos de dados
– XML Class Generator:
automaticamente gera
classes Java e C++ de DTDs ou Schemas
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.22/33
Oracle
• XML Center (cont.)
– XML Transviewer Java Beans:
visualiza e
transforma documentos XML e dados via
componentes Java
– XSQL Servlet:
combina XML, SQL, e XSLT no
servidor para entregar conteúdo dinâmico
na web
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.23/33
Oracle
• XML Center (cont.)
comprime documentos XML
sem perder informações de estrutura e
hierarquia da árvore DOM, reduzindo
memória e mantendo o acesso aos dados
mais rápido
– XML compressor
–
Cria documentos conforme W3C XML 1.0
Recommendation
–
Escreve dados de um documento XML
dentro de uma tabela ou view
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.24/33
Oracle
• XML Center (cont.)
pode ser utilizado para
comparar 2 arquivos XML e representar a
diferença visualmente ou gerar o código
– XMLDiff Bean
XSL
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.25/33
Oracle
• Oracle XML DB é uma característica do
Oracle9i Database Release 2. Ela provê uma
alta performance, armazena XML nativo,
utilizando um novo padrão de métodos de
acessos, navegação e consultas XML
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.26/33
Oracle
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.27/33
Oracle
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.28/33
Conclusão
• Todos Alta Performance, Flexibilidade,
Rápido Desenvolvimento
• Informações de Fabricantes x Código Livre
• Informações de marketing ofuscando
informações técnicas
• Procura por padrões XML
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.29/33
Bibliografia
• MySQL
–
http://www.mysql.com/documentation/mysql/full/index.html
• PostgreSQL
–
http://www.manualy.sk/PostgreSQL/user/intro.htm\#AEN34
–
http://www.manualy.sk/PostgreSQL/user/intro56.htm
• Ingress II
–
http://www3.ca.com/Solutions/Product.asp?ID=1013
–
http://www3.ca.com/Solutions/Overview.asp?ID=1013&TYPE=S
–
http://www3.ca.com/Solutions/ProductOption.asp?ID=1116
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.30/33
Bibliografia
• MS SQL Server 2000
–
http://www.microsoft.com/catalog/display.asp?site=10145&subid=22&pg=2
• Caché
–
http://www.e-dbms.com/cache/cache5/fb/fb_02.html
–
http://www.e-dbms.com/cache/cache5/fb/fb_03.html
–
http://www.e-dbms.com/cache/cache5/fb/fb_04.html
–
http://www.e-dbms.com/cache/cache5/components/xml/index.html
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.31/33
Bibliografia
• Oracle
–
http://www.oracle.com/ip/deploy/database/oracle9i/index.html?oracle9id
–
http://otn.oracle.com/tech/linux/content.html
–
http://otn.oracle.com/tech/xml/content.html
–
http://otn.oracle.com/tech/webservices/content.html
–
http://otn.oracle.com/tech/xml/xdkhome.html
–
http://www.oracle.com/lang/pt/features/ow/index.html?0625_ow_15securit
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.32/33
Bibliografia
• Oracle (cont.)
–
http://otn.oracle.com/tech/xml/xdk_java/content.html
–
http://otn.oracle.com/tech/xml/xmldb/content.html
–
http://otn.oracle.com/products/ias/daily/may01.html
–
http://otn.oracle.com/tech/xml/xdk_java/content.html
Lucio Henrique Franco, LAC, INPE - CAP 353 - 06/12/2002 – p.33/33
Download