
C'è molto da dire sulla gestione di un database MongoDB nel cloud. È possibile avere cluster di server online, rapidamente, e tutta la rete è gestita e sicura. Tutti gli utenti possono essere collegati e i backup sono automatizzati. Un servizio come Atlas è ottimo per questo genere di cose. Ma ci sono momenti in cui si può desiderare di installare il proprio MongoDB locale e ci sono buone ragioni per farlo. Eccone cinque:
1: Libero senza limiti
Molti database cloud offrono un livello gratuito. Il livello gratuito di solito ha dei limiti. Prendiamo il livello gratuito M0 di MongoDB Atlas, dove le limitazioni iniziano con una capacità di archiviazione massima di 512 MB e includono una serie di restrizioni perché il database è su una piattaforma condivisa. Se si installa il proprio MongoDB in locale, gli unici limiti sono rappresentati dalla quantità di spazio su disco e di RAM disponibili per l'esecuzione del database.
2: Non è necessario essere online
Può sembrare ovvio, ma un database nel cloud significa che dovete essere online su Internet per connettervi. Se siete in viaggio o lavorate in un luogo con una connettività limitata, questo può essere un problema. Peggio ancora se la connettività è a pagamento e la tariffa è elevata. Ogni ricerca e ogni serie di risultati vi costerà denaro.
3: zero ritardo
Quando si utilizza un database cloud, entra in gioco anche la latenza di Internet, che comporta millisecondi in più per ogni singola interrogazione effettuata da un'applicazione. Sebbene sia difficile individuare questo ritardo in un'applicazione GUI guidata dall'utente come Studio 3T, il ritardo sarà sempre presente (a meno che il 5G non funzioni come promesso... no, non trattenete il respiro).
4: Veloce come la macchina locale
L'esecuzione del database in locale significa che tutta la potenza della CPU locale è disponibile per le attività più intensive. I database cloud condivisi devono essere, per loro stessa natura, dei buoni vicini per gli altri database in esecuzione sugli stessi host. Quindi ci saranno dei limiti ragionevoli. Oppure si noterà che di tanto in tanto le prestazioni calano quando qualcun altro esegue un'attività ad alta intensità di calcolo. Quando si esegue in locale, si è solo in competizione per le risorse.
5: Replica libera
A meno che non si utilizzi qualcosa come Docker e si configuri un mini-cluster locale, il MongoDB locale sarà una singola istanza di MongoDB. Ciò significa che non dovrà replicare i dati su un'altra istanza di MongoDB per renderla altamente disponibile. E questo a sua volta significa più risorse libere da utilizzare per le vostre applicazioni.
A chi è utile questo MongoDB locale?
- Chiunque si occupi di sviluppo e non abbia bisogno di collegarsi ai sistemi di produzione. (Studio 3T può aiutare a fornire anche a loro dati di test reali attraverso l'uso del Data Masking).
- Chiunque desideri elaborare dati normalmente critici per la produzione, senza influire sul processo di produzione. Studio 3T può aiutare a esportare tali dati nel database locale utilizzando le sue funzioni di esportazione).
- o chi ha bisogno di un database ma è lontano da internet
- e anche tutti coloro che hanno bisogno di un efficace database locale gratuito
Ma... il caso contro MongoDB locale
Naturalmente ci sono delle avvertenze.
- Produzione - MongoDB sarà sempre un cluster di tre o più macchine che eseguono MongoDB. L'esecuzione di un MongoDB locale indipendente è ottima per le prestazioni, ma è tutto qui.
- Replicazione, latenza e altre persone - se state sviluppando su un MongoDB indipendente, non aspettatevi le stesse prestazioni quando spostate la vostra applicazione sul cloud. Il cluster di produzione effettuerà la replica, sarà remoto e ci sarà latenza; inoltre, se state andando in produzione su una piattaforma condivisa, ci saranno altre persone in competizione per le risorse. Non è un motivo per non costruire in locale, ma più che altro per assicurarsi di fare dei test nel cloud per verificare che non si sia fatto un po' troppo affidamento sulle prestazioni.
- Assenza di backup - A meno che non siate ben organizzati e facciate il backup del vostro computer portatile o desktop, è probabile che non ci sia alcun backup del vostro database. Se i dati vengono accidentalmente danneggiati o cancellati, dovrete ricrearli.
- Nessuna funzionalità come la crittografia a riposo e altre opzioni enterprise - Supponendo che si scelga l'edizione Community di MongoDB, non sarà possibile utilizzare le varie funzionalità enterprise ma, detto questo, la maggior parte di esse sono funzionalità operative/di distribuzione per grandi implementazioni.
- Sicurezza: ne siete responsabili sulla vostra macchina locale. Quando si installa MongoDB, questo si lega solo all'host locale, ma attenzione! Se ci si lega a un indirizzo IP per dare a terzi l'accesso a MongoDB, si apre un problema: bisogna assicurarsi di avere utenti e autenticazione per gestire le connessioni in entrata.
Infine
Se avete deciso di passare al locale, negli articoli che seguono troverete tutti i dettagli per l'installazione:
- Come installare un MongoDB locale su macOS e connettersi a Studio 3T
- Windows 11: come installare MongoDB con Studio 3T
Sarete quindi pronti a importare i dati e a eseguire interrogazioni, aggregazioni e a sfruttare al meglio MongoDB con Studio 3T.
Questo articolo è stato scritto originariamente da Dj Walker-Morgan e pubblicato sul blog di Studio 3T.