profile image

L o a d i n g . . .

728x90

DBA급 개발자로 시리즈는 데이터베이스를 더 깊게 학습하고 싶은 개발자들을 위한 시리즈입니다. 해당 시리즈는 Youtube의 CMU Database Group 강의를 기반으로 작성됐습니다. 

 

목차 

1. Relational Model

2022.08.31 - [Database] - [Database] DBA급 개발자로 - #1 Relational Model

  • Relational model 
  • Tuple VS Record 

2. Intermediate SQL 

2022.08.31 - [Database] - [Database] DBA급 개발자로 - #2 Intermediate SQL

  • Aggregation functions 
  • Window functions 
  • CTE(Common Table Expressions) 

3. Database Storage 1/2 

2022.09.01 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #3 Database Storage 1/2

  • 데이터가 저장되는 원리 
  • File layout 
  • Page layout 
  • Tuple layout 
  • Log structured file organization 

4. Database Storage 2/2 

2022.09.03 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #4 Database Storage 2/2

  • Tuple in detail 
  • Metadata
  • Column store database 

5. Buffer Pools

2022.09.03 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #5 Buffer Pools

  • Buffer pool
  • Locks vs Latches 
  • Page directory vs Page table 
  • Buffer pool 최적화  
  • Buffer replacement 정책 

6. Hash Table 

2022.09.04 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #6 Hash Table

  • Static hash table 
  • Dynamic hash table 

7. B+Tree 

2022.09.06 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #7 B+Tree

  • B+Tree 검색, 삽입, 최적화 등 

8. Index Concurrency Control

2022.09.07 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #8 Index Concurrency Control

  • Latch 
    • os mutex
    • test-and-set spin latch 
    • reader-writer latch 
  • Hash table latching 
    • page latch
    • slot latch 
  • B+Tree concurrency 
    • latch crabbing / coupling 

9. Sorting & Aggregation 

2022.09.09 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #9 Sorting & Aggregation

  • Externel merge sort 
  • Aggregation 

10. Join Algorithm

2022.09.11 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #10 Join Algorithm

  • Nested loop join 
    • simple nested loop join 
    • block nested loop join 
    • Index 
  • Sort merge join 
  • Hash join 

11. Query Processing 1/2 

2022.09.12 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #11 Query Processing 1/2

  • Query processing model 
    • iterator model 
    • materialization model 
    • vectorized / batch model 
  • Access methods 
    • sequential scan 
    • index scan 
    • multi-index / bitmap scan 

12. Query Processing 2/2 

2022.09.13 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #12 Query Processing 2/2

  • Process model 
    • process per DBMS worker 
    • process poll 
    • thread per DBMS worker 
  • Operator Parallelism 
    • intra-operator parallelism 
    • inter-operator parallelism 
    • bushy parallelism 
  • I/O Parallelism 
    • multi-disk parallelism 
    • database partitioning 
      • horizontal partitioning 
      • vertical partitioning 

13. Rule Based 쿼리 최적화 

2022.09.15 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #13 Rule based 쿼리 최적화

  • Query optimization 
    • relational algebra equivalance 
      • predicate pushdown 
    • logical query optimization 
      • split conjunctive predicate 
      • replace cartesian products 
      • projection pushdown 
    • nested sub-queries 
      • rewrite nested sub-queries 
      • decompose nested sub-queries 
    • expression rewriting 

14. 비용 기반 쿼리 최적화 

2022.11.01 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #14 비용 기반 쿼리 최적화

  • Cost model component 
  • Join result estimaation 
  • Cost estimation 
  • Query planning 

15. Concurrency Control 

2022.11.01 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #15 Concurrency Control

  • Transaction concurrency control 
    • transaction interleaving 
    • interleaved execution anomalies 
      • R-W conflict 
      • W-R conflict 
      • W-W conflict 
    • schedule serializabillity 
      • conflict serializability 

16. Two Phase Locking 

2022.11.06 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #16 Two-Phase Locking

  • 2PL 동작 원리 
    • growing 
    • shrinking 
  • Strong strict 2PL 
  • 2PL deadlock 
    • deadlock detection 
    • deadlock prevention 

17. Timestamp Ordering Concurrency Control 

2022.11.13 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #17 Timestamp Ordering Concurrency Control

  • Basic timestamp ordering 
  • Optimistic concurrency control 

18. Multi-Version Concurrency Control 

2022.11.14 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #18 Mutli-Version Concurrency Control

  • MVCC 
  • Design principles 
    • version storage 
      • append only 
      • time travel 
      • delta 
  • InnoDB MVCC 

19. Database Logging 

2022.12.04 - [분류 전체보기] - [Database] DBA급 개발자로 - #19 Database Logging

  • Steal policy 
  • Force policy 
  • No-steal && Force 
  • Steal && No-force 

20. Database Recovery

2022.12.05 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #20 Database Recovery

  • Write ahead logging 
  • Checkpoint 
  • ARIES

21. Distributed Database 1/3

2022.12.09 - [Database] - [Database] DBA급 개발자로 - #21 Distributed Database 1/3

  • System architecture
    • shared memory
    • shared disk
    • shared nothing 
  • Database design 
    • homogenous nodes 
    • heterogenous nodes 
  • Distributing data 
    • partitioning 
    • sharding 
      • key based sharding 
      • range based sharding 
      • hash based sharding 
      • consistent hashing 
  • Distributed transaction 

22. Distributed Database 2/3

2022.12.10 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #22 Distributed Database 2/3

  • 2 phase commit 
  • Paxos 
  • Replication 
    • k-safety 
    • propagation timing 
    • propagation scheme 
    • active vs passive 
  • CAP theorem 

23. Distributed Database 3/3 

2022.12.16 - [Database/DBA급 개발자로] - [Database] DBA급 개발자로 - #23 Distributed Database 3/3

  • OLAP 
  • Query execution model 
  • etc 
728x90
복사했습니다!