• Mindscape ๐Ÿ”ฅ
    • Playlist ๐ŸŽง
  • ๐Ÿค– Artifical Intelligence

    • 1. Basics; Linear Algebra
    • 2. Basics; Linear Algebra (2), Search (1)
    • 3. Search (2)
    • 4. Knowledge and Logic (1)
    • 5. Knowledge and Logic (2)
    • 6. Probability
    • 7. Information Theory
    • 8. Probabilitc Reasoning (2)
    • 9. Probabilitc Reasoning (3)
    • 10. Machine Learning (1)
    • 11. Machine Learning (2)
    • 12. Machine Learning (3)
    • 13. Linear Models
    • 14. Other Classic ML Models (1)
    • 15. Other Classic ML Models (2)
  • ๐Ÿ”’ Computer Security

    • 01. Overview
    • 02. ์ •๋ณด๋ณด์•ˆ์ •์ฑ… ๋ฐ ๋ฒ•๊ทœ
    • 03. Cryptographic Tools
    • 04. User Authentication
    • 05. Access Control
    • 06. Database Security
    • 07. Malicious Software
    • 08. Firmware Analysis
  • ๐Ÿ—„๏ธ Database System

    • 1. Introduction
    • 2. Relational Model
    • 3. SQL
    • 6. E-R Model
    • 7. Relational Database Design (1)
    • 7. Relational Database Design (2)
    • 13. Data Storage Structures
    • 14. Indexing
    • 15. Query Processing
  • ๐Ÿ“ Software Engineering

    • 2. Introduction to Software Engineering
    • 3. Process
    • 4. Process Models
    • 5. Agile
    • 6. Requirements
    • 7. Requirements Elicitation and Documentation
    • 8. Architecture
    • 9. Unified Modelling Language
    • 10. Object-Oriented Analysis
    • Object-Oriented Design
  • ๐Ÿง  Algorithm

    • Python ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ํŒ
    • C++ std::vector ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌ
    • Vim ์‚ฌ์šฉ ๋งค๋‰ด์–ผ
    • 1018๋ฒˆ: ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ
    • 1966๋ฒˆ: ํ”„๋ฆฐํ„ฐ ํ

1. Introduction

Data, Database, DBMS์™€ DB App: ์ง๊ด€์  ๊ฐœ๋…๋“ค

  • Data: '๋ˆ„๊ตฐ๊ฐ€'์™€ ๊ด€๋ จ (๋†’์€ ์—”ํŠธ๋กœํ”ผ)
  • Database, DBMS: '์กฐ์ง'๊ณผ ๊ด€๋ จ
  • DB App: '์‚ฌ์šฉ์ž'์™€ ๊ด€๋ จ (๋‚ฎ์€ ์—”ํŠธ๋กœํ”ผ)

Database์™€ DBMS

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ์˜ ๋…ผ๋ฆฌ์  ์ง‘ํ•ฉ
    • ์ฃผ์š” ๋ชฉํ‘œ
      • ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋ฅผ '๋…ผ๋ฆฌ์ ์œผ๋กœ ์กฐ์งํ™”'ํ•˜๋Š” ๊ฒƒ
      • ๋ฐ์ดํ„ฐ ๊ฐ„ ๊ด€๊ณ„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ
      • ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ
  • Database Management System(DBMS): ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ง€๋Šฅ์  ์„œ๋น„์Šค
    • ์ฃผ์š” ๋ชฉํ‘œ
      • ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋ฅผ '๋ฌผ๋ฆฌ์ ์œผ๋กœ ์กฐ์งํ™”'ํ•˜๋Š” ๊ฒƒ
      • ์ธ๋ฑ์Šค ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ๋นจ๋ฆฌ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ
      • ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ๊ณผ ํ†ตํ•ฉ์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ
      • ์–ด๋А ์ •๋„์˜ ์˜ˆ์ธก ๋ถˆ๊ฐ€ํ•œ ์˜ค๋ฅ˜๋ฅผ ์šฉ์ธํ•˜๋ฉด์„œ

๋ฐ์ดํ„ฐ ๋ชจ๋ธ

  • ๊ด€๊ณ„ํ˜• ๋ชจ๋ธ (by Ted Codd)
    • ํ…Œ์ด๋ธ”์˜ ์ง‘ํ•ฉ์ด ๊ณง ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    • ๊ฐ ํ…Œ์ด๋ธ”์€ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ (๋ ˆ์ฝ”๋“œ)์˜ ์ง‘ํ•ฉ์„ ๋‚˜ํƒ€๋ƒ„
    • (98345, Kim, Elec. Eng. and 80000) ๋Š” ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ์Œ
  • Entity-Relationship ๋ฐ์ดํ„ฐ ๋ชจ๋ธ (Database ๋””์ž์ธ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋จ)
    • (์‹ค์ œ ์„ธ๊ณ„์˜) ๊ฐœ์ฒด์™€ ๊ทธ๋“ค์˜ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„
    • ๋””์ž์ธ (E-R ๋ชจ๋ธ) -> ๊ตฌํ˜„ (๊ด€๊ณ„ํ˜• ๋ชจ๋ธ)
  • Semi-structured ๋ฐ์ดํ„ฐ ๋ชจ๋ธ (JSON, XML)
    • ๋™์ผํ•œ type์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์†์„ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ

Schema์™€ Instance

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ variable๊ณผ value์˜ ๊ฐœ๋…๊ณผ ์œ ์‚ฌ
  • Logical Schema: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ „๋ฐ˜์ ์ธ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ, ๋””์ž์ธ
    • ์˜ˆ: ๊ทธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์€ํ–‰ ๊ณ„์ขŒ๋“ค๊ณผ ์†Œ๋น„์ž๋“ค, ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋“ค์˜ ๊ด€๊ณ„์— ๋Œ€ํ•œ ์ง‘ํ•ฉ์— ๊ด€ํ•œ ์ •๋ณด๋“ค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.
      • ํ”„๋กœ๊ทธ๋žจ ๋‚ด ๋ณ€์ˆ˜์˜ ํƒ€์ž… ์ •๋ณด์™€ ์œ ์‚ฌ
  • ๋ฌผ๋ฆฌ ์Šคํ‚ค๋งˆ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ „๋ฐ˜์ ์ธ ๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ, ๋””์ž์ธ
    • ๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋…๋ฆฝ: ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ์˜ ๋ณ€๊ฒฝ ์—†์ด ๋ฌผ๋ฆฌ์  ์Šคํ‚ค๋งˆ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ability
      • ๋…ผ๋ฆฌ์  ์Šคํ‚ค๋งˆ์— ์˜์กดํ•˜๋Š” Applications
      • ์ผ๋ฐ˜์ ์œผ๋กœ, ๋‹ค์–‘ํ•œ ๋ ˆ๋ฒจ๊ณผ ๊ตฌ์„ฑ ์š”์†Œ๋“ค ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํ•œ ๋ถ€๋ถ„์—์„œ์˜ ๋ณ€๊ฒฝ์ด ๋‹ค๋ฅธ ๋ถ€๋ถ„์— ์‹ฌ๊ฐํ•œ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์•„์•ผ ํ•จ.
  • ์ธ์Šคํ„ด์Šค (Instance): ํŠน์ • ์‹œ์ ์—์„œ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์‹ค์ œ ๋‚ด์šฉ(contents)

Data Definition Language (DDL, ๋ฐ์ดํ„ฐ ์ •์˜์–ด)

  • Database schema๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ๋ช…์„ธ์  ํ‘œ๊ธฐ
create table instructor (
    ID          char(5),
    name        varchar(20),
    dept_name   varchar(20),
    salary      numeric(8,2)
)
  • DDL compiler๋Š” ๋ฐ์ดํ„ฐ dictionary์— ์ €์žฅ๋œ ํ…Œ์ด๋ธ” ํ…œํ”Œ๋ฆฟ์˜ ์ง‘ํ•ฉ์„ ์ƒ์„ฑํ•จ.
  • ๋ฐ์ดํ„ฐ ์‚ฌ์ „์€ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จ (์ฆ‰, ๋ฐ์ดํ„ฐ์— ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ)
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ
    • ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ
      • Primary key (ID๋Š” uniqueํ•˜๊ฒŒ instructors๋ฅผ ์‹๋ณ„ํ•จ)
    • Authorization(์Šน์ธ, ๊ถŒํ•œ)
      • ๋ˆ„๊ฐ€ ๋ฌด์—‡์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€

Data Manipulation Language (DML, ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด)

  • ์ ์ ˆํ•œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์— ์˜ํ•ด ์กฐ์ง๋œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด
  • ํฌ๊ฒŒ ๋‘ ์ข…๋ฅ˜๊ฐ€ ์žˆ์Œ
    • Procedural DML ์ ˆ์ฐจ์  DML
      • ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•œ์ง€ ์–ด๋–ป๊ฒŒ ๊ทธ๊ฒƒ์„ ์–ป์„ ๊ฒƒ์ธ์ง€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์š”๊ตฌํ•จ
    • Declarative DML ์„ ์–ธ์ , ๋น„์ ˆ์ฐจ์  DML
      • ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋“ค์„ ์–ด๋–ป๊ฒŒ ์–ป์„ ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ๊ตฌ์ฒดํ™” ์—†์ด ๋ฌด์—‡์„ ํ•„์š”๋กœ ํ•˜๋Š”์ง€๋งŒ ์‚ฌ์šฉ์ž์—๊ฒŒ ์š”๊ตฌ
      • ์ ˆ์ฐจ์  DML์— ๋น„ํ•ด ๋ฐฐ์šฐ๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์›€
      • ๋น„์ ˆ์ฐจ์  DML(non-procedural DML)์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ
  • DML์—์„œ ์ •๋ณด ํƒ์ƒ‰๊ณผ ๊ด€๋ จ๋œ ๋ถ€๋ถ„์„ query language๋ผ๊ณ  ํ•จ

SQL Language

  • SQL language๋Š” DDL๊ณผ DML ๋ชจ๋‘๋ฅผ ์ˆ˜ํ–‰
  • SQL query language๋Š” ๋น„์ ˆ์ฐจ์ ์ž„.
  • ํ•˜๋‚˜์˜ ์ฟผ๋ฆฌ๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”๋“ค์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๊ณ , ํ•ญ์ƒ ๋‹จ์ผ ํ…Œ์ด๋ธ”์„ ๋ฐ˜ํ™˜ํ•จ
  • Comp. Sci ํ•™๋ถ€์˜ ๋ชจ๋“  ๊ต๊ฐ•์‚ฌ ์ถœ๋ ฅ ์˜ˆ์‹œ)
select name
from instructor
where dept_name = 'Comp. Sci.'
  • SQL์€ ํŠœ๋ง ๋จธ์‹ ๊ณผ ๋™๋“ฑํ•œ ์–ธ์–ด๊ฐ€ ์•„๋‹˜
  • ๋ณต์žกํ•œ ํ•จ์ˆ˜ ์—ฐ์‚ฐ์„ ๊ฐ€๋Šฅ์ผ€ ํ•˜๊ธฐ ์œ„ํ•ด์„œ, SQL์€ ์ฃผ๋กœ ๋” ๋†’์€ level์˜ ์–ธ์–ด์— embedded๋˜๊ณค ํ•จ.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋žจ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผ

  • embedded SQL์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด ํ™•์žฅ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— SQL query๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ๋” ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋žจ ์ธํ„ฐํŽ˜์ด์Šค(ODBC๋‚˜ JDBC์™€ ๊ฐ™์€)

Database design

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ผ๋ฐ˜์  ๊ตฌ์กฐ๋ฅผ ๋””์ž์ธํ•˜๋Š” ๊ณผ์ •

  • ๋…ผ๋ฆฌ์  ๋””์ž์ธ

    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ์—์„œ ๊ฒฐ์ •
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋””์ž์ธ์€ ๊ด€๊ณ„ ์Šคํ‚ค๋งˆ์—์„œ "์ข‹์€" ์ง‘ํ•ฉ์„ ์ฐพ์„ ๊ฒƒ์„ ์š”๊ตฌํ•จ
    • ๋น„์ฆˆ๋‹ˆ์Šค์  ๊ฒฐ์ •: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์–ด๋–ค ์†์„ฑ๋“ค์„ ๊ธฐ๋กํ•ด์•ผ ํ• ๊นŒ?
    • ์ปดํ“จํ„ฐ ๊ณผํ•™์  ๊ฒฐ์ •: ์–ด๋–ค ๊ด€๊ณ„ ์Šคํ‚ค๋งˆ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•˜๊ณ , ์–ด๋–ป๊ฒŒ ๋‹ค์–‘ํ•œ ๊ด€๊ณ„ ์Šคํ‚ค๋งˆ์— ๊ทธ ์†์„ฑ๋“ค์ด ๋ถ„ํฌ๋˜๊ฒŒ ํ• ๊นŒ?
  • ๋ฌผ๋ฆฌ์  ๋””์ž์ธ

    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฌผ๋ฆฌ์  ๋ ˆ์ด์•„์›ƒ์—์„œ์˜ ๊ฒฐ์ •

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์€ ์ „์ฒด ์‹œ์Šคํ…œ์˜ ๊ฐ ์ฑ…์ž„์„ ์ฒ˜๋ฆฌํ•˜๋Š” module๋กœ ๋ถ„ํ• ๋จ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์˜ ๊ธฐ๋Šฅ์  ์š”์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Œ

  1. The storage manager
  2. The query processor
  3. The transaction management

Storage Manager

DB์˜ low-level ๋ฐ์ดํ„ฐ์™€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์‹œ์Šคํ…œ์— ์ œ์ถœ๋œ ์ฟผ๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๋ชจ๋“ˆ

์Šคํ† ๋ฆฌ์ง€ ๋งค๋‹ˆ์ €๋Š” ๋‹ค์Œ ์ž‘์—…๋“ค์— ์ฑ…์ž„์„ ์ ธ์•ผ ํ•œ๋‹ค.

  • OS ํŒŒ์ผ ๋งค๋‹ˆ์ €์™€์˜ ์ƒํ˜ธ์ž‘์šฉ
  • ํšจ์œจ์ ์ธ ์ €์žฅ, ํƒ์ƒ‰, ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ

์Šคํ† ๋ฆฌ์ง€ ๋งค๋‹ˆ์ € ๊ตฌ์„ฑ ์š”์†Œ๋“ค์€ ๋‹ค์Œ์„ ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค.

  • Authorization๊ณผ ๋ฌด๊ฒฐ์„ฑ ๊ด€๋ฆฌ์ž
  • ํŠธ๋žœ์žญ์…˜ ๋งค๋‹ˆ์ €, ํŒŒ์ผ ๋งค๋‹ˆ์ €, buffer ๋งค๋‹ˆ์ €

์Šคํ† ๋ฆฌ์ง€ ๋งค๋‹ˆ์ €๋Š” ๋ฌผ๋ฆฌ์  ์‹œ์Šคํ…œ ๊ตฌํ˜„์˜ ์ผ๋ถ€๋กœ์„œ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค.

  • ๋ฐ์ดํ„ฐ ํŒŒ์ผ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šค์Šค๋กœ๋ฅผ ์ €์žฅ
  • ๋ฐ์ดํ„ฐ dictionary(์‚ฌ์ „): ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ์— ๊ด€ํ•œ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ์ €์žฅ, ํŠนํžˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์Šคํ‚ค๋งˆ
  • Indices: ๋ฐ์ดํ„ฐ ์š”์†Œ๋“ค์— ๋น ๋ฅธ ์ ‘๊ทผ์„ ๊ฐ€๋Šฅ์ผ€ ํ•จ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค๋Š” ๊ทธ๋Ÿฌํ•œ ํŠน์ •ํ•œ ๊ฐ’์„ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ ์•„์ดํ…œ์— ํฌ์ธํ„ฐ๋ฅผ ์ œ๊ณตํ•จ.

Query Processor

์ฟผ๋ฆฌ ํ”„๋กœ์„ธ์„œ ๊ตฌ์„ฑ ์š”์†Œ

  • DDL ์ธํ„ฐํ”„๋ฆฌํ„ฐ: DDL ๊ตฌ๋ฌธ์„ ํ•ด์„ํ•˜๊ณ , ๋ฐ์ดํ„ฐ ์‚ฌ์ „์˜ ์ •์˜๋“ค์„ ๊ธฐ๋กํ•จ
  • DML ์ปดํŒŒ์ผ๋Ÿฌ: Query language์—์„œ DML ๊ตฌ๋ฌธ์„ ๊ฐ€์ ธ์™€์„œ query evaluation ์—”์ง„์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” low-level ์ง€์นจ์— ์˜ํ•ด ๊ตฌ์„ฑ๋œ evaluation ๊ณ„ํš์œผ๋กœ ๋ณ€ํ™˜
    • DML ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋‹ค์–‘ํ•œ ๋Œ€์•ˆ๋“ค ์ค‘ ์ตœ์†Œ ๋น„์šฉ evaluation ๊ณ„ํš์„ ์ฑ„ํƒํ•˜๋Š” ์ฟผ๋ฆฌ ์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰
  • ์ฟผ๋ฆฌ ํ•ด์„ ์—”์ง„์€ DML ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ์ƒ์„ฑ๋œ low-level์˜ ์ง€์‹œ์‚ฌํ•ญ๋“ค์„ ํ•ด์„ํ•จ

ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ

ํŠธ๋žœ์žญ์…˜(Transaction)์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์  ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ผ๋ จ์˜ ์—ฐ์‚ฐ(operations)๋“ค์˜ ์ง‘ํ•ฉ

ํŠธ๋žœ์žญ์…˜์˜ ๋„ค ๊ฐ€์ง€ ์ฃผ์š” ํŠน์„ฑ

  1. ์›์ž์„ฑ(Atomicity)
  2. ์ผ๊ด€์„ฑ(Consistency)
  3. ๊ฒฉ๋ฆฌ์„ฑ(Isolation)
  4. ์ง€์†์„ฑ(Durability)

ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ์ž๋Š” ๋ณต๊ตฌ ๊ด€๋ฆฌ์ž(Recovery Manager)์™€ ๋™์‹œ์„ฑ ์ œ์–ด ๊ด€๋ฆฌ์ž(Concurrency Control Manager)๋กœ ๊ตฌ์„ฑ๋จ

  • ๋ณต๊ตฌ ๊ด€๋ฆฌ์ž(Recovery Manager)

    • ์ „์› ์žฅ์• ๋‚˜ ์šด์˜์ฒด์ œ ์˜ค๋ฅ˜ ๋“ฑ ์‹œ์Šคํ…œ ์žฅ์• (system failure) ๋ฐ ํŠธ๋žœ์žญ์…˜ ์‹คํŒจ(transaction failure)๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ผ๊ด€๋˜๊ณ  ์˜ฌ๋ฐ”๋ฅธ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋„๋ก ๋ณด์žฅ
    • ํŠธ๋žœ์žญ์…˜์˜ ์›์ž์„ฑ(Atomicity)๊ณผ ์ง€์†์„ฑ(Durability) ์†์„ฑ์„ ๋ณด์žฅ
  • ๋™์‹œ์„ฑ ์ œ์–ด ๊ด€๋ฆฌ์ž(Concurrency-Control Manager)

    • ์—ฌ๋Ÿฌ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ์ˆ˜ํ–‰๋  ๋•Œ ์ด๋“ค ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์ œ์–ดํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ผ๊ด€์„ฑ(consistency)์„ ์œ ์ง€
    • ํŠธ๋žœ์žญ์…˜์˜ ์ผ๊ด€์„ฑ(Consistency)๊ณผ ๊ฒฉ๋ฆฌ์„ฑ(Isolation) ์†์„ฑ์„ ๋ณด์žฅ
์ตœ๊ทผ ์ˆ˜์ •: 25. 11. 6. ์˜คํ›„ 12:07
Contributors: kmbzn
Next
2. Relational Model

BUILT WITH

CloudflareNode.jsGitHubGitVue.jsJavaScriptVSCodenpm

All trademarks and logos are property of their respective owners.
ยฉ 2025 kmbzn ยท MIT License