awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
cmu-db avatar

cmu-db/bustub

0
View on GitHub↗
4,861 星标·2,004 分支·C++·mit·14 次浏览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.

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.

Star 历史

cmu-db/bustub 的 Star 历史图表cmu-db/bustub 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Bustub 的开源替代方案

相似的开源项目,按与 Bustub 的功能重合度排序。
  • oceanbase/minioboceanbase 的头像

    oceanbase/miniob

    4,318在 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
    在 GitHub 上查看↗4,318
  • qnjr-group/easytransactionQNJR-GROUP 的头像

    QNJR-GROUP/EasyTransaction

    2,356在 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
    在 GitHub 上查看↗2,356
  • cberner/redbcberner 的头像

    cberner/redb

    4,248在 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
    在 GitHub 上查看↗4,248
  • embarcadero/dev-cppEmbarcadero 的头像

    Embarcadero/Dev-Cpp

    2,882在 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
    在 GitHub 上查看↗2,882
查看 Bustub 的所有 30 个替代方案→

常见问题解答

cmu-db/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.

cmu-db/bustub 的主要功能有哪些?

cmu-db/bustub 的主要功能包括: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。

cmu-db/bustub 有哪些开源替代品?

cmu-db/bustub 的开源替代品包括: 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…