Un blog come https://neo4j.com/blog/acid -spiegazione dei modelli-di-consistenza-vs-base/ spiega BASE in questo modo:
Questo livello di equivoco non suona molto affidabile, vero? Scambiano disponibilità e coerenza per ottenere prestazioni e scalabilità.
Questo va bene se stai eseguendo un servizio che tollera dati non corrispondenti o dati obsoleti, o che va bene con una piccola quantità di perdita di dati di tanto in tanto. Se questi problemi sono un evento raro, ma ottieni prestazioni superiori quasi sempre, è molto interessante. E, cosa più importante, si dimostra bene.
Ma se devi eseguire un servizio con requisiti rigorosi per l'integrità dei dati, non va bene. Se la perdita anche di un solo record di dati ti mette nei guai con gli auditor, o se non riesci a leggere in modo affidabile i dati che hai appena commesso un momento prima perché quel commit richiede tempo per propagarsi a tutti i nodi del tuo cluster, potrebbe essere un rompicapo .
Quindi quale archivio dati scegliere dipende dai requisiti della tua app. Solo tu puoi giudicare se la disponibilità e la coerenza rilassate di un datastore BASE sono sufficienti per le esigenze della tua app.