Oracle 3

[database] DB Lock 2편 (multi-version CC, MVCC)

본 게시글은서울대학교 데이터사이언스대학원 이상원 교수님의데이터사이언스 응용을 위한 빅데이터 및 지식관리시스템 수업을학습을 목적으로 재구성하였습니다오늘은 DB lock의 두번째 시간인데multi-version concurrency control에 대해서 주로 배운다수업 내용이 저번 시간이랑 겹치는 내용이 많아서그 부분들은 생략하고 MVCC에 대한 내용만 담아서내용이 조금 짧다 우리가 이전 시간까지 수업에서 설명한 내용은single version의 concurrency control이다 lock의 종류는 크게read lock인 shared lock과write lock인 exclusive lock이 있고 이 lock compatibility table을 통해서각각 어떻게 호환되는지를 알아보자 우선 R(S)와..

강의/database 2025.06.06

[database] DBMS는 데이터를 어떻게 저장하고 관리할까(Heap File Structure, Slotted Page Structure)

본 게시글은서울대학교 데이터사이언스대학원 이상원 교수님의데이터사이언스 응용을 위한 빅데이터 및 지식관리시스템 수업을학습을 목적으로 재구성하였습니다저번 시간까지가 중간고사 범위였다저번 시간까지는 사실 단순(?) SQL과여러 가지 종류의 SQL representation에 대해 배웠다면중간고사 이후부터는 DB internal에 대해 배운다 지금부터 배우는 것들이정말 중요한 내용이라고 한다 DBMS의 internal 부분을 살펴보자오늘 배울 내용은 file and access method이다 실제로 우리가 만드는 테이블 데이터들이디스크 storage에 어떻게 저장되는지에 대한 내용이다실제로 디스크에 datafile이라는 형태로 테이블은 저장되고테이블에 대한 정보들은 디스크에 system catalog나dic..

강의/database 2025.05.01

[database] Advanced SQL(Assertions, Triggers, Data Cube, and Pivoting and Cross-Tab)

본 게시글은서울대학교 데이터사이언스대학원 이상원 교수님의데이터사이언스 응용을 위한 빅데이터 및 지식기반시스템 강의를학습을 목적으로 재구성하였습니다이번 시간에는 Assertion과 Trigger에 대해서 잠깐 살펴보고그 이후에는 SQL에서의 한계를 극복하기 위한Data Cube와 Pivoting and Cross-Tab과 같은advanced SQL에 대해서 배워본다  좀 더 복잡한 Integrity Constraint에 대해 알아보자지금까지 우리는 primary key, foreign key를 배웠는데이번에는 general constraint를 배워보자   General Constraint 에서 table을 만들 때 CHECK로 column의 데이터에 제약조건을 줄 수 있다 위 예시에서CHECK (rati..

강의/database 2025.04.05