본문 바로가기

컴퓨터26

[CMU 15-445 Intro to DB Sys] Lec11 Join Algorithms Operator Output Data Early Materialization: inner table과 outer table에서 attribute의 값들을 복사하여 새로운 output tuple들로 만들어 줌. 이렇게 하면 이후에 다시 base table로 돌아갈 필요가 없다는 장점이 있음. Late Materialization: join key들과 함께, 해당되는 tuple들의 record ID들만을 복사함. 이는 이후에 다시 base table로 와서 attribute 값들을 찾아야 함. 불필요한 데이터를 복사하지 않기 때문에 column store에 있어서 이상적임. 하지만 이렇게 하면 최종 output을 얻기 전에는 cost가 어느 정도 들지 예상하기 어렵고, 오늘날 storage와 computin.. 2024. 1. 10.
[CMU 15-445 Intro to DB Sys] Lec10 Sorting and Aggregation disk-oriented DBMS에서 buffer pool을 사용하고, i/o를 최소화(즉 sequential i/o를 최대화)하고자 함. Sorting 직접적으로 ORDER BY에 사용하는 경우 이외에도, DISTINCT, GROUP BY, JOIN, bulk loading into B+tree index 등에 사용되기 때문에 sort가 필요함.In-Memory Sorting memory 내에 데이터가 들어온다면 quicksort 등 통상적인 정렬 알고리즘을 사용 가능함. 대부분의 DBMS에서는 퀵소트를 사용함. 만약 memory에 맞지 않는다면 read/write하는 비용을 고려해야 할 것임. Top-N Heap Sort ORDER BY와 LIMIT를 사용한 쿼리에 대해서는 상위 N개만을 찾아내면 됨.. 2024. 1. 9.
[CMU 15-445 Intro to DB Sys] Lec09 Index Concurrency Concurrency Control to ensure "correct" results for concurrent operations on a shared object logical correctness: 읽어야 하는 값을 잘 읽어온다는 의미 physical correctness: object의 internal representation이 제대로 되어 있다는 의미 Locks vs. Latches Locks(Transactions): high-level에서 db의 Logical contents를 다른 transaction들로부터 보호함. deadlock이 생기면 rollback할 수 있어야 함. latches(workers): low-level에서 DBMS의 internal data structure가 있는.. 2024. 1. 9.
[UCB CS61C] Lec10 RISC-V Memory and Calling Conventions Machine Program Program Counter는 processor 내에 위치하는 레지스터로서, 다음 instruction의 byte address를 보관함. 보통은 다음 instruction을 찾기 위해 4 bytes를 더한다. 32개의 레지스터 중 일부는 symbolic register name을 갖는다. e.g. zero(x0), a0-a7(x10-x17; 즉 argument registers for function calls) pseudo-instructions: 실제 instruction이 아니라 자주 사용되는 것을 ㅈ간단히 표현하는 것임. e.g. (move) mv rd, rs = addi rd, rs, 0, (load immediate) li rd, 13 = addi rd, x0, .. 2024. 1. 9.