Piccolo aggiornamento sullo stato dei lavori in corso in casa Lobotomy: il ritardo accumulato in attesa per la prossima release e' consistente, ma mi giustifico dicendo che sto riscrivendo pressoche' daccapo Hyppocampus.
Il cambiamento piu' importante si nota nel fatto che il sistema di indicizzazione interno e sviluppato from scatch e' stato deposto in favore dell'utilizzo di DBI per l'utilizzo a mo' di backend di tutti gli RDBMS di cui esiste un driver: attualmente sto lavorando solo su PostgreSQL, forse faro' in tempo a testare anche su MySQL, mentre rimando al piu' prossimo futuro possibile il supporto a SQLite (che richiede qualche attenzione in piu', ma e' indispensabile qualora si volesse portare Lobotomy su piattaforma embedded).
So perfettamente che gia' poco tempo fa' avevo insinuato che non avrei usato alcun database esistente a causa dei grossi ostacoli che si ponevano nell'utilizzo di un RDBMS classico nella prospettiva di Hyppocampus, ma nuove strade si sono aperte da quando ho introdotto l'utilizzo di un parser scritto in bison/flex : fondamentalmente, adesso le query sono convertite dal modello logico che implementa il filesystem (una tabella con 2^64 colonne ed una riga per ogni elemento che vi si trova) a quello implementato nel DB vero (una tabella con 3 sole colonne, ed un insieme di righe per ogni file), in modo da preservare la facilita' di interrogazione da un lato e la compattezza dello storage dall'altro. Ricca documentazione accompagnera' questo complesso (almeno all'apparenza, ma non nella realta') meccanismo di trasfusione relazionale ;-) .
Le modifiche (sia esplicite, che introdotte implicitamente dalle nuove possibilita' offerte dalla disponibilita' di una base dati vera e propria su cui poggiarsi) sono tali che ho deciso di saltare direttamente alla serie 0.3 dello sviluppo, almeno per quanto riguarda Hyppocampus: con sommo dispiacere dei miei fans ( ;-P ) la nuova release del filesystem piu' relazionale sulla piazza non sara' accompagnata dalle relative versioni di Synapse e di SCD, ed anzi (questo vale in particolare per Synapse) a causa di piccoli ritocchi nelle modalita' di interrogazione SQL verra' a mancare pure la retrocompatibilita' con i prodotti esistenti. Vorrei cogliere l'occasione del salto di serie per fare grosse modifiche anche sugli altri progetti coinvolti in Lobotomy, ma cio' richiedera' (ulteriore) tempo e non mi sento di prometter nulla fino a settembre (sebbene in questo momento e per le prossime due settimane saro' in ferie dal lavoro, e potro' dedicare quasi ogni giorno al coding estremo in assetto estivo ;-) ).
Nessun commento:
Posta un commento