Che cos’è l’ottimizzazione del database per una applicazione SaaS

Che cos’è l’ottimizzazione del database per una applicazione SaaS

Che cos’è SaaS?

In informatica, ci sono ovvie differenze tra SaaS ed una architettura software tradizionale. Per questo motivo è necessario un nuovo metodo di ingegnerizzazione del software per quanto riguarda il pattern SaaS. La maggior parte delle soluzioni SaaS è basata su un’architettura multi-tenant. Grazie a questo modello, un’unica versione dell’applicazione con un’unica configurazione, relativa ad hardware e rete, viene utilizzata da tutti i clienti, in inglese tenants. Per supportare la scalabilità tale software viene installato su più macchine, realizzando il cosiddetto horizontal scaling. Tuttavia non tutte le applicazioni seguono questo modello. Infatti molte altre sfruttano la virtualizzazione per poter supportare un alto numero di clienti.

Poich´e non tutte le applicazioni SaaS condividono le stesse peculiarità, di seguito sono elencate le caratteristiche comuni.

  • Configurazione e personalizzazione: come nei tradizionali software enterprise, un cliente pùo cambiare le opzioni di configurazione e alterare le sue funzionalità e il suo look-and-feel. Ogni singolo cliente pùo avere i propri parametri per tali opzioni. L’applicazione pùo quindi essere personalizzata basandosi su un insieme di opzioni standard di configurazione.
  • Rilascio più rapido di nuove caratteristiche: le applicazioni SaaS sono aggiornate più velocemente rispetto ai software tradizionali. Questo è dovuto a molti fattori, come per esempio il fatto che l’applicazione è centralizzata e quindi nuovi rilasci possono essere caricati senza dover costringere i clienti ad installare nuovo software.
  • Protocolli adatti all’integrazione: poich´e le applicazioni SaaS non possono accedere a sistemi interni all’azienda, esse offrono dei protocolli, basati principalmente su HTTP, REST, SOAP e JSON, o API che possono operare su una rete estesa in modo da facilitare tale integrazione.
  • Funzionalità collaborative: ispirate dal successo dei social network, molte applicazioni SaaS offrono la possibilità agli utenti di collaborare e condividiere informazioni.

Che cos'è l'ottimizzazione del database per una applicazione SaaS

Ottimizzazione del database

Quando più utenti utilizzano un’unica istanza del database, la concorrenza e l’ammontare dei dati del sistema cresce enormemente. In questo caso, se si continuasse a seguire la solita modalità di sviluppo del software, si avrebbe come risultato un decadimento delle performance del sistema. Per questo motivo diventa assai utile l’ottimizzazione del database.

Costruire Indici Appropriati

Tali indici devono possedere una forte selettività, in modo tale che siano nel minor numero possibile. Infatti un loro aumento potrebbe portare ad operazioni di revisione e cancellazione sul database in fase di replicazione dei dati, riducendo quindi le performance generali e aumentando lo spazio occupato.

Evitare troppe connessioni fra tabelle

Il tempo impiegato ad eseguire una query SQL non dipende solamente dagli indici. Infatti, operata la precedente ottimizzazione, si pùo vedere come il tempo relativo alla connessione fra le tabelle sia veramente elevato. Nella piattaforma SaaS il numero di utenti è altissimo. Quindi per le query su una singola tabella le performance non sono un grande problema se si usa la corretta metodologia di indexing, ma per più tabelle tali problemi vengono ovviamente alla luce.

Evitare query SQL troppo complicate

Tali query occupano, ovviamente, molto tempo. Andranno quindi divise in più query da eseguire singolarmente.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *