library · tech brief

Perché ogni vivaio ha il suo database.

La maggior parte dei software cloud raccoglie in silenzio tutti i clienti in un unico enorme database condiviso, separati solo da una colonna che indica a chi appartiene ciascuna riga. L'approccio single-tenant fa la scelta opposta: un'azienda, un database, senza eccezioni. Costa di più gestirlo. Ecco perché può essere la scelta giusta per un sistema che custodisce un'intera attività.

la decisione

Un'azienda, un database. Senza eccezioni.

I tuoi dati, il tuo database. Un sistema single-tenant non mescola mai due aziende dentro lo stesso database. È la fondazione su cui poggia tutto il resto.

la strada che quasi tutti i software prendono

La tabella condivisa che usano quasi tutti.

La maggior parte dei software-as-a-service è costruita in modo multi-tenant: i dati di ogni cliente convivono fianco a fianco in un unico enorme database condiviso, separati solo da una colonna tenant_id che indica a chi appartiene ciascuna riga. È più economico da gestire e più rapido da rilasciare: un solo database da mantenere, una sola copia di tutto per tutti.

Significa anche che i tuoi prezzi, la tua lista clienti e i tuoi margini stanno nelle stesse tabelle di altre cento aziende, compreso, molto probabilmente, il tuo concorrente dietro l'angolo. Il muro che vi separa è un singolo valore in una singola colonna. Quasi sempre quel muro regge. Ma "quasi sempre" pesa parecchio in quella frase: una query sbagliata, un filtro dimenticato, un bug nella funzione di qualcun altro, e la separazione che era solo logica può lasciar filtrare i dati.

I sistemi single-tenant prendono una strada diversa di proposito. Ogni copia in esecuzione, spesso chiamata istanza, appartiene a una sola azienda, e i suoi dati vivono nel proprio database. La separazione non è una colonna di cui fidarti; è fisica.

I tuoi numeri non finiscono mai nel mucchio con quelli di altri.

isolamento reale

I tuoi numeri non finiscono mai nel mucchio con quelli di altri.

I coltivatori sono giustamente gelosi dei propri prezzi, dei propri clienti e dei propri margini: quelle informazioni sono l'azienda. Quando ogni tenant ha il suo database, non c'è nessuna tabella condivisa da cui possano filtrare, e niente di tuo che stia accanto ai dati di un concorrente.

È la storia del single-tenant raccontata come promessa di privacy invece che come diagramma di architettura: i tuoi dati commerciali restano tuoi e non sono mai a una clausola WHERE dimenticata dall'essere visibili a un'azienda a cui non erano destinati. Una separazione su cui puoi ragionare, perché è reale e non condizionata.

Un sistema che si piega al tuo vivaio.

modellato su di te

Un sistema che si piega al tuo vivaio.

Un ERP contiene l'intera forma di un'azienda, e non esistono due vivai fatti allo stesso modo: un produttore all'ingrosso, un garden center e un venditore online vogliono cose diverse dallo stesso software. Quando ogni azienda ha la sua istanza, la tua può essere regolata su come lavori davvero senza che quel cambiamento si propaghi a nessun altro.

Una fondazione single-tenant permette di plasmare la configurazione di un'azienda su come lavora, mentre quella di ogni altro cliente resta esattamente com'era. Nessuna configurazione va negoziata contro quella di tutti gli altri.

la parte onesta

Costa di più. Ecco perché può valerne la pena.

Un database per tenant è più infrastruttura da predisporre, gestire e salvare di quanto lo sarebbe mai una sola tabella condivisa. Non c'è modo di far finta di niente. La domanda è quando vale la pena pagare quel conto.

C'è un costo reale in questa decisione, ed è giusto dirlo. Dare a ogni cliente il suo database significa predisporre e mantenere molti database invece di uno, salvarne il backup separatamente e portare più peso operativo per ogni azienda di quanto farebbe mai un sistema a tabella condivisa. Il multi-tenant è l'architettura più economica, ed è esattamente per questo che la maggior parte dei software la sceglie.

Le ragioni a favore della strada più costosa poggiano su cos'è davvero un ERP. Non è uno strumento per newsletter o un widget di prenotazioni, dove un database condiviso è una scommessa ragionevole. È il sistema di riferimento di un'intera attività: lo stock, i clienti, i prezzi, i soldi, tutto quanto. Per qualcosa che custodisce così tanto di un'azienda, un isolamento reale, una configurazione modellata su di essa e un guasto che resta circoscritto valgono più del risparmio di stipare tutti su un'unica tabella.

Un problema in un'istanza resta lì.

un raggio d'impatto più piccolo

Un problema in un'istanza resta lì.

Quando tutti condividono un solo database, tutti condividono anche le sue giornate storte. Un report pesante lanciato da un'azienda, una migrazione andata male, una corruzione in un punto: tutto può propagarsi a ogni cliente in una volta sola, perché c'è un solo posto in cui può accadere.

Istanze separate contengono tutto questo. Ogni azienda è un sistema autonomo a sé stante, così un guasto, una correzione o un carico di lavoro pesante in una non si riversa nella tua. Il raggio d'impatto di quasi tutto ciò che può andare storto si restringe da "tutti" a "uno", e quell'uno non sei mai tu per via di qualcosa fatto da un estraneo.

Un database è una cosa che si può consegnare.

un oggetto intero

Un database è una cosa che si può consegnare.

Ogni fornitore ti prometterà indietro i tuoi dati. Quello che decide se la promessa può essere mantenuta è la forma dell'archivio che ci sta dietro. Ritagliare una singola azienda da una tabella condivisa è un progetto: va concordato, messo in calendario e consegnato alla fedeltà che sceglie il fornitore. Copiare un database è un pomeriggio di lavoro.

È il dividendo pratico dell'architettura. I tuoi dati sono un oggetto distinto con il tuo nome sopra, completo e verificabile, invece di una fetta filtrata di un database che condividi con estranei.

atlas core

Come Atlas Core dà a ogni vivaio il suo database

Atlas Core è single-tenant per progettazione: un vivaio, un'istanza, un database.

  • Isolamento fisico dei dati per ogni vivaio. I tuoi prezzi, la tua lista clienti e i tuoi margini vivono nel loro database, mai in una tabella condivisa accanto a un altro coltivatore o a un concorrente dietro l'angolo.
  • Un'istanza modellata sulla tua attività. Produttore all'ingrosso, garden center o venditore online, il sistema mostra solo i moduli che corrispondono a ciò che fai, e la tua configurazione non va negoziata con quella degli altri clienti.
  • Un raggio d'impatto più piccolo. Un report stagionale pesante, una migrazione fallita o un problema ai dati nell'istanza di un vivaio resta contenuto lì e non si propaga a ogni cliente in una volta sola.
  • Proprietà come oggetto verificabile. I tuoi dati sono un database intero, che si può copiare e consegnare, perché non sono mai stati ammassati con quelli di nessun altro.
  • Una privacy su cui puoi ragionare. Una separazione fisica, invece che a una clausola WHERE dimenticata nella funzione di qualcun altro dal lasciar filtrare i dati.

Continua a leggere

I tuoi numeri, in un database tutto loro.

Un'azienda, un database: isolamento reale, un raggio d'impatto più piccolo e una configurazione modellata sul tuo vivaio. Parlaci di come Atlas Core si adatta al tuo modo di lavorare.