[DB] DBMS

μˆ˜λ°•μ΄μ‚Όμ΄ŒΒ·2024λ…„ 1μ›” 11일
0

DataBase

λͺ©λ‘ 보기
4/10
post-thumbnail

πŸ›οΈ DBMS(DataBase Management System)

λ°μ΄ν„°λ² μ΄μŠ€(Database)κ°€ λ°μ΄ν„°λ“€μ˜ 집합이라면, DBMS(DataBase Management System)λŠ” 그런 λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ΄€λ¦¬ν•˜κ³  μš΄μ˜ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄μž…λ‹ˆλ‹€.
λ°μ΄ν„°μ˜ 생성, 쑰회, μˆ˜μ •, μ‚­μ œ 등을 효과적으둜 μ²˜λ¦¬ν•˜λ©°, 이런 데이터λ₯Ό μ•ˆμ •μ μœΌλ‘œ μ €μž₯ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€.


DBMS μ’…λ₯˜

DBMSλŠ” λ°μ΄ν„°μ˜ μ’…λ₯˜μ™€ ν™œμš© 방식, 그리고 μ„±λŠ₯ μš”κ΅¬ 사항 등에 따라 κ°€μž₯ μ ν•©ν•œ 데이터 관리 방식이 달라지기 λ•Œλ¬Έμ— μ—¬λŸ¬ μ’…λ₯˜κ°€ νƒ„μƒν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, λ³΅μž‘ν•œ νŠΈλžœμž­μ…˜μ„ μ²˜λ¦¬ν•΄μ•Ό ν•˜λŠ” 금육 μ„œλΉ„μŠ€μ—λŠ” κ΄€κ³„ν˜• DBMSκ°€ 적합할 수 있고, λŒ€μš©λŸ‰μ˜ λΉ„μ •ν˜• 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ” 빅데이터 λΆ„μ„μ—λŠ” 객체지ν–₯ν˜• DBMSκ°€ 적합할 수 μžˆμŠ΅λ‹ˆλ‹€.

크게 4κ°€μ§€μ˜ μ’…λ₯˜λ‘œ λΆ„λ₯˜λ  수 μžˆμŠ΅λ‹ˆλ‹€.

  1. κ³„μΈ΅ν˜• DBMS(Hierarchical DBMS)

    λ°μ΄ν„°λ² μ΄μŠ€-μ΄ν•΄ν•˜κΈ°-databasedb-dbms-sql의-κ°œλ…

    1960λ…„λŒ€μ— μ‚¬μš©ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 데이터λ₯Ό κ³„μΈ΅μ μœΌλ‘œ κ΅¬μ‘°ν™”ν•˜μ—¬ κ΄€λ¦¬ν•©λ‹ˆλ‹€. ν•œ 개의 μƒμœ„ λ ˆμ½”λ“œκ°€ μ—¬λŸ¬ 개의 ν•˜μœ„ λ ˆμ½”λ“œλ₯Ό κ°€μ§€λŠ” 트리 ꡬ쑰λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. IBM의 IMSκ°€ λŒ€ν‘œμ μΈ μ˜ˆμž…λ‹ˆλ‹€.

    νŠΉμ§•μ€ 처음 ꡬ성을 μ™„λ£Œν•œ 후에 이λ₯Ό λ³€κ²½ν•˜κΈ°κ°€ μƒλ‹Ήνžˆ κΉŒλ‹€λ‘­λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. λ˜ν•œ λ‹€λ₯Έ ꡬ성원을 μ°Ύμ•„κ°€λŠ” 것이 λΉ„νš¨μœ¨μ μž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ 재무2νŒ€μ—μ„œ νšŒκ³„νŒ€μœΌλ‘œ μ—°κ²°ν•˜λ €λ©΄ μž¬λ¬΄μ΄μ‚¬ β†’ 사μž₯ β†’ νšŒκ³„μ΄μ‚¬ β†’ νšŒκ³„νŒ€κ³Ό 같이 μ—¬λŸ¬ 단계λ₯Ό 거쳐야 ν•©λ‹ˆλ‹€. ν˜„μž¬λŠ” μ‚¬μš©μ„ ν•˜μ§€ μ•ŠλŠ” DBMSμž…λ‹ˆλ‹€.

  1. λ„€νŠΈμ›Œν¬ν˜• DBMS(Network DBMS)

    λ°μ΄ν„°λ² μ΄μŠ€-μ΄ν•΄ν•˜κΈ°-databasedb-dbms-sql의-κ°œλ…

    1970λ…„λŒ€μ— μ‚¬μš©ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 데이터λ₯Ό κ·Έλž˜ν”„ ν˜•νƒœλ‘œ κ΅¬μ‘°ν™”ν•˜μ—¬ κ΄€λ¦¬ν•©λ‹ˆλ‹€. μ—¬λŸ¬ μƒμœ„ λ ˆμ½”λ“œκ°€ μ—¬λŸ¬ ν•˜μœ„ λ ˆμ½”λ“œλ₯Ό κ°€μ§ˆ 수 μžˆλŠ” λ³΅μž‘ν•œ ꡬ쑰λ₯Ό κ°€μ§‘λ‹ˆλ‹€. κΉŠμ€ ꡬ쑰λ₯Ό 이해λ₯Ό μš”κ΅¬ν•©λ‹ˆλ‹€. IDMSκ°€ λŒ€ν‘œμ μΈ μ˜ˆμž…λ‹ˆλ‹€.

  2. κ΄€κ³„ν˜• DBMS(Relational DBMS)
    데이터λ₯Ό ν…Œμ΄λΈ” ν˜•νƒœλ‘œ κ΅¬μ‘°ν™”ν•˜μ—¬ κ΄€λ¦¬ν•©λ‹ˆλ‹€. SQL을 기반으둜 데이터λ₯Ό κ΄€λ¦¬ν•˜λ©°, ν˜„μž¬ κ°€μž₯ 널리 μ‚¬μš©λ˜λŠ” DBMSμž…λ‹ˆλ‹€. Oracle, MySQL, PostgreSQL 등이 λŒ€ν‘œμ μž…λ‹ˆλ‹€.

  3. 객체지ν–₯ν˜• DBMS(NoSQL)
    데이터λ₯Ό 객체의 ν˜•νƒœλ‘œ κ΅¬μ‘°ν™”ν•˜μ—¬ κ΄€λ¦¬ν•©λ‹ˆλ‹€. 데이터와 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ” λ©”μ†Œλ“œλ₯Ό ν•˜λ‚˜μ˜ 객체 λ‹¨μœ„λ‘œ λ¬Άμ–΄μ„œ κ΄€λ¦¬ν•©λ‹ˆλ‹€. PostgreSQL, MongoDB 등이 λŒ€ν‘œμ μž…λ‹ˆλ‹€.


DBMS νŠΉμ§•

  • 데이터 독립성
    DBMSλŠ” 물리적 데이터 독립성과 논리적 데이터 독립성을 μ§€μ›ν•©λ‹ˆλ‹€. μ΄λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ˜ ꡬ쑰가 λ³€κ²½λ˜μ–΄λ„ μ‘μš© ν”„λ‘œκ·Έλž¨μ— 영ν–₯을 주지 μ•ŠμŠ΅λ‹ˆλ‹€. 즉, λ°μ΄ν„°μ˜ 물리적인 μ €μž₯ λ°©μ‹μ΄λ‚˜ ꡬ쑰λ₯Ό λ³€κ²½ν•˜λ”λΌλ„ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ μˆ˜μ •ν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€.

  • 데이터 λ³΄μ•ˆ
    DBMSλŠ” λ°μ΄ν„°μ˜ λ³΄μ•ˆμ„ 보μž₯ν•©λ‹ˆλ‹€. μ ‘κ·Ό μ œμ–΄ κΈ°λŠ₯을 톡해 νŠΉμ • μ‚¬μš©μžλ§Œ 데이터에 μ ‘κ·Όν•  수 μžˆλ„λ‘ ν•˜λ©°, ν•„μš”μ— 따라 μ‚¬μš©μžμ˜ μ ‘κ·Ό κΆŒν•œμ„ μ œν•œν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • 데이터 일관성
    DBMSλŠ” λ°μ΄ν„°μ˜ 일관성을 μœ μ§€ν•©λ‹ˆλ‹€. λ™μΌν•œ 데이터가 μ—¬λŸ¬ 곳에 쀑볡 μ €μž₯λ˜λŠ” 것을 λ°©μ§€ν•˜κ³ , λ°μ΄ν„°μ˜ 무결성을 보μž₯ν•©λ‹ˆλ‹€.

  • λ™μ‹œ μ ‘κ·Ό μ œμ–΄
    DBMSλŠ” μ—¬λŸ¬ μ‚¬μš©μžκ°€ λ™μ‹œμ— λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘κ·Όν•˜λ”λΌλ„ λ°μ΄ν„°μ˜ 일관성을 μœ μ§€ν•©λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄ λ‹€μ–‘ν•œ λ™μ‹œμ„± μ œμ–΄ 기법을 μ‚¬μš©ν•©λ‹ˆλ‹€.

  • 데이터 볡ꡬ
    DBMSλŠ” μ‹œμŠ€ν…œ μž₯μ• κ°€ λ°œμƒν–ˆμ„ λ•Œ 데이터λ₯Ό 볡ꡬ할 수 μžˆλŠ” κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 λ°μ΄ν„°μ˜ μ•ˆμ •μ„±μ„ 보μž₯ν•˜κ³ , 데이터 손싀을 λ°©μ§€ν•©λ‹ˆλ‹€.

  • ν‘œμ€€ν™”
    DBMSλŠ” λ°μ΄ν„°μ˜ ν‘œμ€€ν™”λ₯Ό μ§€μ›ν•©λ‹ˆλ‹€. λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯된 λ°μ΄ν„°λŠ” ν‘œμ€€ ν˜•μ‹μ— 맞좰 μ €μž₯λ˜λ―€λ‘œ, λ°μ΄ν„°μ˜ 일관성과 νš¨μœ¨μ„±μ„ λ†’μž…λ‹ˆλ‹€.

  • 데이터 무결성
    DBMSλŠ” λ°μ΄ν„°μ˜ 무결성을 보μž₯ν•©λ‹ˆλ‹€. 무결성 κ·œμΉ™μ„ μ„€μ •ν•˜μ—¬ λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯λ˜λŠ” 데이터가 ν•΄λ‹Ή κ·œμΉ™μ„ μ€€μˆ˜ν•˜λ„λ‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ΄λŸ¬ν•œ νŠΉμ§•λ“€μ„ 톡해 DBMSλŠ” λ°μ΄ν„°μ˜ μ•ˆμ •μ„±, 일관성, λ³΄μ•ˆμ„±μ„ 보μž₯ν•˜λ©°, 효율적인 데이터 관리λ₯Ό κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€.


Reference

0개의 λŒ“κΈ€