SEDNA
SGBD XML NATIVO
Sedna
Open Source / Free (Apache License 2.0)
Sistema de BD XML Nativo em C/C+
W3C Xquery
Segurança de dados (users / roles / privilégios)
Suporte a utf-8
Indices baseado em B-Tree
Desenvolvedor
API
Java
C
C#
PHP
Python
Ruby
Delphi
XML
DB Drive pra Java
Módulo de integração
com Apache HTTP Server
Suporte a SO
Windows
Linux
Mac OS (Power PC / Intel)
FreeBSD
Solaris
Comandos Básicos
Iniciar e desligar o Sedna
se_gov ( iniciar o Sedna )
se_stop ( desliga o Sedna)
Criar e Executar Database
se_cdb testdb ( cria uma base testedb )
se_sm testedb ( executa a base testedb )
se_smsd testedb (desliga a base testedb)
Query via Linha de Comando
[win:] se_term -query "let $a:=(3, 1, 7) return
<result>{ max($a) }</result>" testdb
[nix:] se_term -query "let \$a:=(3, 1, 7) return
<result>{ max(\$a) }</result>" testdb
se_term -file 1.xquery testdb
se_term testdb
Exemplo no Terminal
se_gov
se_cdb auction
se_sm auction
se_term –file load_data.xquery auction
se_term –file <query>.xquey auction
se_smsd auction
se_stop
Comparativo
Sedna
PostgreSQL
SGBD nativo livre
Objeto-relacional livre
Oracle 10g
Objeto-relacional proprietário
Esquema utilizados nas definições dos
documentos
Sedna
PostgreSQL
Desenvolvido um novo esquema, com características diferenciadas com
relação ao DTD e XSD
É gerado dinamicamente a partir dos dados do próprio documento XML
Produz sempre uma arvore
Pode ou não ser validado por um DTD.
Validação não influencia no mapeamento
Armazenamento apenas em Varchar
Oracle 10g
Pode ou não ser validado por XSD ou DTD
Pode criar table para acomodar os atributos informando no sistema o que
será mapeado para OR e o que será em CLOB
Armazenamento
Sedna
PostgreSQL
Documento armazenado em sua forma nativa
Utiliza arvore de acordo com a estrutura de cada documento
Mapeado em um tipo XML baseado em Varchar
Oracle 10g
Possui tipo XMLType que mapeia os documentos XML de 3
formas:
Não estruturado – documento todo armazenado em um CLOB
Estruturado – É feito o mapeamento Objeto Relacional baseado em
um esquema
Híbrido – a combinação das duas formas
Validação do Documento
Sedna
PostgreSQL
Fornece a opção de validar ou não o documento a ser
utilizado.
Validação pode ser feita com DTD ou XSD
Pode ser validado com DTD
Oracle 10g
Pode ser validado com DTD ou XSD
Se não for validado com XSD apenas armazenamento não
estruturado é permitido
Evolução do Esquema
Sedna
PostgreSQL
Não implementa uma evolução sobre XSD ou DTD
Esquema dinâmico e particular do Sedna
Permite que estruturas desconhecidas possam ser
armazenadas e manipuladas
Não implementado
Oracle 10g
Evolui esquemas XSD através do procedimento CopyEvolve()
Transformações XLST são feitas como parte da evolução
transformando documentos XML do esquema antigo no
esquema novo.
Formas de Indexação
Sedna
PostgreSQL
Arvore B
Utilizando a integração com dtSearch para trabalhar diretamente
com valores de texto, podendo usar Xquery
Arvore B
GiST’s – aumenta a eficiência de consultas Xpath, transformando-as
em SQL
Oracle 10g
Textual
Índice baseado em função
Arvore B
Hierárquico
Linguagem de Consulta
Sedna
PostgreSQL
Xquery
Xpath e por utilizar o conceito de tuplas, permite operações
baseadas no modelo relacional
Xpath
XML/SQL
Oracle 10g
XSU (XDK)
Xpath
Xquery
SQL e PL/SQL (quando mapeado para objeto - relacional)
Interface de Acesso
Sedna
Java
C
Scheme
Interface gráfica para
gerenciamento
Comando pelo terminal
Oracle 10g
Codigos XML/SQL
Java
C++
Via HTTP
WebDev
FTP
API JDBC
Interface 3
SQL Plus
Enterprise Manager Console
Interface 2
PostgreSQL
Interface Padrão
API para Java e PL/SQL
Interface 4
Manipulação de componentes
XDK em Java, C, C++ e
PL/SQL
Sedna
Vantagem
É livre
Eficiente em manipulação de
documentos sem esquema, e
fortemente semiestruturado
Permite a utilização de
trechos de documento
Consultas simples através de
Xpath e Xquery
Permite que um documento
referencie outro
Desvantagem
Pouca documentação for a
do site oficial
Não restringe uma
coleção a um determinado
esquema
Referencias
Um estudo sobre Gerenciamento de Dados XML em SGBDs
Objeto-Relacional em SGBD com suporte a XML, Maxiwell
Salvador Garcia, Anderson Luiz Menezes, Clodis Boscaridi,
UNIOESTE, Cascavel, PR
Sedna [http://modis.ispras.ru/sedna/] acessado em Maio de
2009
Armazenamento de Documento XML,Vanessa Braganholo
Um estudo sobre esquemas para documentos XML, Marcus
Barbosa Pinto, Deise de Brum Saccol, CEULP/ULBRA, Palmas,
TO
Estudo comparativo de SGBD XML, Rafael Pialarissi, Londrina ,
2005
Base de dados XML, Grupo Kybele, Universidade de Juan
Carlos I