Uno degli argomenti più caldi sul mercato odierno sono i Database File System. Tra Gnome Storage, WinFS e ora Apple Spotlight sembra che ognuno stia investendo su queste feature. Ma cos'è un database file system e perché è così importante? Cercherò di rispondere a queste domande e fornire una buona spiegazione su come un moderno Database File System possa essere strutturato.
Copyright 2005 © AKAImBatman. Tutti i diritti sono riservati.
Titolo originale dell'opera: Explanation of Database File Systems
Pubblicato d'intesa con AKAImBatman
Traduzione a cura di Mirko Spadaro e Silvia Ponzio
Definire il Problema
Nella vita di tutti i giorni tendiamo a tenere traccia delle cose tramite associazione. Per esempio io so che il conto che ho ricevuto dalla compagnia della carta di credito è sia una bolletta e che una ricevuta dalla compagnia della carta. Quindi se io volessi trovare quella ricevuta ancora, ma non mi ricordassi che cosa ne ho fatto? Allora probabilmente andrei a controllare le mie bollette per prima cosa, poi forse guarderei in un raccoglitore dove tengo le mie vecchi carte di lavoro, poi sul mio tavolo, poi forse in qualche posto che posso aver accidentalmente dimenticato. Notate le associazioni qui:
- Tutte le bollette
- Carte del lavoro archiviate
- Documenti recenti sul tavolo (Recent Desktop Documents)
- Ricerca in aree usuali
Queste associazioni sono una forma di “meta-dati” o “dati riguardanti dati”. Di solito non consideriamo questa informazione importante come i dati stessi, ma senza non potremmo neanche trovarli i dati!
Ora supponiamo per un momento che la nostra mitica ricevuta delle carta di credito ci sia stata consegnata elettronicamente, se inoltre supponiamo che l'abbiamo tenuta in un file su un disco allora la domanda che sorge spontanea è: Dove la mettiamo così che è facile trovarla?
Opzioni incluse:
- Nella cartella “Bollette” è probabilmente una buona idea tenere tutte le bollette insieme. In questo modo sappiamo dove trovarne una quando ne abbiamo bisogno
- In una una cartella “Documenti Archiviati” la bolletta sarà già sistemata e pagata. Perché non archiviarla solamente e tenerla alla larga?
- Sul Desktop. Dopotutto è un file importante, giusto? Così questo file importante andrebbe in qualche posto dove si nota.
Come hai potuto notare tutto ciò è molto simile alle problematiche che affrontiamo nel mondo reale. La differenza è che un computer dovrebbe essere in grado di fare molto di più per aiutare ad organizzare l'informazione che stiamo semplicemente piazzando da qualche parte dove speri sia ovvio.
Sino a un certo punto il il computer può aiutare. Se perdo traccia di ciò che ho fatto con la bolletta, poi posso tentare di cercarla. Il computer allora cercherà attraverso ogni file nel sistema cercando di trovare cosa abbiamo perso. Il problema con questo tipo di ricerca è che comunque il search può solo funzionare quando ho il nome del file. Se sono stato pigro e ho chiamato il file “Bolletta C.C.” allora no mi tornerà come risultato in una ricerca per “Carta di Credito”.
Meta-Data
E se potessimo migliorare la situazione presentata precedentemente? Per esempio se potessimo mettere la ricevuta nella cartelletta Bollette, nella cartella Documenti Archiviati e sul desktop simultaneamente? Che ne dite se potessimo cercare dentro il documento per le informazioni che contiene? E se il computer potesse intelligentemente dare dei punteggi ai file che trova in una ricerca e ordinarli in base ai file che pensa possano essere i più indicati? Con i meta-dati estratti da un database file system tutto ciò diventa possibile.
Parlando genericamente ci sono tre tipi di meta-data che un sistema è in grado di supportare:
- Meta-dati intrinseci
- Meta-dati applicati dagli utenti
- Meta-dati organizzativi
I Meta-dati intrinseci sono dati che possono essere derivati dall'esistenza stessa del file. A livello più semplice questo include cose come il dato che fu creato e le sue dimensioni. Schemi di meta-dati più complessi possono attualmente immergersi nel flusso dei dati di un file binario e estrarre ulteriori meta informazioni assegnate a quel file. Questo dovrebbe essere semplice come il testo di un documento di un word processing o complesso come il nome di un film o l'artista di una canzone. Senza dubbio migliore è il sistema a capire i file, più utile sarà l'informazione che potrà estrarvi.
I Meta-dati applicati dagli utenti sono dati che il computer ha aggiunto al file in modo esplicito. Per esempio io potrei scrivere una nota in un campo meta-data dicendo che ho bisogno di ricordare che questa bolletta scade il 28 febbraio anziché dell'usuale 30 del mese. Questa informazione può essere spesso molto utile ma può essere difficile convincere gli utenti a perdere tempo per applicarla.
I Meta-dati organizzativi sono una via di mezzo tra due tipi precedenti di meta-data. E' il tipo di dato che un utente potrebbe aggiungere al file con lo scopo di una migliore organizzazione e in questo modo diventa un attributo organizzativo che può essere interrogato. Per esempio diciamo che io voglia ordinare le bollette sotto un meta-tag chiamato “Bollette”. E diciamo che io abbia un tag per ogni compagnia di carta di credito così che io possa facilmente trovare corrispondenze con loro. Adesso ho aggiunto i meta-dati al file che dicono al sistema che il documento è una Bolletta che proviene da una Azienda di una Carta di Credito A!
Via il Vecchio, Dentro col Nuovo
La chiave di un database file system è che i meta-dati attaccati ai file ci forniscono un metodo migliore per cercare le cose. La teoria è che se le ricerche diventano abbastanza buone i metodi tradizionali per accedere ai file possono sparire tutti insieme. Invece di sfogliare tra i folder l'utente può semplicemente digitare “Bollette” e ottenere una lista di tutte le bollette memorizzate nel sistema. O l'utente può restringerla e chiedere “Bollette dalla Carta di Credito della Compagnia A” e ricevere una lista di risultati più specifici. La chiave che la ricerca riporterà sempre ciò che l'utente necessita, ma in un modo molto più veloce di una ricerca manuale da parte dell'utente.
Questo significa che i folder spariranno tutti insieme? La risposta è sì e no. No, i folder tradizionali non saranno così, utili ma allo stesso tempo è occasionalmente bello essere in grado di sfogliare le informazioni contenute sul proprio sistema.
La sostituzione ha due facce. La prima parte della soluzione è permettere all'utente di salvare le interrogazioni di ricerca in uno pseudo-folder. Questo fornisce all'utente una facile e automatica organizzazione dei suoi file. Per esempio potrebbe salvare una interrogazione di ricerca per cercare tutti i film. Così quando desidera sapere quali film esistono sul suo sistema può semplicemente aprire questo pseudo-folder e vedere i risultati della ricerca!
L'unico problema nell'usare interrogazioni salvate è che senza i folder regolari sarebbero persi fino a quando si è in grado di creare un'interrogazione per trovarli. Quindi un'altra soluzione è necessaria.
La seconda parte è un concetto conosciuto come Etichette. Le etichette sono un tipo di meta-data che ricade nella categoria Organizzativa. L'idea è che tu puoi creare quante Etichette vuoi nel tuo sistema e applicarle individualmente ai file. Come i file saranno muniti di etichetta appariranno automaticamente in uno pseudo-folder che mostra il nome dell'etichetta. I file senza una etichetta appariranno in un'area che mostra file non collegati. Questa lista non solo assicura che l'utente non perderà mai i suoi file, ma anche lo incoraggia ad etichettarli propriamente. E siccome un utente può applicare e togliere quante Etichette vuole ci sarà meno bisogno di assicurare in anticipo un'accuratezza organizzativa.
Il concetto può anche essere esteso nelle comuni metafore in uso oggi. E se il Desktop non fosse più un folder per i file, a solamente una serie di etichette standard? I file potrebbero essere facilmente messi sul desktop e rimossi solamente rimuovendo l'etichetta! I file potrebbero essere cestinato con una'Etichetta chiamata “Trash”. Centinaia di usi potrebbero saltare fuori per facilitare l'interfaccia utente solo perché un miglior metodo organizzativo esiste! Questa è la ragione per cui i database file system sono considerati il futuro dei file system.
Riferimenti:
Wikipedia: File Systems
Practical File System Design with the Be File System (1999)
Spotlight Technology Brief
DBFS for KDE
Microsoft WinFS
0 commenti:
Posta un commento