BKJang / do-you-know-backend

πŸ–₯ This repository contains contents about overall knowledge of backend

Home Page:https://bkjang.github.io/do-you-know-backend

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DBMS

BKJang opened this issue Β· comments

DBMS

μš°μ„  DBMSλ₯Ό μ•ŒκΈ° 이전에 Database에 λŒ€ν•΄μ„œ ν•œ 번 짚고 λ„˜μ–΄κ°ˆ ν•„μš”κ°€ μžˆλ‹€.

Database?

  • λ°μ΄ν„°μ˜ 집합 (a Set of Data)이닀.
  • μ—¬λŸ¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜λ“€μ˜ ν†΅ν•©λœ 정보듀을 μ €μž₯ν•˜μ—¬ μš΄μ˜ν•  수 μžˆλŠ” 곡용(share) λ°μ΄ν„°μ˜ 집합이닀.

DatabaseλŠ” λ°μ΄ν„°μ˜ 집합이기 λ•Œλ¬Έμ— 효율적으둜 μ €μž₯(C), 검색(R), κ°±μ‹ (U), μ‚­μ œ(D)ν•  수 μžˆλ„λ‘ 데이터 집합듀끼리 μ—°κ΄€μ‹œν‚€κ³  μ‘°μ§ν™”λ˜μ–΄μ•Ό ν•œλ‹€.

νŠΉμ„±

  • μ‹€μ‹œκ°„ μ ‘κ·Όμ„±(Real-time Accessability)
    • μ‚¬μš©μžμ˜ μš”κ΅¬λ₯Ό μ¦‰μ‹œ μ²˜λ¦¬ν•  수 μžˆλ‹€.
  • 계속적인 λ³€ν™”(Continuous Evolution)
    • μ •ν™•ν•œ 값을 μœ μ§€ν•˜λ €κ³  μ‚½μž…Β·μ‚­μ œΒ·μˆ˜μ • μž‘μ—… 등을 μ΄μš©ν•΄ 데이터λ₯Ό μ§€μ†μ μœΌλ‘œ κ°±μ‹ ν•  수 μžˆλ‹€.
  • λ™μ‹œ κ³΅μœ μ„±(Concurrent Sharing)
    • μ‚¬μš©μžλ§ˆλ‹€ μ„œλ‘œ λ‹€λ₯Έ λͺ©μ μœΌλ‘œ μ‚¬μš©ν•˜λ―€λ‘œ λ™μ‹œμ— μ—¬λŸ¬ μ‚¬λžŒμ΄ λ™μΌν•œ 데이터에 μ ‘κ·Όν•˜κ³  μ΄μš©ν•  수 μžˆλ‹€.
  • λ‚΄μš© μ°Έμ‘°(Content Reference)
    • μ €μž₯ν•œ 데이터 λ ˆμ½”λ“œμ˜ μœ„μΉ˜λ‚˜ μ£Όμ†Œκ°€ μ•„λ‹Œ μ‚¬μš©μžκ°€ μš”κ΅¬ν•˜λŠ” λ°μ΄ν„°μ˜ λ‚΄μš©, 즉 데이터 값에 따라 μ°Έμ‘°ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€.

DBMS(Database Management System)

DBMSλž€ μš©μ–΄μ—μ„œ μ•Œ 수 μžˆλ“―μ΄ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ‹œμŠ€ν…œ 즉, μ†Œν”„νŠΈμ›¨μ–΄λ‹€.
DBMSλ₯Ό 톡해 μš°λ¦¬λŠ” μœ„μ—μ„œ μ‚΄νŽ΄λ³΄μ•˜λ˜ λ°μ΄ν„°λ² μ΄μŠ€μ˜ νŠΉμ„±λ“€μ„ 보닀 쉽고 효율적으둜 보μž₯ν•  수 μžˆλ‹€.

DBMS의 ν•„μˆ˜ κΈ°λŠ₯μ—λŠ” 3가지가 μžˆλŠ”λ° μ •μ˜, μ‘°μž‘, μ œμ–΄κ°€ μžˆλ‹€.

  • μ •μ˜ : 데이터 베이슀의 논리적, 물리적 ꡬ쑰λ₯Ό μ •μ˜ν•˜λŠ” κΈ°λŠ₯.
  • μ‘°μž‘ : 데이터λ₯Ό 검색, μ‚­μ œ, κ°±μ‹ , μ‚½μž…, μ‚­μ œν•˜λŠ” κΈ°λŠ₯.
  • μ œμ–΄ : λ°μ΄ν„°λ² μ΄μŠ€μ˜ λ‚΄μš© μ •ν™•μ„±κ³Ό μ•ˆμ „μ„±μ„ μœ μ§€ν•˜λ„λ‘ μ œμ–΄ν•˜λŠ” κΈ°λŠ₯.

μž₯/단점

  • μž₯점

    • 데이터 쀑볡이 μ΅œμ†Œν™”
    • λ°μ΄ν„°μ˜ 일관성 및 무결성 μœ μ§€
    • 데이터 λ³΄μ•ˆ 보μž₯
  • 단점

    • λΉ„μ‹Ό μš΄μ˜λΉ„
    • λ°±μ—… 및 볡ꡬ에 λŒ€ν•œ 관리가 볡작
    • 뢀뢄적 λ°μ΄ν„°λ² μ΄μŠ€ 손싀이 전체 μ‹œμŠ€ν…œμ„ 정지

μœ„μ˜ 단점듀이 μžˆλŠ” 것이 사싀이긴 ν•˜μ§€λ§Œ, 사싀상 Databaseλ₯Ό μ‚¬μš©ν•  λ•Œ DBMSλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” κ²½μš°λŠ” 거의 μ—†λ‹€κ³  λ³΄λŠ”κ²Œ λ§žμ„ 것 κ°™λ‹€.
λŒ€ν‘œμ μΈ DBMS의 μ’…λ₯˜μ—λŠ” Oracle, SQL Server, MySQL, DB2 등이 μžˆλ‹€.

MySQL μ„€μΉ˜ 및 μ‹€ν–‰(Mac OS κΈ°μ€€)

  • μ„€μΉ˜
brew install mysql
  • μ‹€ν–‰ 및 정지
mysql.server start
mysql.server stop
mysql.server restart
  • 데λͺ¬μœΌλ‘œ μ‹€ν–‰ 및 정지
    • 운영체제의 λ°±κ·ΈλΌμš΄λ“œλ‘œ MySQL이 계속 μ‹€ν–‰λ˜λ„λ‘ ν•˜κ³  μ‹Άλ‹€λ©΄ HomeBrewκ°€ μ œκ³΅ν•˜λŠ” λͺ…령을 μ΄μš©ν•˜λ©΄ λœλ‹€.
brew services start mysql
brew services stop mysql
brew services restart mysql
brew services list