phoenixnap.com Open in urlscan Pro
2606:4700:10::6816:3779  Public Scan

URL: https://phoenixnap.com/kb/acid-vs-base
Submission: On January 14 via api from US — Scanned from DE

Form analysis 3 forms found in the DOM

GET https://phoenixnap.com/kb/

<form role="search" method="get" id="searchform" class="searchform" action="https://phoenixnap.com/kb/">
  <div> <label class="screen-reader-text" for="s">Search for:</label> <input type="text" value="" name="s" id="s"> <input type="submit" id="searchsubmit" value="Search"> </div>
</form>

GET https://phoenixnap.com/kb/

<form class="searchform-wrapper-modal" id="searchform" method="get" action="https://phoenixnap.com/kb/">
  <input type="text" class="search-field-modal" name="s" placeholder="Search..." value="" autofocus="">
  <input type="submit" id="submit-button-modal" class="submit-button-modal" value="Search">
  <div id="innericon-modal" class="innericon-modal">
    <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="22px" height="28px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
      <path id="magnifier-2-icon"
        d="M460.355,421.59L353.844,315.078c20.041-27.553,31.885-61.437,31.885-98.037                    C385.729,124.934,310.793,50,218.686,50C126.58,50,51.645,124.934,51.645,217.041c0,92.106,74.936,167.041,167.041,167.041                    c34.912,0,67.352-10.773,94.184-29.158L419.945,462L460.355,421.59z M100.631,217.041c0-65.096,52.959-118.056,118.055-118.056                    c65.098,0,118.057,52.959,118.057,118.056c0,65.096-52.959,118.056-118.057,118.056C153.59,335.097,100.631,282.137,100.631,217.041                    z">
      </path>
    </svg>
  </div>
</form>

GET https://phoenixnap.com/kb/

<form class="searchform-wrapper-modal" id="searchform" method="get" action="https://phoenixnap.com/kb/">
  <input type="text" class="search-field-modal" name="s" placeholder="Search..." value="">
  <button type="submit" id="submit-button" class="submit-button-modal" value="">
    <div id="innericon" class="innericon-modal">
      <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="22px" height="28px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
        <path id="magnifier-2-icon"
          d="M460.355,421.59L353.844,315.078c20.041-27.553,31.885-61.437,31.885-98.037                    C385.729,124.934,310.793,50,218.686,50C126.58,50,51.645,124.934,51.645,217.041c0,92.106,74.936,167.041,167.041,167.041                    c34.912,0,67.352-10.773,94.184-29.158L419.945,462L460.355,421.59z M100.631,217.041c0-65.096,52.959-118.056,118.055-118.056                    c65.098,0,118.057,52.959,118.057,118.056c0,65.096-52.959,118.056-118.057,118.056C153.59,335.097,100.631,282.137,100.631,217.041                    z">
        </path>
      </svg>
    </div>
  </button>
</form>

Text Content

 * Call
   * Support
   * Sales
 * Login
   * Bare Metal Cloud
   * Channel Partners
   * Billing Portal
 * Partners

 * PHOENIXNAP HOME
 * PRODUCTS
   * Colocation
     Premier Carrier Hotel
     * Colocation
       Overview
     * Data Center as a Service
       Solutions for Digital Transformation
     * Hardware as a Service
       Flexible Hardware Leasing
     * Meet-Me Room
       The Interconnectivity Hub
     * Schedule a Tour
       Guided Virtual Data Center Tour
     * Data Center Locations
       Global Data Center Footprint
   * Bare Metal Cloud
     API-Driven Dedicated Servers
     * Platform
       Overview
     * Rancher Deployment
       One-Click Kubernetes Deployment
     * Intel Xeon E-2300
       Entry-Level Servers
     * 4th Gen Intel Xeon Scalable CPUs
       Boost Data-Intensive Workloads
     * Alliances
       Technology Partnerships
     * Object Storage
       S3-Compatible Storage Solution
   * Dedicated Servers
     Single-Tenant Physical Machines
     * Dedicated Servers
       Overview
     * FlexServers
       Vertical CPU Scaling
     * Intel Xeon-E Servers
       Intel Xeon 2200 Microarchitecture
     * GPU Servers
       Servers with NVIDIA Tesla GPUs
     * Dedicated Servers vs. BMC
       Compare Popular Platforms
     * Promotions
       See Available Discounts
     * Buy Now
       See All Servers
   * Cloud
     Custom Cloud Solutions
     * Managed Private Cloud (MPC)
       Highly Customizable Cloud
     * Data Security Cloud
       Secure-By-Design Cloud
     * Hybrid Cloud
       Multi-Platform Environment
     * Edge Computing
       Globally Distributed Servers
     * Object Storage
       S3 API Compatible Storage Service
     * Bare Metal Cloud
       API-Driven Dedicated Servers
     * Alternative Cloud Provider
       Overcome Public Cloud Limitations
   * Backup & Restore
     Backup and DRaaS
     * Backup Solutions
       Veeam-Powered Services
     * Disaster Recovery
       VMware, Veeam, Zerto
     * Veeam Cloud Connect
       Backup and Replication
     * Managed Backup for Microsoft 365
       Veeam-Powered Service
   * Security
     Security Services
     * Data Security Cloud
       Secure-by-Design Cloud
     * Encryption Management Platform (EMP)
       Cryptographic Key Management
     * Confidential Computing
       Data-in-Use Encryption
     * Ransomware Protection
       Data Protection and Availability
     * DDoS Protection
       Network Security Features
 * CONTACT SUPPORT
 * NETWORK
   * Network Overview
     Global Network Footprint
   * Network Locations
     U.S., Europe, APAC, LATAM
   * Speed Test
     Download Speed Test
 * LEARN
   * Blog
     IT Tips and Tricks
   * Glossary
     IT Terms and Definitions
   * Resource Library
     Knowledge Resources
   * Events
     Let's Meet!
   * Newsroom
     Media Library
   * Developers
     Development Resources Portal
   * APIs
     Access Our Public APIs
   * GitHub
     Public Code Repositories
 * Search for:




ACID VS. BASE: COMPARISON OF DATABASE TRANSACTION MODELS

November 25, 2020
acidnosql



Home » Databases » ACID vs. BASE: Comparison of Database Transaction Models

Contents
 1. ACID vs. BASE: What are the differences?
 2. ACID Model
    1. ACID Use Case Example
    2. Which Databases are ACID compliant?
 3. The BASE Model
    1. BASE Use Case Example
    2. Which Databases are Using the BASE Model?
 4. ACID vs. BASE: Which One is Good for You?

Contents
 1. ACID vs. BASE: What are the differences?
 2. ACID Model
    1. ACID Use Case Example
    2. Which Databases are ACID compliant?
 3. The BASE Model
    1. BASE Use Case Example
    2. Which Databases are Using the BASE Model?
 4. ACID vs. BASE: Which One is Good for You?

Introduction

Deciding on the right database management system (DBMS) can be a difficult task.
The number of available options is huge. Before you start searching for an
adequate database solution, consider your requirements.

A recommended first step in this process is to choose a database transaction
model. This is a set of rules which determine how a database organizes, stores,
and manipulates data.

In this article you will learn about the two most popular database transaction
models: ACID and BASE.




ACID VS. BASE: WHAT ARE THE DIFFERENCES?

The CAP theorem states that it is impossible to achieve both consistency and
availability in a partition tolerant distributed system (i.e., a system which
continues to work in cases of temporary communication breakdowns).

The fundamental difference between ACID and BASE database models is the way they
deal with this limitation.

 * The ACID model provides a consistent system.
 * The BASE model provides high availability.

To provide further insight, we will discuss each of the models separately and
then compare them.


ACID MODEL

The ACID database transaction model ensures that a performed transaction is
always consistent. This makes it a good fit for businesses which deal with
online transaction processing (e.g., finance institutions) or online analytical
processing (e.g., data warehousing). These organizations need database systems
which can handle many small simultaneous transactions. There must be zero
tolerance for invalid states.

To explain the ACID model, it is best to start by breaking apart the acronym in
its name.



ACID stands for:

 * Atomic – Each transaction is either properly carried out or the process halts
   and the database reverts back to the state before the transaction started.
   This ensures that all data in the database is valid.
 * Consistent – A processed transaction will never endanger the structural
   integrity of the database.
 * Isolated – Transactions cannot compromise the integrity of other transactions
   by interacting with them while they are still in progress.
 * Durable – The data related to the completed transaction will persist even in
   the cases of network or power outages. If a transaction fails, it will not
   impact the manipulated data.


ACID USE CASE EXAMPLE

Financial institutions will almost exclusively use ACID databases. Money
transfers depend on the atomic nature of ACID.

An interrupted transaction which is not immediately removed from the database
can cause a lot of issues. Money could be debited from one account and, due to
an error, never credited to another.


WHICH DATABASES ARE ACID COMPLIANT?

One safe way to make sure your database is ACID compliant is to choose a
relational database management system. These include MySQL, PostgreSQL, Oracle,
SQLite, and Microsoft SQL Server.

Some NoSQL DBMSs, such as Apache’s CouchDB or IBM’s Db2, also possess a certain
degree of ACID compliance. However, the philosophy behind the NoSQL approach to
database management goes against the strict ACID rules. Hence, NoSQL databases
are not the recommended choice for those who need strict environments.

Note: To better understand relational database models and NoSQL databases, read
our article SQL vs NoSQL: The Main Differences.


THE BASE MODEL

The rise of NoSQL databases provided a flexible and fluid way to manipulate
data. As a result, a new database model was designed, reflecting these
properties.

The acronym BASE is slightly more confusing than ACID. However, the words behind
it suggest ways in which the BASE model is different.



BASE stands for:

 * Basically Available – Rather than enforcing immediate consistency,
   BASE-modelled NoSQL databases will ensure availability of data by spreading
   and replicating it across the nodes of the database cluster.
 * Soft State – Due to the lack of immediate consistency, data values may change
   over time. The BASE model breaks off with the concept of a database which
   enforces its own consistency, delegating that responsibility to developers.
 * Eventually Consistent – The fact that BASE does not enforce immediate
   consistency does not mean that it never achieves it. However, until it does,
   data reads are still possible (even though they might not reflect the
   reality).


BASE USE CASE EXAMPLE

Marketing and customer service companies who deal with sentiment analysis will
prefer the elasticity of BASE when conducting their social network research.
Social network feeds are not well structured but contain huge amounts of data
which a BASE-modeled database can easily store.


WHICH DATABASES ARE USING THE BASE MODEL?

Just as SQL databases are almost uniformly ACID compliant, NoSQL databases tend
to conform to BASE principles. MongoDB, Cassandra and Redis are among the most
popular NoSQL solutions, together with Amazon DynamoDB and Couchbase.

Note: To learn more about NoSQL databases, read about NoSQL database types.


ACID VS. BASE: WHICH ONE IS GOOD FOR YOU?

It is not possible to give a straight answer to the question of which database
model is better. Therefore, a decision must be reached by considering all the
aspects of the project.

Given their highly structured nature, ACID-compliant databases will be a better
fit for those who require consistency, predictability, and reliability.

Those who consider growth to be among their priorities will likely want to
choose the BASE model, because it enables easier scaling up and provides more
flexibility. However, BASE also requires developers who will know how to deal
with the limitations of the model.

Conclusion

After reading this article, you should be able to understand the underlying
logic behind ACID and BASE database transaction models, as well as have a better
sense of their differences. All this should give you a better starting point for
deciding on which DBMS you will eventually decide to adopt.

Was this article helpful?
YesNo

Share on X (Twitter) Share on Facebook Share on LinkedIn Share on Email
Marko Aleksic
Marko Aleksić is a Technical Writer at phoenixNAP. His innate curiosity
regarding all things IT, combined with over a decade long background in writing,
teaching and working in IT-related fields, led him to technical writing, where
he has an opportunity to employ his skills and make technology less daunting to
everyone.
Next you should read
Databases
SQL vs NoSQL: What's the Difference?
August 25, 2020

--------------------------------------------------------------------------------

There are two main types of database solutions: SQL and NoSQL. In this article,
you will learn the key...
Read more
Bare Metal Servers Databases Web Servers
What Is NoSQL Database? NoSQL Explained
June 17, 2020

--------------------------------------------------------------------------------

The article provides a detailed explanation of what a NoSQL database is and how
it differs from relational...
Read more
Databases DevOps and Development
NoSQL Database Types
June 10, 2020

--------------------------------------------------------------------------------

NoSQL databases are an alternative to the traditional SQL databases. They are
more flexible, scalable and...
Read more
Databases DevOps and Development
Cassandra vs MongoDB - What are the Differences?
April 27, 2020

--------------------------------------------------------------------------------

Learn about the difference between Cassandra and MongoDB. These NoSQL databases
have some similarities, but...
Read more

RECENT POSTS
 * What Is a Database Schema?
 * How to Create a New Branch in Git
 * Cron Expressions Explained
 * How to Fix Could not get lock /var/lib/dpkg/lock Error on Ubuntu
 * How to Install FTP Server on Ubuntu with vsftpd

CATEGORIES
 * SysAdmin
 * Virtualization
 * DevOps and Development
 * Security
 * Backup and Recovery
 * Bare Metal Servers
 * Web Servers
 * Networking
 * Databases

COLOCATION
 * Phoenix
 * Ashburn
 * Amsterdam
 * Atlanta
 * Belgrade
 * Singapore

PROMOTIONS
SERVERS
 * Dedicated Servers
 * Database Servers
 * Virtualization Servers
 * High Performance Computing (HPC) Servers
 * Dedicated Streaming Servers
 * Dedicated Game Servers
 * Dedicated Storage Servers
 * SQL Server Hosting
 * Dedicated Servers in Amsterdam
 * Cloud Servers in Europe
 * Big Memory Infrastructure

BUY NOW
CLOUD SERVICES
 * Data Security Cloud
 * VPDC
 * Managed Private Cloud
 * Object Storage

SERVERS
 * Disaster Recovery
 * Web Hosting Reseller
 * SaaS Hosting

INDUSTRIES
 * Web Hosting Providers
 * Legal
 * MSPs & VARs
 * Media Hosting
 * Online Gaming
 * SaaS Hosting Solutions
 * Ecommerce Hosting Solutions

COMPLIANCE
 * HIPAA Ready Hosting
 * PCI Compliant Hosting

NEEDS
 * Disaster Recovery Solutions
 * High Availability Solutions
 * Cloud Evaluation

COMPANY
 * About Us
 * GitHub
 * Blog
 * RFP Template
 * Careers

CONNECT
 * Events
 * Press
 * Contact Us

 * PhoenixNAP Home
 * Blog
 * Resources
 * Glossary
 * GitHub
 * RFP Template


 *  Live Chat
 *  Get a Quote
 *  Support | 1-855-330-1509
 *  Sales | 1-877-588-5918


 * Contact Us
 * Legal
 * Privacy Policy
 * Terms of Use
 * DMCA
 * GDPR
 * Sitemap

Privacy Center Do not sell or share my personal information
 * Contact Us
 * Legal
 * Privacy Policy
 * Terms of Use
 * DMCA
 * GDPR
 * Sitemap

© 2022 Copyright phoenixNAP | Global IT Services. All Rights Reserved.

Live Chat ↗


searchtwitterfacebooklinkedinchevron-circle-upyoutube-playinstagram