What is MVCC (Multi-version concurrency control)?

A method used to achieve both performant concurrent access and strict isolation level. The idea is to give each transaction a unique versioned view of the data, thus each transaction can operate on their own. Only at the commit phase, the database system will perform the resolution, the conflict might arise at this point and may cause the transaction to abort. However, the assumption is such scenario is less likely to happen and that's why MVCC is referred as optimistic concurrency control. A classic saying for MVCC is 'Reads do not block Writes, writes do not block Reads'.

External reference

Database schema migration and version control, Database CI/CD, and DevOps for developers and DBAs

Bytebase is an open source, web-based database schema change and version control tool for teams. It offers a web-based collaboration workspace to help DBAs and Developers manage the lifecycle of application database schemas.

  • MySQL
  • PostgreSQL
  • Snowflake
  • Oracle
  • SQL Server
  • MongoDB
  • Redis
  • Redshift
  • ClickHouse
  • TiDB
  • OceanBase
  • Spanner
  • MariaDB
  • GitLab
  • GitHub
  • Bitbucket
  • Azure DevOps
  • Terraform


Subscribe to Newsletter

By subscribing, you agree with Bytebase's Terms of Service and Privacy Policy.