Back to top

SQL vs NoSQL, Atomic, Transaction…Quale database scegliere per cosa

Massime performance e minimizzazione dei costi per le applicazioni complesse e distribuite

Per progetti business critical e complessi la scelta del database è sempre un momento difficile. Virare verso uno in particolare o verso l’alternativa richiede una comprensione completa dello Use Case e dei requisiti specifici necessari per essere aderenti al piano operativo e funzionale. Attraverso l’eccellente lavoro fatto da Priyanka Vergadia con i suoi sketchnote, che puoi liberamente scaricare da GitHub, ti indichiamo quali opzioni ti offre Google Cloud per le tue specifiche esigenze e come si adatta perfettamente al tuo scopo.

Partiamo dall’approccio classico tra database relazionali e non relazionali per indicarti, alla fine dell’articolo, il nostro approccio al problema della scelta del database per applicazioni complesse. Contattaci subito e senza impegno per una consulenza su quale database scegliere.

I database relazionali

Le caratteristiche dei database SQL

I database relazionali o comunemente SQL (Structured Data Language) archiviano le informazioni in tabelle, righe e colonne e sono utilizzati per dati, come la definizione già indica, strutturati e che subiscono raramente modifiche. La principale caratteristica è quella che offrono operazioni ACID, vale a dire:

  • Atomic: tutte le operazioni in una transazione o hanno successo o le operazioni vengono annullate;
  • Consistent: al completamento di una transazione il database è integro;
  • Isolated: le transazioni non si scontrano tra di loro e le concorrenze di accesso ai dati vengono gestite in modo che avvengano in una modalità che garantisca l’integrità del database;
  • Durable: i risultati delle transazioni sono permanenti.

Per cosa usare i database SQL

Con queste caratteristiche i database relazionali sono l’ideale in applicazioni finanziarie, bancarie, di commercio elettronico ed ovunque sia indispensabile e critico mantenere la perfetta integrità dei dati.

Le soluzioni di Google Cloud per i database SQL

Ci sono tre soluzioni disponibili:

  1. Cloud SQL: è una piattaforma che ti fornisce un servizio gestito di database SQL, in pratica hai a disposizione tutti gli strumenti per automatizzare il provisioning, la gestione della capacità di archiviazione, i back up, il disaster recovery e l’alta affidabilità abbattendo nello stesso tempo i costi di gestione e funzionamento. Praticamente è l’ideale per i comuni CMS, ERP e Ecommerce.
  2. Cloud Spanner: è una piattaforma globale e di livello enterprise con una disponibilità del 99,999% su scala internazionale. Chiaramente i costi sono completamente differenti da Cloud SQL ed è l’ideale per l’implementazione di soluzioni bancarie e di pagamento in maniera worldwide.
  3. Bare Metal: nato per poter migrare database Oracle su Google Cloud e poter abilitare processi di lift e shift di applicazioni legacy verso il Cloud.

I database non relazionali

Le caratteristiche dei database NoSQL

I database non relazionali o comunemente NoSQL archiviano informazioni non strutturate e complesse. Nascono per operare con grandi quantità di dati di differenti formati la cui struttura complessiva cambia nel tempo a causa degli adattamenti alle nuove strategie di business ed operative. Le caratteristiche principali sono:

  • ottimizzati per specifici pattern di lavoro;
  • scaling orizzontale con possibilità di aggiungere nodi e macchine;
  • massime performance per grandi volumi di dati.

Per cosa usare i database NoSQL

Con queste caratteristiche i database non relazionali sono l’ideale per applicazioni che devono gestire numerosi cambiamenti ai dati in real time o nel tempo e devono archiviare enormi volumi di dati, è il caso per esempio della gestione dei sensori, di stream di dati da dispositivi IoT globalmente distribuiti e di Big Data.

Le soluzioni di Google Cloud per i database NoSQL

Ci sono tre soluzioni disponibili:

  1. Firestore: è una piattaforma serverless, scalabile automaticamente, che implementa anche la consistenza(caratteristiche tipica dei database SQL) e che fornisce una disponibilità del 99,999%. E’ l’ideale per qualsiasi applicazione che lo sfrutta come database di back-end grazie al set di API, inoltre è perfetto per applicazioni e dashboard real time.
  2. Cloud BigTable: un prodotto che opera in stile tabellare e che può eseguire query su miliardi di righe e migliaia di colonne, praticamente non ha limite nella capacità di gestire dati non strutturati con latenza minima( anche inferiore al millisecondo). E’ l’ideale per collezionare dati da dispositivi IoT o da strumenti di monitoraggio per qualsiasi tipologia di applicazione.
  3. Memorystore: è una piattaforma per fare caching in Cloud, nasce per portare sistemi come Redis e Memcached in Cloud. Offrendo latenza minima ed elevatissime performance è l’ideale per creare chat e applicazioni di feeding di dati.

L’approccio di Glue Labs nella progettazione di architetture Database

Il principio che seguiamo è quello che occorra costruire e realizzare architetture consistenti, dall’alta affidabilità e disponibilità, gestibili, manutenibili ai costi più bassi possibili. Per questo motivo, quando progettiamo architetture non ci affidiamo ad un unico database ma sfruttiamo il meglio di tutti quelli che reputiamo necessari per garantire efficienza e performance ai minimi costi per i cliente.

Contattaci subito e senza impegno per una consulenza sull’architettura dei tuoi applicativi.

L’approccio ibrido ti consente di avere un’architettura scalabile, modulare e perfettamente aderente alle tue specifiche esigenze. Seguendo un approccio orientato ai nuovi paradigmi del Site Reliability Engineering(SRE) puoi concentrarti sul tuo business potendo effettuare il deploy di nuovi prodotti e funzionalità in maniera sicura, garantita e con i minimi costi. Scegliere un’unica soluzione invece ti limita e non ti permette di ottimizzare performance e costi ed inoltre di assumi il rischio di una sorta di lock-in per un prodotto che potrebbe rappresentare un problema per l’evoluzione delle tue applicazioni.

Contattaci subito e senza impegno per una consulenza sull’architettura dei tuoi applicativi.

Glue Labs e le Architetture Database

Ti forniamo formazione avanzata sull’ottimizzazione dei database e sviluppo e deploy di architetture database complesse ed in Cloud. Grazie all’esperienza maturata in tantissimi settori, con numerosi Clienti e con un solido gruppo aziendale ti garantiamo le competenze per assisterti e supportarti per qualsiasi tuo progetto di sviluppo e nella realizzazione di applicazioni business critical con garanzia 12 mesi da qualsiasi bug. Contattaci subito e senza impegno per maggiori informazioni.

Casi di Successo

Sono tante le Grandi Aziende e Società IT che usano le nostre soluzioni Formazione Avanzata e Body Rental insieme alla consulenza specializzata per migliorare i propri dipendenti, i propri servizi interni e verso terzi.

Inizia ora il tuo progetto

CONTATTI

Scrivici dal form di contatto

Tel +39 06 56549766
Fax +39 06 21122581

Mail: info@glue-labs.com
Pec: gluelabs@legalmail.it

Dove Siamo
Roma: Piazza Don Sturzo 15
Padova: Via Savonarola 217
Milano: Via Lazzaretto 19
Torino: Via V. Amedeo II 6

    Nome*

    E-mail*

    Telefono(per un contatto più rapido)

    Come possiamo aiutarti?

    Altro che vuoi dirci?

    Inviando i tuoi dati accetti le condizioni sulla privacy. Li useremo per rispondere alle tue domande e richieste.

    TOP

    Articoli