Skip to content

Instantly share code, notes, and snippets.

@XiaochenCui
Last active June 2, 2023 14:10
Show Gist options
  • Save XiaochenCui/269c589d506dfc8a706936a0c2e0f8bf to your computer and use it in GitHub Desktop.
Save XiaochenCui/269c589d506dfc8a706936a0c2e0f8bf to your computer and use it in GitHub Desktop.
System Research

DEPRECATED

This gist has been moved to https://cuixiaochen.com/posts/system-research-syllabus/ . The content in here will not be updated

The knowledge involved in distributed database systems (DBMS or HTAP).

Comments and suggestions are welcomed.

Why we need DBMS

Database Architecture

BLOB Storage

Data Structures

Range Filter

Consensus Algorithm

Raft

Paxos

Zab

Distrubuted Hash Table (DHT)

Distrubuted Storage System

SQL Parser

Query Optimization

Join Algorithm

  • Nested Loop Join
    • Simple Nested Loops Join
      • tuple-at-a-time
      • page-at-a-time
    • Block Nested Loops Join
    • Index Nested Loops Join
  • Sort-Merge Join
  • Hash Join

Lock & Transaction

Log

  • Physical log
  • Logical logging
  • Physiological logging
  • Write Ahead Logging (WAL)

Deadlock Handling

  • Deadlock avoidance
  • Deadlock detection
    • Timeout
    • Wait-for graph

Two-Phase Locking(2PL)

Classification of 2PL

  • Basic 2PL
  • Strict 2PL
  • Conservative 2PL
  • Rigorous 2PL

Isolation Level

  • Read uncommited
  • Read commited
  • Repeatable read
  • Serializale

Concurrency Control

  • Lock
  • Optimistic concurrency control
  • Multiversion concurrency control (MVCC)

Optimistic Concurrency Control

Recovery

Write Ahead Logging (WAL)

Write Behind Logging

Others

File Format

Tracing

Scheduling

Allocator

GPU Programming

Concurrency Programming

PLT

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment