OLTP v.s. OLAP
- On-line Transaction Processing
- Short-lived TX
- Small footprint
- Repetitive operation
- On-line Analytical processing
- Long running queries
- Complex joins
- Exploratory queries
Architectures:
- Shared Everything -> Shared Memory -> Shared Disk -> Shared Nothing
- Shared Nothing (Only via network): Easy to increase capacity and hard ensure consistency at the same time
Data Transparency
- Partitioned (Sharding) v.s. Replicated
- Horizontal Partitioning (Round-robin/Hash/Range)
Distributed Transactions
- Centralized v.s. Decentralized
Distributed CC
- Need to allow multi-TXs to execute simultaneously across multi-nodes
- Factors: Replication, Network Communication Overhead, Node Failure, Clock skew
Atomic Commit Protocol
- 2PC, 3PC, Paxos, Raft, ZAB