1
Che cosa è SADAS SADAS è un DBMS column-based progettato in modo specifico per ottenere grandi performance nell interrogazione di archivi statici di grandi dimensioni (analisi data warehouse, OLAP). SADAS è prodotto dalla Advanced Systems Srl, SW house che lavora da quasi 30 anni su architetture specifiche per data warehouse management: INFOMANAGER (1982) OVERMILLION (1990) Gestione Archivi Storici (1992) SADAS (2005) Ambiente MVS Client-Server e multipiattaforma (MVS,Unix, MS-DOS, Windows) Tra le sue principali applicazioni la procedura per l antiriciclaggio bancario (Sherlock) SQL-99 Standard 64-bit 2
Che cosa non è SADAS SADAS non è un DBMS progettato per scopi transazionali od operazionali (OLTP): non è cioè progettato per gestire la concorrenza di migliaia di accessi in lettura e scrittura. DBMS Operazionali Utenti Migliaia Centinaia Accessi Centinaia di record in lettura e scrittura Aggiornamenti Continui Periodici DBMS Data Warehouse Milioni di record, per lo più in lettura Copertura Temporale Solo dati correnti Dati correnti e storici Ottimizzazione Accessi OLTP su frazioni del DB Accessi OLAP su gran parte del DB 3
Dove si colloca SADAS SADAS si colloca al centro fra gli strumenti di ETL necessari per caricare i dati provenienti dalla produzione, da applicazioni, altri DW etc e gli strumenti preposti all analisi ed al reporting (Business Intelligence). Streams Apps OLTP EDW Files ETL Replication Data Quality Feeds (Rewrite,append, update) Sql ODBC JDBC SCI Analytics Reporting Source Systems 4
Compatibilità Compatibilità SADAS è un sistema aperto, ovvero garantisce la compatibilità con gli altri strumenti utilizzati per la gestione del data warehouse. SADAS è interrogabile con script SQL compatibili con lo standard SQL-99 ed è accessibile attraverso i driver standard di accesso ai DBMS. SADAS dispone inoltre di particolari strumenti proprietari per l interrogazione degli archivi. 5
Il progetto di ricerca SADAS è il risultato di un progetto di ricerca condotto dall Advanced Systems in collaborazione con: Università di Pisa Università del Sannio Il responsabile del progetto è stato il prof. Antonio Albano. (Progetto N. 11384 di Ricerca Industriale nel Settore Informatico e Telematico Fondo FAR, legge 297/99) EDBT 2006 International Conference on Extending Data Base Tecnology Titolo del progetto di ricerca: Another example of a Data Warehouse System based on transposed files SEBD 2006 XIV Convegno Nazionale su Sistemi Evoluti per Basi di Dati Titolo del progetto di ricerca: Star Query Plans in SADAS: a Data Warehouse System Based on Transposed Files 6
Perché un nuovo modello Limiti dell approccio tradizionale A B C Strumenti nati per ambienti transazionali, poco efficienti in ambienti OLAP Tempi di risposta di tipo batch al crescere dei dati Complessità di disegno e di gestione Soluzioni tradizionali A B Incremento continuo della potenza elaborativa (multiprocessor etc.) Creazione di strutture dati ridondanti (viste, preaggregazioni, etc.) 7
Perché un nuovo modello Principali inconvenienti dell approccio tradizionale: A B C D Conseguente aumento degli spazi richiesti (3-5 volte i dati di input) Aumento della complessità di gestione (disegno, tuning, partizionamento, caricamento, etc) Aumento dei costi relativi a piattaforme HW e SW Perdita di visibilità dei dettagli nelle aggregazioni 8
I punti di forza di SADAS Performance In media 100 volte più veloce dei principali competitors row-based. Costi Operativi La minore potenza elaborativa richiesta comporta una riduzione dei costi delle piattaforme HW e delle licenze SW. DB Management La gestione di strutture come aggregazioni, viste, etc. viene effettuata in automatico. Il DBA inoltre può disporre sempre del dato al dettaglio, eliminando gli inconvenienti relativi al caricamento di dati pre-aggregati. Compatibilità I driver ODBC e JDBC assicurano la compatibilità con i più diffusi strumenti di BI. 9
Performance L architettura SADAS Le eccezionali performance di SADAS sono legate all introduzione di elementi innovativi nella progettazione ed implementazione del DBMS: Column-based L architettura è colonnare, ovvero una tabella viene conservata in memoria come un insieme di files, uno per ogni campo della tabella. Ridondanza dei dati Un utilizzo spinto della ridondanza delle forme di rappresentazione dei dati (indici e strutture accessorie). Learn By Usage La capacità di creare dinamicamente nuove strutture di indici sulla base delle interrogazioni più frequentemente poste dagli utenti. Intelligent Upload La capacità di effettuare, all atto del caricamento, un aggiornamento delle strutture esistenti, senza doverle ricostruire (perdendo tempo). 10
Performance I vantaggi del Column-Based La struttura di memorizzazione elementare di SADAS è il file colonna. La tabella caricata viene affettata verticalmente producendo un numero di file pari al totale degli attributi della tabella: questo comporta una significativa riduzione del carico di I/O nella fase di inquiry. 12
Performance Cosa dicono gli esperti Donald Feinberg, Gartner Vice President, 2008 "Column databases typically outperform all other databases for analytic applications, including those that are built specifically for data warehousing Boris Evelson, Forrester Research Principal Analyst, 2008 Columnar databases are specifically designed and optimized for nothing but OLAP query processing. Their schemas are also much more flexible since it s as easy to drop, add or update a column in a columnar database as it is to insert, change or delete a row in a relational database 13
Nuovi Temi di Ricerca Viste sintetiche materializzate In base al LOG di tutte le query eseguite su un database, in una definita finestra temporale, si vuole fare attività di ricerca e sviluppo per sperimentare la possibilità di creare automaticamente viste sintetiche, analizzando la tipologia di query e la frequenza di utilizzo Clustering Attività di ricerca sulle strategie migliori per la distribuzione e partizione delle strutture fisiche di Sadas, per analizzare e misurare l efficienza degli algoritmi di Sadas in relazione alle where clause, group by clause, order by clause; implementazione di algoritmi di raccordo che effettuino il merge o l unione delle risposte parziali, per la produzione del risultato finale. Multipiattaforma Conversione ed eventuale riscrittura degli algoritmi di Sadas in ambiente Unix in relazione alle where clause, group by clause, order by clause. Test di efficienza degli algoritmi di Sadas in ambiente Unix. SQL Sadas Estensione del dialetto SQL di Sadas per il supporto delle subquery correlate nella where clause Estensione del dialetto SQL di Sadas in relazione alle estensioni utilizzate in ambito data warehouse 14
Q&A www.sadasdb.com www.advancedsystems.it 15