Skip to content

shtannikov/db-anomalies

Repository files navigation

General

The main goal of this repo is to compare MS SQL and PostgreSQL in terms of anomalies and, as a result, better understand the key differences between Locking-Based Concurrency Control and Multiversion Concurrency Control.

Getting Started

This repo provides a zero-setup playground in GitHub Codespaces. With just one click, you can dive into experiments without the need for manual database configuration.

Open in GitHub Codespaces

How It Works

  1. Click the button above.

  2. Codespace will launch, automatically preparing all required databases and environment configurations for you.

    👉 It may take up to two minutes to prepare everything the first time 👈

  3. Start experimenting with the provided SQL scripts directly in your browser

Repository Structure

Each folder in this repository corresponds to a specific database anomaly. Inside, you'll find:

  • Documentation: A brief explanation of the anomaly.
  • SQL scripts: reproducible examples for both MS SQL and PostgreSQL.

Demo

demo.mp4

References

This repository draws inspiration from the following article, which provides excellent insights into database anomalies: