
Test per Oracle 9i database release 2: a tutto Xml
Xml Db inserito nel prodotto colloca il server di Oracle all’avanguardia nella gestione dell’eXstensible Markup Language.
Miglioramenti anche nell’amministrazione, nel data warehousing, nell’Olap e nella fault tolerance
View 170.3K
words 1.7K read in 8 minutes, 39 Seconds
Con 9i release 2 Oracle si colloca all’avanguardia nel supporto Xml nel database.
La mossa ha contribuito a scuotere il mercato dei database nativi Xml " abbastanza costosi e le cui prestazioni non sempre sono soddisfacenti " ma difficilmente avrà grossi effetti sulla base tradizionale degli utenti.
Quello di Oracle continua a essere il database con il maggior numero di funzioni fra quelli sul mercato. Oltre che un database relazionale e Xml, la nuova versione del prodotto è anche un application server Java (che supporta le specifiche Java 1.3), un server di message queuing, un server Olap di tipo sia relazionale sia multidimensionale e un sistema di data mining.
Inoltre, il server Http di Apache Software Foundation è strettamente integrato con il sistema di Oracle.
Le funzioni di gestione della posta elettronica e di file server che erano presenti all’interno dell’Internet File System di 9i release 1, però, sono state invece spostate nella nuova Oracle Collaboration Suite, annunciata lo scorso luglio.
La Enterprise Edition di Oracle 9i Release 2 costa 40 mila dollari per Cpu (o 800 dollari per utente predefinito) e solo questa versione permette l’impiego delle sette estensioni che rendono così ricco il prodotto: per esempio le funzioni di clustering con Real Application Clusters, l’Olap, il data mining e il partizionamento.
Naturalmente ciascuna estensione ha un prezzo proprio e può essere acquistata singolarmente.
l’Olap, per esempio, costa 20 mila dollari per Cpu (o 400 dollari per utente predefinito).
La Standard Edition invece costa 15 mila dollari per Cpu (o 300 dollari per ogni utente predefinito) e comprende comunque alcune funzioni importanti, come il database Xml e l’application server Java.
Non ha però molte delle funzioni che spingono le organizzazioni ad acquistare un sistema Oracle: oltre all’analisi dei dati, gran parte delle caratteristiche di uptime e di failover e i controlli di sicurezza a livello di singola riga.
All’avanguardia
Anche se Ibm e Microsoft nei rispettivi database garantiscono forme avanzate di gestione dell’Xml, indubbiamente Oracle è in questo ambito all’avanguardia con Xml Db.
Lo strumento nasce dall’unione di tre tecnologie: le funzioni Sql, che permettono di manipolare i dati Xml come dati relazionali (attraverso una vista o alcune particolari funzioni Sql) e di estrarre i dati di una tabella relazionale direttamente in formato Xml; un tipo di dati nativo Xml denominato XmlType, che permette di archiviare i dati Xml nel formato di un sistema di storage relazionale a oggetti che mantiene un Dom (Document object model) Xml o nel loro originale formato testo; e uno speciale tipo di indice gerarchico Xml che accelera gli accessi alle gerarchie di file Xml contenute nel repository di file Xml di Oracle9i.
Xml Db supporta Xml Schema ma non ancora il linguaggio XQuery (Xml Query Language).
Infatti manipola i dati Xml utilizzando una combinazione dei linguaggi Sql e XPath (Xml Path Language).
Inoltre, il database comprende anche un motore Xslt (Extensible stylesheet language transformations), accessibile attraverso Apache, che può estrarre dati Xml da Xml Db per trasformarli in Html o in altri formati.
Nessuna ripetizione del parsing
Le precedenti versioni di 9i e gli altri database relazionali permettono di memorizzare i dati Xml in formato testo e di estrarre dati dai file Xml per memorizzarli all’interno delle normali tabelle relazionali.
Tuttavia, la possibilità di conservare i dati in un formato che mantiene tutte le caratteristiche del Dom Xml (compresi i commenti, i namespaces, la distinzione tra i diversi elementi e l’ordinamento di attributi ed elementi) è una caratteristica importante che contraddistingue i database nativi Xml.
Il formato Dom non richiede un nuovo parsing dei documenti Xml ogni volta che è necessario accedere ai loro contenuti e questo, insieme con i tipi di indici Xml e Sql, permette migliori prestazioni.
Oracle Enterprise Manager, lo strumento di gestione, contiene una nuova cartella dedicata alla creazione e alla gestione dei database Xml.
Questi database sono definiti utilizzando alcuni documenti in formato Xml Schema, che implementano alcuni tag creati da Oracle per associare gli elementi di un Dom alle tabelle e a tipi di oggetti di Oracle.
l’inserimento di questi nuovi tag complica sicuramente le cose, ma la loro presenza è decisiva.
Se si prova a importare uno Schema senza utilizzare i tag, si creano infatti una tabella e un tipo di dati per ogni tag contenuto nel file.
Nel mercato dei database nativi Xml, alcuni sistemi come quello di Ipedo o come Excelon Extensible Server, non hanno bisogno di questi tag speciali, mentre altri come Tamino Xml Server li utilizzano in modo analogo a Oracle.
Le funzioni di Oracle che gestiscono l’accesso ai database Xml e che permettono di esporre i dati attraverso le interfacce Webdav (Web distributed authoring and versioning) e Ftp funzionano molto bene.
Windows Explorer vede i database Xml come nuovi file system e permette di utilizzarli come veri e propri dischi, inserendo e rimuovendo file al loro interno.
Le prove hanno permesso di esaminare anche come Oracle gestisca le condizioni di errore.
Il database permette di creare dei normali vincoli (come le foreign key e le condizioni di unicità dei valori di determinate colonne) sulle tabelle di base e ne garantisce il rispetto durante le fasi di immissione e di aggiornamento dei dati.
Inoltre, non si possono importare file Xml con tag o tipi di dati che non rispettano le definizioni presenti nello Schema.
Tuttavia, Oracle non permette di porre nessun vincolo su attributi come la lunghezza minima o massima di un valore, il numero di volte che si può ripetere un certo elemento o l’intervallo di appartenenza di un valore numerico.
Per imporre questo tipo di vincoli, l’azienda consiglia di creare appositi trigger all’interno del database.
Inoltre, in ben due occasioni, lavorando con i file Xml si è ottenuto un errore interno Ora-00600: la prima volta utilizzando con la parola chiave «distinct» e la seconda mentre si cercava di importare un documento non valido.
La presenza di questi due bug è stata confermata anche da Oracle, che ha dichiarato che saranno corretti in un futuro aggiornamento del sistema.
Nel campo dell’Olap, Oracle appare un po’ in difficoltà nel confronto con Microsoft.
Nella parte relazionale le funzioni di 9i sono decisamente più robuste, ma il server multidimensionale di Microsoft è molto sofisticato, ha un ampio supporto da parte delle terze parti ed è fornito gratis all’interno di Sql Server.
Inoltre, il server Olap di Sql Server permette anche di analizzare facilmente i contenuti dei database Oracle.
I componenti Olap e di data mining di 9i utilizzano alcune Api abbastanza nuove (rilasciate la scorsa estate all’interno di Oracle 9i Release 1), che sono ancora poco supportate dagli altri produttori di strumenti di analisi e di query dei dati.
Inoltre Oracle non ha nessun gateway integrato per importare, esportare e interrogare i dati contenuti nei database non Oracle, mentre Microsoft e Ibm includono queste funzioni come strumenti standard.
Oracle permette di importare solo file di testo o file Xml. Esistono anche alcuni gateway nativi per i database di altri produttori, ma sono venduti separatamente.
Nessuna corsa all’upgrade
In definitiva Oracle 9i Release 2 contiene diverse funzioni molto interessanti, che però non paiono sufficienti per scatenare gli utenti in un acorsa all’upgrade.
Per esempio, offre alcune funzioni che migliorano le attività di data warehousing. Una di queste è Data Guard Logical Standby Database, che permette di utilizzare un database di standby per l’elaborazione delle interrogazioni.
Il database di standby funziona in modo normale ed è aggiornato utilizzando i normali comandi Sql, in modo che gli amministratori possano aggiungere indici o viste statiche e possano utilizzare il database per le attività di reporting o di analisi.
Nelle versioni precedenti, invece, il database di standby funzionava solo in modalità recovery e non permetteva l’esecuzione di nessuna query.
Un'altra utile novità nel campo del data warehousing è la possibilità di compressione dei dati, che lavora sui valori ripetuti all’interno delle diverse tabelle e che permette di inserire un maggior numero di dati all’interno di uno stesso blocco del disco, migliorando così anche la velocità di risposta delle interrogazioni che devono utilizzare grandi insiemi di righe.
I blocchi compressi permettono inoltre di inserire un maggior numero di dati anche nei buffer della cache di Oracle, riducendo così le sue esigenze di memoria. l’unione di queste funzioni di compressione, degli indici di tipo bitmap (un'altra delle caratteristiche uniche di Oracle) e delle viste statiche (permesse anche da Db2 e da Sql Server) rende il database di Oracle un'ottima piattaforma per le attività di data warehousing e per le operazioni Olap relazionali.
Infine, le funzioni di Oracle 9i Release 2 aiutano gli amministratori a configurare i parametri del database in modo da ottenere prestazioni ottimali e, attraverso una nuova estensione Sql chiamata Flashback Query, semplificano anche l’accesso agli strumenti di Oracle per il recupero dei dati.
Lo strumento principale per l’analisi e l’annullamento dei cambiamenti è sempre il Log Miner, ma la Flashback Query introduce una nuova estensione «as of» del comando select, che permette di annullare gli effetti di un errore o di esaminare le vecchie versioni dei dati direttamente da un normale strumento di interrogazione Sql.
Upgrade a passo lento
* Iclienti si dimostrano interessati alle funzioni introdotte dalla release 2 di 9i, ma i budget al risparmio freneranno gli upgrade.
* Solo il 6% dei clienti interpellati da Morgan Stanley e dall’International Oracle User Group ha dichiarato di avere un'immediata necessità di passare al nuovo database.
* Il 75% delle aziende che usano una versione base di Oracle ha in programma di passare alla Enterprise. Solo la metà lo farà nel prossimo anno.
* Il 34% ritiene la funzione di cluster (Rac) interessante, solo l’1% lo giudica una necessità immediata.
In sintesi
Nuova identità per 9i: ora è anche un nativo Xml. Miglioramenti comunque anche nell’amministrazione, nel data warehousing, nella fault tolerance e nell’Olap.
In generale, il server di Oracle continua a essere all’avanguardia fra quelli sul mercato. Ma è ancora decisamente il più costoso. Conveniente invece la versione Standard rispetto a un nativo Xml fra quelli in circolazione.
* Pro - Archiviazione nativa di dati e documenti Xml accessibili attraverso protocolli comuni; il database di failover può ora essere usato anche per elaborare query.
* Contro - Manca il supporto a XQuery. Costi elevati.









