Eat Study Love

먹고 공부하고 사랑하라

Data Science/SQL & Database Management System

Introduction to DBMS[1]

eatplaylove 2025. 2. 9. 13:42

Database는 서로 관계된 데이터들이 저장되어 있는 곳이며, 컴퓨터 Applicaqtion의 주성분이다.

DataBase Management System(DBMS)는 이런 DataBase(DB)를 관리하는 하나의 시스템이며, Architecture는 아래와 같다.

User 또는 Client에 의해서 SQL문이 전달되면, Query Parsing & Optimizer에서 일차적으로 해당 SQL문을 Parsing 하여 Computer가 이해하기 쉬운 Relational Operations으로 전환시켜준다.

 

그러면 해당 정보를 갖고, 실제 요청된 File이 DB에 저장되어 있는지 Files and Index Managemet 단계에서 확인한다. 모든 Data Record들은 Table 형태로 저장되어 있고, 그것이 Slot, Page, File 순으로 세분화되어 서로 Indirect하게 저장되 어있다.

 

파일을 찾을땐 Page 단위로 파일이 움직이는데, 이 File이 In-Memory에 있는지 Disk에 있는지에 따라 Sytem I/O의 차이가 많이 나고, 이 말은 Read 속도차이가 난다는 것이다.

 

이 때, 이 Read/Wrte I/O 효율을 높혀주기 위해 존재하는 것이 Buffer Manager이다. Buffer Manager가 Page단위로 자주 접근되는 Page들을 Memory에 올려두어 I/O를 낮추고(효율 up), Buffer Manager의 용량에도 한계가 있기 때문에 적절한 Replacement Policy를 채택하여 사용한다.

 

Disk Space Management 부분에선, Page를 실제 Physical하게 Device에 저장시켜준다.

 

이 모든 Layer들에 대한 설명은 추후 자세히 다룰 것이고, 이 Layer들은 User에서 Abstract한 성질을 보여주어야 하고 Multiple하게도 동작되어야 하기에 Concurrency , Recovery 특징도 갖고 있어야 하는데 이 또한 추후 다루겠다.


 

본격적으로 DBMS 공부내용을 정리해보겠다.

 

Schema라는 개념이 자주 등장하는데, 이것은 data , data model에 대한 설명이라고 이해하면 된다. Schema는 크게 3개로 나누어 설명한다.

 Logical Schema는 Application 입장에서, Data table간의 관계, Table 안에 있는 Columns, Keys, Records들에 관련된 정보이다.

 

Data Table과 관련된 DBMS용어는 아래와 같이 정리된다.

 

추가로, Primary Key(PK)는 Talbe 내에서 Tuple을 구분해주는 Key Column이고 Unique하며 한 테이블에 하나만 설정이 가능하고 NULL 값을 가질 수없다.

Foreign Key(FK)는 다른 Table의 PK를 참조하는 Column이다.

 

 

Logical / Physcial Schema가 독립적으로 운용되어야 DBMS를 잘 관리할 수 있는데, 이를 Data Independence(DI)라고 한다.

 

'Data Science > SQL & Database Management System' 카테고리의 다른 글

Database Storage[3]  (0) 2025.02.09
Database SQL (feat. PostgreSQL)[2]  (0) 2025.02.09
Ubuntu와 친해지기  (0) 2024.11.11
4. Relational Algebra and Calculus  (0) 2024.04.24
3-2 Relation Model  (0) 2024.04.24