# pingcap/awesome-database-learning

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/pingcap-awesome-database-learning).**

10,672 stars · 1,186 forks

## Links

- GitHub: https://github.com/pingcap/awesome-database-learning
- awesome-repositories: https://awesome-repositories.com/repository/pingcap-awesome-database-learning.md

## Topics

`awesome` `awesome-list` `blogs` `books` `course` `database` `papers`

## Description

This project is a curated collection of academic papers, books, and technical resources designed for studying the architecture and implementation of database management systems. It serves as a comprehensive educational guide for engineers and researchers looking to understand the fundamental principles behind modern data storage and retrieval.

The repository distinguishes itself by providing structured learning paths across critical database domains, including the design of persistent storage engines, the mechanics of query optimization, and the complexities of distributed transaction management. It covers the theoretical and practical aspects of system internals, such as buffer management, disk input and output, and the consensus algorithms required to maintain consistency across distributed nodes.

Beyond these core areas, the collection offers resources on concurrency control protocols, performance benchmarking, and advanced execution models. The materials are organized to support the study of how systems manage data integrity, optimize query planning, and utilize high-performance processing techniques.

## Tags

### Data & Databases

- [Database Internals](https://awesome-repositories.com/f/data-databases/database-internals.md) — Serves as a comprehensive educational guide for studying the fundamental architecture and internal mechanics of database management systems. ([source](https://github.com/pingcap/awesome-database-learning#readme))
- [Database Architectures](https://awesome-repositories.com/f/data-databases/database-management-systems/database-architectures.md) — Offers a structured learning path for understanding the fundamental design principles and architecture of modern database systems.
- [Distributed Consensus Protocols](https://awesome-repositories.com/f/data-databases/distributed-consensus-protocols.md) — Covers consensus algorithms and voting mechanisms essential for maintaining state consistency across distributed database nodes.
- [Distributed Transaction Processing](https://awesome-repositories.com/f/data-databases/distributed-transaction-processing.md) — Provides comprehensive educational resources on consensus protocols and consistency mechanisms for distributed transaction processing.
- [Multi-Version Concurrency Control](https://awesome-repositories.com/f/data-databases/multi-version-concurrency-controls/multi-version-concurrency-control.md) — Explains the architecture of multi-version concurrency control for enabling simultaneous read and write access without blocking.
- [Cost-Based Optimizers](https://awesome-repositories.com/f/data-databases/query-optimizers/cost-based-optimizers.md) — Offers technical resources on cost-based query optimization strategies using statistical data to determine efficient execution paths.
- [Storage Engines](https://awesome-repositories.com/f/data-databases/storage-engines.md) — Offers detailed technical documentation and study materials on the internal architecture and design of database storage engines.
- [B-Tree](https://awesome-repositories.com/f/data-databases/storage-engines/b-tree.md) — Provides educational resources on B-Tree structures for organizing sorted data pages to optimize disk access and search operations.
- [Concurrency Control](https://awesome-repositories.com/f/data-databases/concurrency-control.md) — Provides resources on isolation levels and concurrency control to maintain data integrity during simultaneous access. ([source](https://github.com/pingcap/awesome-database-learning#readme))
- [Distributed Databases](https://awesome-repositories.com/f/data-databases/database-management-systems/database-engines/distributed-databases.md) — Provides in-depth study materials on distributed database architectures, replication strategies, and consistency models.
- [Performance and Optimization Tools](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/performance-optimization-tools.md) — Provides research on query planning and execution strategies to optimize database performance.
- [Database Query Optimizations](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/performance-optimization-tools/database-query-optimizations.md) — Explores query optimization techniques including cost modeling and join ordering to improve data retrieval efficiency. ([source](https://github.com/pingcap/awesome-database-learning#readme))
- [Indexing and Search](https://awesome-repositories.com/f/data-databases/indexing-and-search.md) — Covers indexing strategies like trees and logs to accelerate search operations and minimize disk activity. ([source](https://github.com/pingcap/awesome-database-learning/blob/master/README.md))
- [Log-Structured Storage](https://awesome-repositories.com/f/data-databases/log-structured-storage.md) — Provides documentation on log-structured storage engines that use sequential appends to optimize write performance and recovery.
- [Query Planning](https://awesome-repositories.com/f/data-databases/query-planning.md) — Covers query planning and execution strategies to minimize processing time for complex data requests. ([source](https://github.com/pingcap/awesome-database-learning/blob/master/README.md))
- [Vectorized Execution Engines](https://awesome-repositories.com/f/data-databases/vectorized-execution-engines.md) — Covers vectorized query execution models that process data in batches to maximize CPU cache efficiency.
- [Execution Performance Analyzers](https://awesome-repositories.com/f/data-databases/query-performance-analyzers/execution-performance-analyzers.md) — Analyzes high-performance execution models like operator fusion and vectorization for efficient query processing. ([source](https://github.com/pingcap/awesome-database-learning#readme))

### Education & Learning Resources

- [Database Learning Guides](https://awesome-repositories.com/f/education-learning-resources/database-learning-guides.md) — Serves as a curated educational guide and learning path for mastering database system architecture and implementation.
- [Database Query Optimization](https://awesome-repositories.com/f/education-learning-resources/learning-paths/database-query-optimization.md) — Provides a structured educational progression for understanding query planning, cost modeling, and execution optimization.

### Repository Format

- [Awesome List](https://awesome-repositories.com/f/repository-format/awesome-list.md) — A community-curated directory that catalogs and links out to other open-source projects, rather than a standalone tool you run yourself.

### Part of an Awesome List

- [Database Systems](https://awesome-repositories.com/f/awesome-lists/data/database-systems.md) — Educational resources on database internals.
- [Databases & Data Processing](https://awesome-repositories.com/f/awesome-lists/data/databases-data-processing.md) — Resources for learning about database internals.

### Software Engineering & Architecture

- [Just-in-Time Compilers](https://awesome-repositories.com/f/software-engineering-architecture/function-execution-engines/just-in-time-compilers.md) — Explores just-in-time compilation techniques for translating database queries into machine code to reduce execution overhead.
- [Performance Benchmarking](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-engineering/performance-benchmarking.md) — Provides methodologies for benchmarking database performance, including throughput and latency analysis under various workloads. ([source](https://github.com/pingcap/awesome-database-learning#readme))
