awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
cmu-db avatar

cmu-db/bustub

0
View on GitHub↗
15445.courses.cs.cmu.edu↗

Bustub

This is an educational relational database engine used in Carnegie Mellon University's database systems course. Students learn internals by implementing core components of a working database, including storage, indexing, concurrency control, and crash recovery.

The system covers key database architecture: a B+ tree index for fast key-based lookups and range scans, a disk-oriented buffer pool that caches pages from disk, an iterator-based query execution model that composes physical operators, page-based storage for records, two-phase locking for coordinating concurrent transactions, and write-ahead logging to ensure durability and recoverability after failures.

It also provides an interactive SQL shell for executing queries against a relational schema, concurrent transaction management with ACID guarantees, and crash recovery via logging and checkpoint techniques—giving students a complete hands-on environment for building and experimenting with database internals.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Database Internals - Teaches database internals by having students build core components like buffer pools, B+ trees, and query execution.
  • Concurrent Read-Write Transactions - Coordinates multiple client operations to preserve data consistency with ACID properties and concurrency control.
  • Page-Based Storage - Organises database records into fixed-size pages that are the unit of transfer between disk and buffer pool.
  • Two-Phase Locking Protocols - Coordinates concurrent transactions by acquiring locks in a growing phase and releasing in a shrinking phase.
  • Reactive SQL Query Execution - Parses and executes SQL statements against a relational schema with support for multiple query types.
  • Educational Database Systems - Serves as an educational relational database engine for teaching internals through hands-on implementation.
  • SQL Query Execution Engines - Parses and executes SQL statements against a relational schema to retrieve or modify data.
  • B+ Tree Indexing - Implements a B+ tree index for fast key-based lookups and efficient range scans.
  • Write-Ahead Logging - Ensures transaction durability by recording changes to a log before writing data pages to disk.
  • Database Crash Recovery - Restores database consistency after crashes using write-ahead logging and checkpoint-based recovery.
  • Database Crash Recovery - Restores database consistency after failures using write-ahead logging and checkpoint-based recovery.
  • Database Query Execution Iterators - Implements an iterator-based query execution model that composes physical operators into a pull-based tree.
  • Database Concurrency Control - Manages concurrent transactions with ACID guarantees through locking and isolation protocols.
  • Database Buffer Pools - Ships a disk-oriented buffer pool that caches pages from disk to minimize I/O operations.
  • Interactive SQL Executors - Provides an interactive command-line interface for executing SQL queries and viewing results in real time.
  • Interactive Shells - Provides an interactive command-line interface for typing SQL commands and viewing results in real time.
4,861 stars·2,004 forks·C++·mit·41 views

Star history

Star history chart for cmu-db/bustubStar history chart for cmu-db/bustub

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does cmu-db/bustub do?

This is an educational relational database engine used in Carnegie Mellon University's database systems course. Students learn internals by implementing core components of a working database, including storage, indexing, concurrency control, and crash recovery.

What are the main features of cmu-db/bustub?

The main features of cmu-db/bustub are: Database Internals, Concurrent Read-Write Transactions, Page-Based Storage, Two-Phase Locking Protocols, Reactive SQL Query Execution, Educational Database Systems, SQL Query Execution Engines, B+ Tree Indexing.

Which projects share features with cmu-db/bustub?

Projects with overlapping indexed features include: oceanbase/miniob — MiniOB is an open-source educational relational database kernel designed for learning the internals of database… qnjr-group/easytransaction — EasyTransaction is a distributed transaction framework that coordinates data consistency and failover across… cberner/redb — redb is an embedded key-value store and ACID-compliant storage engine. It functions as a persistent storage system for… memgraph/memgraph — Memgraph is an in-memory, distributed graph database designed for high-performance labeled property graph management.… h2database/h2database — H2 is a JDBC-compliant relational database management system written in Java. It functions as an embeddable SQL… embarcadero/dev-cpp — Dev-Cpp is a comprehensive development suite that serves as a C++ integrated development environment, a cross-platform…

Projects sharing features with Bustub

These projects share indexed features with Bustub. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • oceanbase/minioboceanbase avatar

    oceanbase/miniob

    4,318View on GitHub↗

    MiniOB is an open-source educational relational database kernel designed for learning the internals of database systems. It implements a dual-engine storage architecture combining B+ Tree and LSM-Tree, supports SQL parsing and query execution, and provides transactional processing with multi-version concurrency control. The system communicates with clients using the MySQL wire protocol and includes a vector database extension for storing and querying high-dimensional vectors. The project distinguishes itself through its comprehensive coverage of core database concepts in a single, learnable c

    C++classroomcplusplusdatabase
    View on GitHub↗4,318
  • qnjr-group/easytransactionQNJR-GROUP avatar

    QNJR-GROUP/EasyTransaction

    2,356View on GitHub↗

    EasyTransaction is a distributed transaction framework that coordinates data consistency and failover across independent microservices. It implements unified patterns such as SAGA, Try-Confirm-Cancel, and reliable messaging to handle multi-service operations and failures safely. The framework combines diverse transaction styles and nests operations to manage complex workflows without relying on central coordinators. It includes an automatic compensation engine that executes reverse operations and rollback workflows sequentially when downstream failures occur, alongside an automated crash reco

    Javabasedistributed-transactionsaga
    View on GitHub↗2,356
  • cberner/redbcberner avatar

    cberner/redb

    4,248View on GitHub↗

    redb is an embedded key-value store and ACID-compliant storage engine. It functions as a persistent storage system for saving and retrieving data as key-value pairs within a tree structure. The engine is built as an MVCC transactional database, utilizing multi-version concurrency control to manage simultaneous reads and writes without blocking. It employs a single-writer multi-reader model to ensure data consistency while allowing multiple threads to access the store. The system provides persistent state management and atomic transaction management to prevent data corruption during crashes.

    Rustrust
    View on GitHub↗4,248
  • embarcadero/dev-cppEmbarcadero avatar

    Embarcadero/Dev-Cpp

    2,882View on GitHub↗

    Dev-Cpp is a comprehensive development suite that serves as a C++ integrated development environment, a cross-platform application builder, and a visual UI designer. It provides a toolchain for writing, compiling, and debugging native C++ applications on Windows, while offering a framework to create native binaries for desktop, mobile, and IoT devices from a single codebase. The project distinguishes itself by integrating an embedded SQL database engine and a REST API development platform directly into the workflow. It includes an AI-assisted coding tool that leverages large language models t

    Pascalcppdelphidev-cpp
    View on GitHub↗2,882
Compare all 30 related projects→