28 settembre 2005

Oracle HTML DB e Raptor

Ho provato per qualche giorno Oracle HTML DB, un tool 10g (che funziona anche dalla 9.2) che permette di creare applicazioni basate su web, comprendendo tutte le fasi dello sviluppo, senza conoscere la sintassi SQL e la programmazione web.
OTN fornisce un interessante demo, in cui si vedono le potenzialià dell'interfaccia di HTML DB.
È anche possibile provare subito a creare le proprie applicazioni richiedendo una login su http://htmldb.oracle.com/.

Gira la notizia che stia per uscire Raptor, un software che ha scopi simili ai vari Toad o Tora. Per ora ci sono solo alcuni screenshots e qualche notizia sparsa.

23 settembre 2005

Filesystem e DB

Leggo oggi da qualche parte l'uscita di NOOFS, un filesystem unix basato su database, che promette di rendere indicizzabili e ricercabili i file molto più facilmente.
In qualche modo mi è tornato in mente Oracle Cluster File System, a parte che non c'entra nulla con l'indicizzazione dei contenuti; il punto di partenza però è simile.
Le caratterisctiche di NOOFS sono più o meno le stesse promesse da Windows Vista, su una scala aziendale però, non confinata al singolo PC (anche se Vista promette una ricerca sui PC dello stesso dominio); un altro vantaggio è il facile controllo diretto e centralizzato sui dati.

18 settembre 2005

Web tier

Ecco un bell'esempio di quello che si può fare con le ultime tecnologie web applicate ai database.
L'esempio tratta delle fotografie di C.W. Cushman degli anni '40, su Kodachrome (!) a colori.
A parte le ottime fotografie, per noi è specialmente interessante la sezione tecnologica basata su Oracle.

15 settembre 2005

il mio db è pronto!

evviva!

non pensavo di farcela ma il mio db è pronto. tecnicamente è in fase alfa e cioè "al fa già cul ca serva", pertanto è assolutamente consegnabile all'utente, che potrà farsi venire i calli nel segnalarmi errori e malfunzionamenti più o meno gravi.

ora è diviso in un frontend e in un backend con tutte le tabelle e (miraculo!) sembra che tutto questo faccia senso (in questo caso l'inglese mi lusinga: it all makes sense!)

la soluzione frontend - backend è un compromesso (l'ideale sarebbe una reale multiutenza) però già l'aver creato una casella di testo che sputa asterischi al posto di mostrare in chiaro la tua password è un passo avanti (per me).

probabilmente i puristi di ADO storcerebbero il naso a qualcuna delle mie scelte e quelli di VBA si metterebbero a sghignazzare, ma d'altronde se facessi lo sviluppatore questo sarebbe il mio blog :)

08 settembre 2005

MySQL: nuova versione = nuovi problemi

Non ho ancora avuto la possibilità di provare il nuovo MySQL 5 ma partendo dal messaggio di Rudy ho letto le nuove funzionalità e mi sono fatto un'idea.
Sono partito da "What's New in MySQL 5.0".

Prima novità(probabilmente solo a causa dell'ordine alfabetico): BIT Data Type: Can be used to store numbers in binary notation.
Qui c'è un po' di confusione tra il valore memorizzato e la sua rappresentazione: ogni numero può essere rappresentato in notazione binaria o decimale o esadecimale ma resta sempre quel numero! E anche parlando strettamente della memorizzazione su disco non penso che ci possa essere una alternativa alla notazione binaria. Del resto se qualcuno ha avuto a che fare con le date in MySQL (mi riferisco alle versioni precedenti) probabilmente si è già scontrato con questioni simili.

Seconda novità (in realtà è l'ultima riportata ma ci sta bene qui per contrasto con la precedente): le view
Nella descrizione estesa leggo: In designing an implementation of views, our ambitious goal, as much as is possible within the confines of SQL, has been full compliance with “Codd's Rule #6” for relational database systems: “All views that are theoretically updatable, should in practice also be updatable.”
A me sembra una "nota stonata" citare il modello relazionale nel manuale di MySQL: probabilmente bisognava averlo ben chiaro in testa prima di iniziare a scrivere tutto il programma.

Terza novità: le federated tables, ovvero un maldestro tentativo di implementare l'equivalente dei dblink di Oracle.
A parte la sintassi che è una barzelletta ho letto le limitazioni e cito solo due punti:
- The remote table that a FEDERATED table points to must exist before you try to access the table through the FEDERATED table.
Accidenti che limitazione! Se non esistesse cosa dovrebbe fare: inventarsi i dati?
- There is no way for the FEDERATED engine to know if the remote table has changed. The reason for this is that this table has to work like a data file that would never be written to by anything other than the database. The integrity of the data in the local table could be breached if there was any change to the remote database. Questa frase (anche se non mi è del tutto chiara) la dice lunga sul modo in cui sono implementate e sull'utilità che possono avere.

Se la documentazione rispecchia quello che descrive, il mio timore che l'affidabilità del prodotto sia rimasta molto bassa nonostante l'aumento della versione, è fondato.

07 settembre 2005

ZendCore for Oracle

È disponibile per il download gratuito ZendCore for Oracle, un ambiente di sviluppo e messa in produzione per PHP con db Oracle; è dotato di connessione al database tramite Oracle Instant Client, praticamente le librerie client condivise della 10g.
L'installazione viene fatta tramite un'interfaccia di testo tipo Debian; è molto precisa e identifica tutte le installazioni di Apache presenti sulla macchina, modificandone in automatico i file di configurazione (attenzione: viene disattivata l'eventuale libreria PHP già installata tramite commento nei file .conf).

Ecco alcune schermate:






Ottima la possibilità di controllare le performance del sistema e di configurare sia le opzioni di php.ini che attivare le librerie direttamente dall'interfaccia web.
L'interfaccia OCI8 è stata riscritta e migliorata. Sono possibili aggiornamenti automatici (interessanti per PHP, che ogni tanto mostra problemi di sicurezza).
Non so ancora quali siano le differenze nell'API o nel namespace del linguaggio, ma è tutto molto interessante!

Oracle Data Unloader

Quante volte ci siamo chiesti come è possibile ottenere in modo semplice da una tabella Oracle un file di testo CSV?
Per questi scopi esiste Oracle Data Unloader!
Qui dove lavoro abbiamo sviluppato un programma apposito chiamato oraselector, chissà se può competere con i programmi di Tom Kyte :-)

DUL può essere usato anche in caso di perdita di dati: leggete questa guida per il recupero di tabelle danneggiate.

06 settembre 2005

MySQL 5.0

Sto valutando per motivi puramente lavorativi (ci tengo a precisarlo) MySQL 5.0 beta.
Leggo con un certo piacere le novità rispetto alla versione 4 (riporto quelle interessanti IMHO):

  • Cursori: Necessari per la programmazione SQL, vista l'introduzione delle stored procedures.

  • Dizionario dati: Toh, chi si vede. Questa mi pare proprio la scoperta dell'acqua calda.

  • Storage engines: interessante l'archive, che serve a creare tabelle a basso consumo di disco, in cui sono permessi solo select e insert; molto meno interessanti le tabelle federated, l'analogo mysql dei database link di Oracle. Incredibilmente complessa la procedura per il loro utilizzo.

  • Stored procedures - triggers - views: inutile rimarcare il ritardo rispetto agli altri prodotti...