Finalità e Vantaggi dell'Elaborazione In-Loco dei Database (IDP)
L'Elaborazione In-Loco dei Database (IDP) è un'avanzata tecnologia di accesso ai database sviluppata da StatSoft per supportare l'interfacciamento diretto e ad elevate prestazioni tra dataset esterni residenti su server remoti e le funzionalità analitiche dei prodotti di STATISTICA. La tecnologia IDP è stata progettata per facilitare l'accesso a grandi database utilizzando un processo ad un solo passaggio tra i dati e che non necessita della creazione di copie locali del dataset. IDP migliora significativamente le prestazioni di STATISTICA ed è particolarmente adatto per grossi lavori di data mining e di analisi esplorativa dei dati. La tecnologia IDP fornisce inoltre un vantaggio in termini di sicurezza, poiché i dati non vengono mai spostati dal database (in pratica rimarrano nel database per tutto il tempo dell'elaborazione).
I guadagni in termini di velocità della tecnologia IDP, rispetto al tradizionale accesso ai dati, provengono non solo dal fatto che si permette a STATISTICA di accedere direttamente ai database e di evitare i passaggi altrimenti necessari di importazione e di creazione del file dati locale, ma anche dalla sua architettura multitasking (tecnicamente, architettura di elaborazione asincrona e distribuita). Nello specifico, IDP utilizza le risorse di elaborazione (CPU multiple) dei computer del server di database per eseguire le operazioni di interrogazione (query), di estrazione dei record richiesti ed di invio degli stessi al computer in cui è installato STATISTICA, mentre in contemporanea STATISTICA elabora questi record man mano che arrivano.
Compatibilità con i prodotti di STATISTICA
La tecnologia di IDP può essere utilizzata sia con le versioni desktop che enterprise dei prodotti STATISTICA, ed è totalmente compatibile con l'architettura Client/Server di STATISTICA Enterprise Server (le richieste possono essere inviate da internet, ma i dati saranno elaborati in maniera asincrona dai server di STATISTICA Enterprise Server connessi ai server di database, che invece eseguiranno le query). IDP è anche ottimizzato per integrarsi senza difficoltà con STATISTICA Data Miner, che supporta più canali di input IDP.
Architettura e Programmabilità
La tecnologia IDP è implementata attorno ad un oggetto COM, che incapsula un'istanza di un oggetto Recordset di Microsoft Active Data Object (ADO) ed implementa un sottoinsieme dell'interfaccia COM degli Spreadsheet della Libreria ad Oggetti di STATISTICA. Tutto questo funziona perché tutte le Analisi di STATISTICA accedono allo spreadsheet sorgente tramite l'interfaccia degli Spreadsheet (in realtà è l'interfaccia InputSpreadsheet, che contiene un sottoinsieme dei metodi dell'interfaccia degli Spreadsheet. InputSpreadsheet normalmente è nascosta nel Visualizzatore Oggetti, ma può essere visualizzata facendo click col tasto destro nel Visualizzatore Oggetti stesso e selezionando "Mostra Membri Nascosti"). Pertanto, per un'Analisi di STATISTICA, IDP appare come un qualsiasi spreadsheet. Infatti, degli utenti esperti potrebbero incapsulare un'interfaccia InputSpreadsheet attorno a qualunque fonte di dati ed eseguire su di essa delle Analisi di STATISTICA tramite dei programmi costruiti utilizzando il Modello a Oggetti di STATISTICA.
Dietro le quinte, l'oggetto che incapsula lo spreadsheet deve seguire determinati passaggi per poter far funzionare senza difficoltà le Analisi. Per esempio, se un'Analisi necessita del numero di casi in un Recordset prima che questa informazione sia nota (tramite interrogazione del database), allora dovrà essere eseguita in maniera sincrona una query di "conteggio" separata (cioè, l'analisi dovrà attendere che la query di conteggio ritorni il valore prima di proseguire), ed il relativo risultato dovrà essere ritornato all'analisi oppure si dovrà ritornare immediatamente un qualche limite superiore arbitrario di conteggio dei casi. Questo comportamento è configurabile nella scheda Database In-Loco della finestra opzioni di STATISTICA. Inoltre, se si utilizza un cursore solo-in-avanti e l'Analisi deve effettuare diversi passaggi sui dati o accedere a dati in maniera casuale, allora tutte le richieste effettuate su un caso (riga o record) "precedente" forzeranno l'IDP a rieseguire la query sul database ed far avanzare il cursore in avanti fino al caso richiesto, poiché il cursore non potrà mai scorrere all'indietro. L'Analisi dovrà semplicemente attendere il completamento di questo processo ed il ritorno dei dati richiesti.
Libreria dei Tipi di IDP - Due Interfacce Principali
L'interfaccia DBTable fornisce un accesso a livello di script al Documento IDP, allo steso modo in cui le interfacce Macro, Graph e Spreadsheet offrono l'accesso alle Macro, ai Grafici e agli Spreadsheet di STATISTICA. Oltre ai metodi e alle proprietà standard del documento (Visible, Activate, Close, ecc.) essa fornisce l'accesso a tutte le opzioni specifiche di IDP (tipo di cursore, posizione, stringa della query, ecc.) La proprietà di sola lettura "Spreadsheet" ritorna l'involucro dello Spreadsheet attorno al Recordset ADO.
La seconda interfaccia è DBSpreadsheet, che viene utilizzata da IDP per creare l'oggetto di involucro dello Spreadsheet. Questa interfaccia potrebbe essere anche usata dagli utenti per scrivere delle macro o dei programmi personalizzati, sebbene nella gran parte dei casi l'interfaccia DBTable sia sufficiente ed utilizzi a sua volta l'oggetto DBSpreadsheet. Questa interfaccia ha due metodi, Open e CreateNew. Open esegue la query specificata e apre un Recordset ADO. Essa crea un oggetto di involucro dello Spreadsheet, allega ad esso il Recordset ADO e ritorna questo oggetto Spreadsheet. CreateNew crea un oggetto di involucro dello Spreadsheet che non è allegato ad alcun Recordset e pertanto non è utilizzabile finché non si chiama il metodo "SetRecordset" per allegare un oggetto Recordset ADO di propria creazione.
