Hai un prodotto software? Aggiungilo gratis. Una persona lo legge e lo pubblica entro un giorno.Hai un prodotto? Aggiungilo gratis.

Aggiungi il tuo prodotto
Aggiungi un prodotto

Database

Archiviare i dati e recuperarli in fretta.

Database

Ancora nessun prodotto in questa categoria

Finora qui non c'è nulla. Se realizzi un prodotto che appartiene a questo scaffale, aggiungilo e una persona lo leggerà.

Aggiungi il tuo prodotto

Cosa c’è su questo scaffale

Posti dove tenere i dati e recuperarli in fretta: motori relazionali, document store, cache chiave-valore, indici di ricerca, store di serie temporali e i servizi gestiti che eseguono qualunque di questi per te.

La maggior parte dei team ne ha bisogno di meno di quanto suggeriscano i fornitori. Un solo database relazionale regge la maggior parte delle applicazioni a lungo, e aggiungere un secondo motore aggiunge un secondo insieme di guasti, backup e persone che lo capiscono.

L’analisi e la reportistica su quei dati appartengono ad analytics. Dove gira l’applicazione stessa è hosting e cloud.

Scegliere un motore

Parti dalla forma dei tuoi dati e dalle domande che porrai.

I motori relazionali si adattano a tutto ciò che ha relazioni, transazioni, vincoli e reportistica, che descrive la maggior parte del software aziendale.

Gli altri sono specialisti. I document store si adattano a record di forma variabile e di solito letti per intero. Gli store chiave-valore servono a dare velocità a ricerche semplici. Gli indici di ricerca esistono perché la ricerca testuale relazionale smette di bastare a una certa dimensione, e gli store di serie temporali esistono perché le metriche arrivano più in fretta di qualunque altra cosa.

Il default onesto è un motore relazionale finché qualcosa non dimostra che è insufficiente. I team che cominciano con uno store esotico per evitare un problema di scalabilità che non hanno di solito incontrano prima un problema diverso e peggiore.

La compatibilità conta più del marchio. Un motore che parla un protocollo ampiamente implementato ti dà strumenti, driver, assunzioni e una via d’uscita. Un’interfaccia proprietaria ti dà un progetto di migrazione.

Gestito, self-hosted o serverless

I servizi gestiti fanno pagare un sovrapprezzo e tolgono lavoro che altrimenti faresti in orari scomodi: patch, aggiornamenti di versione, failover, verifica dei backup.

Il self-hosting è più economico sulla carta e lo è in pratica solo quando le competenze sono già in casa. Conta le ore onestamente, comprese quelle spese la sera in cui un disco si riempie.

Le offerte serverless scalano la capacità con il carico e costano poco quando sono inattive. Va bene per il traffico irregolare, e ancora meglio per gli ambienti di sviluppo. Controlla il comportamento al cold start, i limiti di connessione e come il contatore tratta un job in background che non si ferma mai.

Le domande che decidono l’affidabilità

  • Backup: ogni quanto, per quanto tempo vengono conservati e se puoi ripristinare a un punto nel tempo a tua scelta.
  • Ripristino: quanto dura uno completo alla dimensione dei tuoi dati, collaudato e non promesso.
  • Failover: automatico o manuale, quanto richiede e cosa vede l’applicazione mentre avviene.
  • Replica: repliche di lettura, copie tra regioni e il ritardo che il tuo codice deve tollerare.
  • Connessioni: il tetto, e se il pooling è incluso o è qualcosa che devi gestire tu.

Esegui un ripristino durante la prova. Un backup che nessuno ha ripristinato è una speranza, e questa è la categoria in cui la speranza costa di più.

Crescita, migrazioni e le parti che fanno male in seguito

Le modifiche allo schema su una tabella grande sono l’operazione che rovina i fine settimana. Chiedi come il motore gestisce l’aggiunta di una colonna, il cambio di un tipo o la creazione di un indice mentre il traffico continua.

Tieni le migrazioni nel controllo di versione accanto all’applicazione fin dal primo giorno. L’alternativa, modifiche applicate a mano in una console, produce ambienti che differiscono in modi che nessuno sa ricostruire.

Occhio anche alla posizione dei dati. Un database in una regione diversa da quella dell’applicazione aggiunge latenza a ogni query, e un’applicazione che fa cinquanta query a pagina la sentirà chiaramente.

Come si compone la fattura

Calcolo, archiviazione, archiviazione dei backup, traffico in uscita e, in alcuni servizi, un’unità per letture e scritture.

Il traffico in uscita è la voce che sorprende, soprattutto quando analytics o repliche spostano grandi volumi tra regioni. L’archiviazione raramente si riduce da sola, quindi le righe eliminate possono essere pagate finché non gira la manutenzione. Le copie di sviluppo e staging raddoppiano tutto, a meno che non siano ridimensionate o fermate di notte.

Chiedi quale diventa il prezzo a tre volte il volume di oggi e non a quello di oggi, perché è il numero che pagherai davvero. Abitudini affini sono raccolte in cosa nascondono le pagine dei prezzi.

Pratiche che tengono un database noioso

L’obiettivo in questa categoria è l’assenza di drammi, e poche abitudini ne producono la maggior parte.

Tieni le migrazioni nel controllo di versione e applicale allo stesso modo in ogni ambiente. Le modifiche manuali fatte in una console producono differenze che nessuno sa ricostruire in seguito.

Aggiungi gli indici con criterio e rivedili ogni tanto, dato che quelli inutilizzati costano prestazioni in scrittura e spazio pur sembrando innocui.

Osserva le query lente come routine e non durante un incidente. La query che oggi impiega quattro secondi è l’interruzione del prossimo trimestre, quando la tabella sarà cresciuta.

E ripristina un backup a intervalli regolari. Una copia che non è mai stata ripristinata è un file, non una garanzia, e questa è la categoria in cui scoprirlo tardi costa di più.

Le domande più frequenti

Servizio gestito o self-hosted?

Il gestito costa di più al mese e meno in totale, se conti patch, aggiornamenti, backup e la notte in cui qualcuno deve restare sveglio. Il self-hosting conviene quando hai già le competenze operative e ti serve controllo sulla collocazione o sull'ottimizzazione.

Cosa significa serverless per un database?

La capacità scala con il carico e il tempo di inattività costa poco o nulla. Va bene per traffico irregolare e ambienti di sviluppo. Occhio a cold start, limiti di connessione e alla fattura quando un job in background gira in continuazione.

Come evito il vincolo con un fornitore?

Preferisci motori con un'implementazione aperta che potresti eseguire altrove, tieni le modifiche allo schema in file di migrazione e prova una volta un ripristino su un'istanza semplice. Le estensioni proprietarie sono la parte che rende in silenzio costoso andarsene.

Dove deve stare il database rispetto all'applicazione?

Nella stessa regione, idealmente nella stessa zona. Pochi millisecondi per query diventano secondi per pagina quando un'applicazione ne fa cinquanta, e nessuna cache nasconde un primario collocato male.

Come si calcola di solito il prezzo?

Calcolo, archiviazione, backup, traffico in uscita e a volte unità di lettura, fatturati separatamente. Traffico in uscita e replica tra regioni sono le due voci che risultano più grandi del previsto nel primo mese pieno.