I principali fornitori di servizi cloud offrono una vasta gamma di opzioni DBaaS, tra cui sistemi di gestione di database relazionali (RDBM), nonché database non relazionali o database NoSQL, come archivi di documenti e colonne.
Per trovare il fornitore di DBaaS giusto per la tua impresa è necessario determinare quali tecnologie di database funzionino meglio per la tua applicazione e poi, naturalmente, garantire che il tuo fornitore supporti tale tecnologia. La prima metà del processo può essere complessa poiché non c'è un DBaaS unico che sia ottimale per l'uso con tutte le tue applicazioni. I compromessi ci sono sempre e talvolta possono essere sottili. Ecco alcuni fattori specifici che bisogna considerare.
Un archivio dati primario o ausiliario è più adatto alla mia applicazione?
Gli archivi di dati primari sono quelli che offrono modelli di dati flessibili, compresi i database relazionali e gli archivi di dati basati su documenti. In genere supportano linguaggi di query per scopi generali (come le varie implementazioni di SQL) e strumenti di modellazione dei dati per scopi generici. La maggior parte è stata progettata dando importanza al mantenimento dell'integrità dei dati. Sono flessibili e sono una valida scelta per l'uso con la maggior parte delle applicazioni. Esempi di archivi di dati primari includono MySQL, MongoDBe PostgreSQL.
Gli archivi di dati ausiliari, al contrario, tendono a eseguire bene alcune attività specifiche, ma non sono strumenti validi per uso generale. Possono offrire modelli di dati ridotti o capacità di query imitate, ma avranno prestazioni ottimali in una particolare area. Esempi di questo tipo includono Redis, etcd,Elasticsearch e JanusGraph. Se un database di questo tipo si adatta perfettamente alle esigenze della tua applicazione, puoi ottenere ottimi risultati utilizzando un archivio dati ausiliario, in caso contrario, utilizza un archivio dati primario.
L'architettura di base del database è adatta alle mie esigenze?
È fondamentale selezionare un motore di database che non solo è un buon abbinamento per i requisiti attuali della tua applicazione, ma che può anche scalare per soddisfare le esigenze future. I sistemi distribuiti sono più difficili da creare, gestire e mantenere rispetto ai sistemi a singolo nodo e la loro infinita scalabilità orizzontale può essere adeguata al costo delle caratteristiche disponibili o delle prestazioni.
Il database funziona bene durante i test?
Spesso non è possibile capire esattamente come le caratteristiche e le capacità di un database si adattano ai requisiti della tua applicazione senza test nel mondo reale. Perché è molto facile (e conveniente) iniziare a costruire su un'offerta di DBaaS, una parte fondamentale del processo di selezione dovrebbe essere la creazione e l'esplorazione di un prototipo. Questo ti permetterà di valutare i tempi di risposta quando la tua applicazione invierà richieste reali al database e di osservare le sue prestazioni quando affronterà il mix di operazioni e la quantità di traffico che incontrerà nell'ambiente di produzione.
Cos'altro offre il fornitore di cloud?
Poiché le offerte DBaaS in genere si integrano con una piattaforma cloud completa, è anche importante confrontare le offerte olistiche dei fornitori, che vanno oltre le caratteristiche e le funzioni del database stesso.
Dai un'occhiata a questo post del blog per ulteriori informazioni su come selezionare un database per la tua applicazione.