Een blog zoals https://neo4j.com/blog/acid -vs-base-consistency-models-explained/ legt BASE op deze manier uit:
Dit niveau van dubbelzinnigheid klinkt niet erg betrouwbaar, toch? Ze ruilen beschikbaarheid en consistentie in om prestaties en schaalbaarheid te verbeteren.
Dit is prima als u een service uitvoert die tolerant is voor niet-overeenkomende gegevens of verouderde gegevens, of die af en toe een kleine hoeveelheid gegevensverlies kan verdragen. Als deze problemen zelden voorkomen, maar u bijna altijd superieure prestaties krijgt, is dat zeer aantrekkelijk. En nog belangrijker, het demonstreert goed.
Maar als je een service moet draaien met strikte eisen voor data-integriteit, is dat niet goed. Als u door het verliezen van zelfs maar één gegevensrecord in de problemen komt met auditors, of als u gegevens die u net een moment eerder hebt vastgelegd niet betrouwbaar kunt lezen omdat die vastlegging tijd nodig heeft om zich naar alle knooppunten van uw cluster te verspreiden, kan dit een deal-breaker zijn .
Welke gegevensopslag u moet kiezen, hangt dus af van de vereisten van uw app. Alleen jij kunt beoordelen of de ontspannen beschikbaarheid en consistentie van een BASE-datastore voldoende is voor de behoeften van je app.