μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬/μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ μ‹€κΈ° μš”μ•½

[2020 μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ μ‹€κΈ°] 3. 데이터 μž…Λ™μΆœλ ₯

ν•œμ½”λ”© 2020. 10. 24. 21:26
728x90
728x90

 

'μ‹œλ‚˜κ³΅ 2020 μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ μ‹€κΈ°' κ΅μž¬ κ³΅λΆ€ν•˜λ©΄μ„œ μš”μ•½ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. μ€‘μš”ν•œ λ‚΄μš©κ³Ό μ‹œν—˜μ— λΉˆμΆœλ˜λŠ” λ‚΄μš©λ§Œ μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ’‹μ•„μš” 꾸욱 λˆŒλŸ¬μ£Όμ„Έμš” :)

 

β–Ά λͺ©λ‘ λ°”λ‘œκ°€κΈ°

데이터 λͺ¨λΈ

데이터 λͺ¨λΈ

ν˜„μ‹€ μ„Έκ³„μ˜ 정보듀을 컴퓨터에 ν‘œν˜„ν•˜κΈ° μœ„ν•΄μ„œ λ‹¨μˆœν™”, μΆ”μƒν™”ν•˜μ—¬ μ²΄κ³„μ μœΌλ‘œ ν‘œν˜„ν•œ κ°œλ…μ  λͺ¨ν˜•

 

• λ°μ΄ν„° λͺ¨λΈμ˜ κ΅¬μ„± μš”μ†Œ

  • 개체(Entity) : μ‚¬λžŒμ΄ μƒκ°ν•˜λŠ” κ°œλ…μ΄λ‚˜ 정보 λ‹¨μœ„ 같은 ν˜„μ‹€ μ„Έκ³„μ˜ λŒ€μƒμ²΄
  • 속성(Attribute) : λ°μ΄ν„°μ˜ κ°€μž₯ μž‘μ€ 논리적 λ‹¨μœ„, 파일 κ΅¬μ‘°μƒμ˜ 데이터 ν•­λͺ©(ν•„λ“œ)
  • 관계(Relationship) : 개체 κ°„μ˜ 관계, 속성 κ°„μ˜ 논리적인 μ—°κ²°

• λ°μ΄ν„° λͺ¨λΈμ˜ μ’…λ₯˜

  • κ°œλ…μ  데이터 λͺ¨λΈ : ν˜„μ‹€ 세계에 λŒ€ν•œ μΈκ°„μ˜ 이해λ₯Ό 돕기 μœ„ν•΄ ν˜„μ‹€ 세계에 λŒ€ν•œ 인식을 좔상적 κ°œλ…μœΌλ‘œ ν‘œν˜„ν•˜λŠ” κ³Όμ •
  • 논리적 데이터 λͺ¨λΈ : κ°œλ…μ  ꡬ쑰λ₯Ό 컴퓨터가 μ΄ν•΄ν•˜κ³  μ²˜λ¦¬ν•  수 μžˆλŠ” 컴퓨터 μ„Έκ³„μ˜ ν™˜κ²½μ— 맞게 λ³€ν™˜ν•˜λŠ” κ³Όμ •
  • 물리적 데이터 λͺ¨λΈ : μ‹€μ œ 컴퓨터에 데이터가 μ €μž₯λ˜λŠ” 방법을 μ •μ˜ν•˜λŠ” λ¬Όλ¦¬ λ°μ΄ν„°λ² μ΄μŠ€ μ„€κ³„ κ³Όμ •

• λ°μ΄ν„° λͺ¨λΈμ— ν‘œμ‹œν•  μš”μ†Œ

  • ꡬ쑰(Structure) : λ…Όλ¦¬μ μœΌλ‘œ ν‘œν˜„λœ 개체 νƒ€μž…λ“€ κ°„μ˜ 관계
  • μ—°μ‚°(Operation) : λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‘°μž‘ν•˜λŠ” κΈ°λ³Έ 도ꡬ
  • μ œμ•½ 쑰건(Constraint) : λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯될 수 μžˆλŠ” μ‹€μ œ λ°μ΄ν„°μ˜ λ…Όλ¦¬μ μΈ μ œμ•½ μ‘°κ±΄

 

이상

이상

ν…Œμ΄λΈ”μ—μ„œ 일뢀 μ†μ„±λ“€μ˜ μ’…μ†μœΌλ‘œ 인해 λ°μ΄ν„°μ˜ 쀑볡(Redundancy)이 λ°œμƒν•˜κ³ , 이 μ€‘λ³΅μœΌλ‘œ 인해 ν…Œμ΄λΈ” μ‘°μž‘ μ‹œ λ¬Έμ œκ°€ λ°œμƒν•˜λŠ” ν˜„μƒ

 

• μ΄μƒμ˜ μ’…λ₯˜

  • μ‚½μž… 이상(Insertion Anomaly) : μ‚½μž… μ‹œ, μ›ν•˜μ§€ μ•Šμ€ κ°’λ“€λ‘œ 인해 μ‚½μž…ν•  수 μ—†κ²Œ λ˜λŠ” ν˜„μƒ
  • μ‚­μ œ 이상(Deletion Anomaly) : μ‚­μ œ μ‹œ, μƒκ΄€μ—†λŠ” 값듀도 ν•¨κ»˜ μ‚­μ œ, 즉 연쇄 μ‚­μ œκ°€ λ°œμƒν•˜λŠ” ν˜„μƒ
  • κ°±μ‹  이상(Update Anomaly) : κ°±μ‹  μ‹œ, 일뢀 νŠœν”Œμ˜ μ •λ³΄λ§Œ κ°±μ‹ λ˜μ–΄ 정보에 λΆˆμΌμΉ˜μ„±μ΄ μƒκΈ°λŠ” ν˜„μƒ

 

ν•¨μˆ˜μ  쒅속(Functional Dependency)

ν•¨μˆ˜μ  쒅속

  • 원인 : ν…Œμ΄λΈ”μ—μ„œ 일뢀 μ†μ„±λ“€μ˜ μ’…μ†μœΌλ‘œ 인해 λ°μ΄ν„°μ˜ 쀑볡(Redundancy)이 λ°œμƒ
  • κ²°κ³Ό : 이 μ€‘λ³΅μœΌλ‘œ 인해 ν…Œμ΄λΈ” μ‘°μž‘ μ‹œ λ¬Έμ œκ°€ λ°œμƒν•˜λŠ” ν˜„μƒ
  • μ˜ˆμ‹œ
    • μ–΄λ–€ ν…Œμ΄λΈ” Rμ—μ„œ X와 Yλ₯Ό 각각 R의 속성 μ§‘ν•©μ˜ λΆ€λΆ„ 집합이닀.
    • 속성 X의 κ°’ 각각에 λŒ€ν•΄ μ‹œκ°„μ— 관계없이 항상 속성 Y의 값이 였직 ν•˜λ‚˜λ§Œ μ—°κ΄€λ˜μ–΄ μžˆλ‹€.
    • 이 λ•Œ, YλŠ” X에 ν•¨μˆ˜μ  쒅속 λ˜λŠ” Xκ°€ Yλ₯Ό ν•¨μˆ˜μ μœΌλ‘œ κ²°μ •ν•œλ‹€κ³  ν•˜κ³ , X → Y둜 ν‘œκΈ°ν•œλ‹€.

• ν•¨μˆ˜μ  μ’…μ†μ˜ μ’…λ₯˜

  • μ™„μ „ ν•¨μˆ˜μ  쒅속 : μ–΄λ–€ ν…Œμ΄λΈ” Rμ—μ„œ 속성 Yκ°€ λ‹€λ₯Έμ†μ„± 집합 X 전체에 λŒ€ν•΄ ν•¨μˆ˜μ  μ’…μ†μ΄λ©΄μ„œ 속성 집합 X의 μ–΄λ– ν•œ 진뢀뢄 집합 Z(즉, Z ⊂ X)에도 ν•¨μˆ˜μ  쒅속이 아닐 λ•Œ
  • λΆ€λΆ„ ν•¨μˆ˜μ  쒅속 : μ–΄λ–€ ν…Œμ΄λΈ” Rμ—μ„œ 속성 Yκ°€ λ‹€λ₯Έ 속성 집합 X 전체에 λŒ€ν•΄ ν•¨μˆ˜μ  μ’…μ†μ΄λ©΄μ„œ 속성 집합 X의 μž„μ˜μ˜ 진뢀뢄 집합에 λŒ€ν•΄ ν•¨μˆ˜μ  쒅속일 λ•Œ

 

μ •κ·œν™”(Normalization)

μ •κ·œν™”

ν…Œμ΄λΈ”μ˜ 속성듀이 μƒν˜Έ 쒅속적인 관계λ₯Ό κ°–λŠ” νŠΉμ„±μ„ μ΄μš©ν•˜μ—¬ ν…Œμ΄λΈ”μ„ 무손싀 λΆ„ν•΄ν•˜λŠ” κ³Όμ •

 

• μ •κ·œν™” κ³Όμ •

 

 

이행적 ν•¨μˆ˜μ  쒅속 : A → B이고 B → C일 λ•Œ A → Cλ₯Ό λ§Œμ‘±ν•˜λŠ” 관계

 

λ°˜μ •κ·œν™”(Denormalization)

λ°˜μ •κ·œν™”

ν…Œμ΄λΈ”μ˜ 속성듀이 μƒν˜Έ 쒅속적인 관계λ₯Ό κ°–λŠ” νŠΉμ„±μ„ μ΄μš©ν•˜μ—¬ ν…Œμ΄λΈ”μ„ λ¬΄μ†μ‹€ λΆ„ν•΄ν•˜λŠ” κ³Όμ •μ‹œμŠ€ν…œμ˜ μ„±λŠ₯ ν–₯상, 개발 및 운영의 νŽΈμ˜μ„± 등을 μœ„ν•΄ μ •κ·œν™”λœ 데이터 λͺ¨λΈμ„ 톡합, 쀑볡, λΆ„λ¦¬ν•˜λŠ” κ³Όμ •μœΌλ‘œ, μ˜λ„μ μœΌλ‘œ μ •κ·œν™” 원칙을 μœ„λ°°ν•˜λŠ” ν–‰μœ„

 

• λ°˜μ •κ·œν™” 방법

ν…Œμ΄λΈ” ν†΅ν•© 두 개의 ν…Œμ΄λΈ”μ΄ 쑰인(Join)λ˜λŠ” κ²½μš°κ°€ λ§Žμ•„ ν•˜λ‚˜μ˜ ν…Œμ΄λΈ”λ‘œ 합쳐 μ‚¬μš©ν•˜λŠ” 것이 μ„±λŠ₯ ν–₯상에 도움이 λ  κ²½μš° μˆ˜ν–‰ν•¨
ν…Œμ΄λΈ” λΆ„ν•  μˆ˜ν‰ λΆ„ν• (Horizontal Partitioning) : λ ˆμ½”λ“œ(Record)λ₯Ό κΈ°μ€€μœΌλ‘œ ν…Œμ΄λΈ”μ„ λΆ„ν• ν•˜λŠ” κ²ƒμœΌλ‘œ, λ ˆμ½”λ“œλ³„λ‘œ μ‚¬μš© λΉˆλ„μ˜ 차이가 큰 경우 μ‚¬μš© λΉˆλ„에 λ”°λΌ ν…Œμ΄λΈ”을 λΆ„할함

수직 λΆ„ν• (Vertical Partitioning)
: ν•˜λ‚˜μ˜ ν…Œμ΄λΈ”μ— 속성이 λ„ˆλ¬΄ λ§Žμ„ 경우 속성을 κΈ°μ€€μœΌλ‘œ ν…Œμ΄λΈ”μ„ λΆ„ν• ν•˜λŠ” κ²ƒ
쀑볡 ν…Œμ΄λΈ” μΆ”κ°€ μ—¬λŸ¬ ν…Œμ΄λΈ”μ—μ„œ 데이터λ₯Ό μΆ”μΆœν•΄μ„œ μ‚¬μš©ν•΄μ•Ό ν•˜κ±°λ‚˜ λ‹€λ₯Έ μ„œλ²„μ— μ €μž₯된 ν…Œμ΄λΈ”μ„ μ΄μš©ν•΄μ•Ό ν•˜λŠ” 경우 쀑볡 ν…Œμ΄λΈ”μ„ μΆ”κ°€ν•˜μ—¬ μž‘μ—…μ˜ νš¨μœ¨μ„±μ„ ν–₯μƒμ‹œν‚¬ μˆ˜ μžˆμŒ

μΆ”κ°€ 방법 : 집계 ν…Œμ΄λΈ”μ˜ μΆ”κ°€, 진행 ν…Œμ΄λΈ”μ˜ μΆ”κ°€, νŠΉμ • λΆ€λΆ„λ§Œμ„ ν¬ν•¨ν•˜λŠ” ν…Œμ΄λΈ”μ˜ μΆ”κ°€
쀑볡 속성 μΆ”κ°€ μ‘°μΈν•΄μ„œ 데이터λ₯Ό μ²˜λ¦¬ν•  λ•Œ 데이터λ₯Ό μ‘°νšŒν•˜λŠ” 경둜λ₯Ό λ‹¨μΆ•ν•˜κΈ° μœ„ν•΄ 자주 μ‚¬μš©ν•˜λŠ” 속성을 ν•˜λ‚˜ λ” μΆ”κ°€ν•˜λŠ” κ²ƒ

 

논리 데이터 λͺ¨λΈμ˜ 물리 데이터 λͺ¨λΈλ‘œ λ³€ν™˜
  • μ—”ν‹°ν‹°(Entity)λ₯Ό ν…Œμ΄λΈ”λ‘œ λ³€ν™˜ : 논리 데이터 λͺ¨λΈμ—μ„œ μ •μ˜λœ μ—”ν‹°ν‹°λ₯Ό 물리 데이터 λͺ¨λΈμ˜ ν…Œμ΄λΈ”λ‘œ λ³€ν™˜
  • μŠˆνΌνƒ€μž… κΈ°μ€€ ν…Œμ΄λΈ” λ³€ν™˜ : μ„œλΈŒνƒ€μž…μ„ μŠˆνΌνƒ€μž…μ— ν†΅ν•©ν•˜μ—¬ ν•˜λ‚˜μ˜ ν…Œμ΄λΈ”λ‘œ λ³€ν™˜
  • μ„œλΈŒνƒ€μž… κΈ°μ€€ ν…Œμ΄λΈ” λ³€ν™˜ : μŠˆνΌνƒ€μž… 속성듀을 각 μ„œλΈŒνƒ€μž…μ— μΆ”κ°€ν•˜μ—¬ μ„œλΈŒνƒ€μž…λ“€μ„ κ°œλ³„μ μΈ ν…Œμ΄λΈ”λ‘œ λ³€ν™˜
  • κ°œλ³„νƒ€μž… κΈ°μ€€ ν…Œμ΄λΈ” λ³€ν™˜ : μŠˆνΌνƒ€μž…κ³Ό μ„œλΈŒνƒ€μž…λ“€μ„ κ°œλ³„μ μΈ ν…Œμ΄λΈ”λ‘œ λ³€ν™˜
  • 속성을 컬럼으둜 λ³€ν™˜ : 논리 데이터 λͺ¨λΈμ—μ„œ μ •μ˜ν•œ 속성을 λ¬Όλ¦¬ λ°μ΄ν„° λͺ¨λΈμ˜ μ»¬λŸΌμœΌλ‘œ λ³€ν™˜
  • 관계λ₯Ό μ™Έλž˜ν‚€λ‘œ λ³€ν™˜ : 논리 데이터 λͺ¨λΈμ—μ„œ μ •μ˜λœ κ΄€κ³„λŠ” κΈ°λ³Έν‚€μ™€ μ΄λ₯Ό μ°Έμ‘°ν•˜λŠ” μ™Έλž˜ν‚€λ‘œ λ³€ν™˜

 

인덱슀(Index)

인덱슀

데이터 λ ˆμ½”λ“œλ₯Ό λΉ λ₯΄κ²Œ μ ‘κ·Όν•˜κΈ° μœ„ν•΄ <ν‚€ κ°’, 포인터> 쌍으둜 κ΅¬μ„±λ˜λŠ” 데이터 ꡬ쑰

 

• 인덱슀 λΆ„λ₯˜

ν΄λŸ¬μŠ€ν„°λ“œ 인덱슀(Clustered Index) 인덱슀 ν‚€μ˜ μˆœμ„œμ— 따라 데이터가 μ •λ ¬λ˜μ–΄ μ €μž₯λ˜λŠ” 방식
λ„Œν΄λŸ¬μŠ€ν„°λ“œ 인덱슀(Non-Clustered Index) 인덱 슀의 ν‚€ κ°’λ§Œ μ •λ ¬λ˜μ–΄ μžˆμ„ 뿐 μ‹€μ œ λ°μ΄ν„°λŠ” μ •λ ¬λ˜μ§€ μ•ŠλŠ” 방식

 

• 인덱슀 μ’…λ₯˜

  • 트리 기반 인덱슀 : 인덱슀λ₯Ό μ €μž₯ν•˜λŠ” 블둝듀이 트리 ꡬ쑰λ₯Ό 이루고 μžˆλŠ” κ²ƒμœΌλ‘œ, μƒμš© DBMSμ—μ„œλŠ” 트리 ꡬ쑰 기반의 B+ νŠΈλ¦¬ μΈλ±μŠ€λ₯Ό μ£Όλ‘œ ν™œμš©ν•¨
  • λΉ„νŠΈλ§΅ 인덱슀 : 인덱슀 컬럼의 데이터λ₯Ό Bit 값인 0 λ˜λŠ” 1둜 λ³€ν™˜ν•˜μ—¬ μΈλ±μŠ€ ν‚€λ‘œ μ‚¬μš©ν•˜λŠ” λ°©λ²•
  • ν•¨μˆ˜ 기반 인덱슀 : 컬럼의 κ°’ λŒ€μ‹  μ»¬λŸΌμ— νŠΉμ • ν•¨μˆ˜(Function)λ‚˜ μˆ˜μ‹(Expression)을 μ μš©ν•˜μ—¬ μ‚°μΆœλœ 값을 μ‚¬μš©ν•˜λŠ” κ²ƒμœΌλ‘œ, B+ 트리 인덱슀 λ˜λŠ” λΉ„νŠΈλ§΅ 인덱슀λ₯Ό μƒμ„±ν•˜μ—¬ μ‚¬μš©ν•¨
  • λΉ„νŠΈλ§΅ 쑰인 인덱슀 : λ‹€μˆ˜μ˜ 쑰인된 객체둜 κ΅¬μ„±λœ 인덱슀둜, 단일 객체둜 κ΅¬μ„±λœ 일반적인 μΈλ±μŠ€μ™€ μ•‘μ„ΈμŠ€ 방법이 닀름
  • 도메인 인덱슀 : κ°œλ°œμžκ°€ ν•„μš”ν•œ 인덱슀λ₯Ό 직접 λ§Œλ“€μ–΄ μ‚¬μš©ν•˜λŠ” κ²ƒμœΌλ‘œ, ν™•μž₯ν˜• μΈλ±μŠ€(Extensible Index)라고도 ν•¨

 

λ·°(View)

λ·°

μ‚¬μš©μžμ—κ²Œ 접근이 ν—ˆμš©λœ μžλ£Œλ§Œμ„ μ œν•œμ μœΌλ‘œ 보여주기 μœ„ν•΄ ν•˜λ‚˜ μ΄μƒμ˜ κΈ°λ³Έ ν…Œμ΄λΈ”λ‘œλΆ€ν„° μœ λ„λœ 이름을 κ°€μ§€λŠ” 가상 ν…Œμ΄λΈ”

 

• 뷰의 νŠΉμ§•

  1. μ €μž₯μž₯치 내에 물리적으둜 μ‘΄μž¬ν•˜μ§€ μ•Šμ§€λ§Œ, μ‚¬μš©μžμ—κ²ŒλŠ” μžˆλŠ” κ²ƒμ²˜λŸΌ κ°„μ£Όλœλ‹€.
  2. CREATE문으둜 μ •μ˜ν•˜κ³ , DROP문으둜 μ œκ±°ν•œλ‹€.
  3. λ°μ΄ν„°μ˜ 논리적 독립성을 μ œκ³΅ν•œλ‹€.

 

νŠΈλžœμž­μ…˜(Transaction)

νŠΈλžœμž­μ…˜

λ°μ΄ν„°λ² μ΄μŠ€μ˜ μƒνƒœλ₯Ό λ³€ν™˜μ‹œν‚€λŠ” ν•˜λ‚˜μ˜ 논리적 κΈ°λŠ₯을 μˆ˜ν–‰ν•˜κΈ° μœ„ν•œ μž‘μ—…μ˜ λ‹¨μœ„ λ˜λŠ” ν•œκΊΌλ²ˆμ— λͺ¨λ‘ μˆ˜ν–‰λ˜μ–΄μ•Ό ν•  일련의 μ—°μ‚°

 

• νŠΈλžœμž­μ…˜ νŠΉμ§•

  1. Atomicity (μ›μžμ„±) : νŠΈλžœμž­μ…˜μ˜ 연산은 λ°μ΄ν„°λ² μ΄μŠ€μ— λͺ¨λ‘ λ°˜μ˜λ˜λ„λ‘ μ™„λ£Œ(Commit)λ˜λ“ μ§€ μ•„λ‹ˆλ©΄ μ „ν˜€ λ°˜μ˜λ˜μ§€ μ•Šλ„λ‘ 볡ꡬ(Rollback)λ˜μ–΄μ•Ό 함
  2. Consistency (일관성) : νŠΈλžœμž­μ…˜μ΄ κ·Έ 싀행을 μ„±κ³΅μ μœΌλ‘œ μ™„λ£Œν•˜λ©΄ μ–Έμ œλ‚˜ 일관성 μžˆλŠ” λ°μ΄ν„°λ² μ΄μŠ€ μƒνƒœλ‘œ λ³€ν™˜ν•¨
  3. Isolation (독립성) : λ‘˜ μ΄μƒμ˜ νŠΈλžœμž­μ…˜μ΄ λ™μ‹œμ— 병행 μ‹€ν–‰λ˜λŠ” 경우 μ–΄λŠ ν•˜λ‚˜μ˜ νŠΈλžœμž­μ…˜ 싀행쀑에 λ‹€λ₯Έ νŠΈλžœμž­μ…˜μ˜ 연산이 끼어듀 수 μ—†μŒ
  4. Durability (지속성) : μ„±κ³΅μ μœΌλ‘œ μ™„λ£Œλœ νŠΈλžœμž­μ…˜μ˜ κ²°κ³ΌλŠ” μ‹œμŠ€ν…œμ΄ κ³ μž₯λ‚˜λ”λΌλ„ 영ꡬ적으둜 λ°˜μ˜λ˜μ–΄μ•Ό 함

 

ν΄λŸ¬μŠ€ν„°(Cluster)

ν΄λŸ¬μŠ€ν„°

데이터 μ €μž₯ μ‹œ 데이터 μ•‘μ„ΈμŠ€ νš¨μœ¨μ„ ν–₯μƒμ‹œν‚€κΈ° μœ„ν•΄ λ™μΌν•œ μ„±κ²©μ˜ 데이터λ₯Ό λ™μΌν•œ 데이터 블둝에 μ €μž₯ν•˜λŠ” 물리적 μ €μž₯ 방법

 

ν΄λŸ¬μŠ€ν„° νŠΉμ§•

  • ν΄λŸ¬μŠ€ν„°λ§ν‚€λ‘œ μ§€μ •λœ 컬럼 κ°’μ˜ μˆœμ„œλŒ€λ‘œ μ €μž₯되고, μ—¬λŸ¬ 개의 ν…Œμ΄λΈ”μ΄ ν•˜λ‚˜μ˜ ν΄λŸ¬μŠ€ν„°μ— μ €μž₯λœλ‹€.
  • ν΄λŸ¬μŠ€ν„°λ§ 된 ν…Œμ΄λΈ”μ€ 데이터 쑰회 μ†λ„λŠ” ν–₯μƒμ‹œν‚€μ§€λ§Œ 데이터 μž…λ ₯, μˆ˜μ •, μ‚­μ œμ— λŒ€ν•œ μ„±λŠ₯은 μ €ν•˜μ‹œν‚¨λ‹€.
  • 처리 λ²”μœ„κ°€ 넓은 κ²½μš°μ—λŠ” 단일 ν…Œμ΄λΈ” ν΄λŸ¬μŠ€ν„°λ§μ„, 쑰인이 많이 λ°œμƒν•˜λŠ” κ²½μš°μ—λŠ” 닀쀑 ν…Œμ΄λΈ” ν΄λŸ¬μŠ€ν„°λ§μ„ μ‚¬μš©ν•œλ‹€.

 

νŒŒν‹°μ…˜(Patition)

νŒŒν‹°μ…˜

λŒ€μš©λŸ‰μ˜ ν…Œμ΄λΈ”μ΄λ‚˜ 인덱슀λ₯Ό μž‘μ€ 논리적 λ‹¨μœ„λ‘œ λ‚˜λˆ„λŠ” 것

 

 

• λ°˜μ •κ·œν™” λ°©λ²•νŒŒν‹°μ…”λ‹ λ°©μ‹μ— λ”°λ₯Έ νŒŒν‹°μ…˜μ˜ μ’…λ₯˜

  • λ²”μœ„ λΆ„ν•  (Range Partitioning) : μ§€μ •ν•œ μ—΄μ˜ 값을 κΈ°μ€€μœΌλ‘œ λΆ„ν• 
  • ν•΄μ‹œ λΆ„ν•  (Hash Partitioning) :ν•΄μ‹œ ν•¨μˆ˜λ₯Ό μ μš©ν•œ κ²°κ³Ό 값에 따라 데이터λ₯Ό λΆ„ν• 
  • μ‘°ν•© λΆ„ν•  (Composite Partitioning) : λ²”μœ„ λΆ„ν• λ‘œ λΆ„ν• ν•œ λ‹€μŒ ν•΄μ‹œ ν•¨μˆ˜λ₯Ό μ μš©ν•˜μ—¬ λ‹€μ‹œ λΆ„ν• 

 

λ°μ΄ν„°λ² μ΄μŠ€ μš©λŸ‰ μ„€κ³„

λ°μ΄ν„°λ² μ΄μŠ€ μš©λŸ‰ 섀계

데이터가 μ €μž₯될 곡간을 μ •μ˜ν•˜λŠ” 것

 

• νŠΉμ§•

  • λ°μ΄ν„°λ² μ΄μŠ€ μš©λŸ‰μ„ 섀계할 λ•ŒλŠ” ν…Œμ΄λΈ”μ— μ €μž₯ν•  데이터양과 인덱슀, ν΄λŸ¬μŠ€ν„° 등이 μ°¨μ§€ν•˜λŠ” 곡간 등을 μ˜ˆμΈ‘ν•˜μ—¬ λ°˜μ˜ν•΄μ•Ό ν•œλ‹€.
  • λ°μ΄ν„°λ² μ΄μŠ€μ˜ μš©λŸ‰μ„ μ •ν™•νžˆ μ‚°μ •ν•˜μ—¬ λ””μŠ€ν¬μ˜ μ €μž₯ 곡간을 νš¨κ³Όμ μœΌλ‘œ μ‚¬μš©ν•˜κ³  ν™•μž₯μ„± λ° κ°€μš©μ„±μ„ λ†’인닀.

 

• λ°μ΄ν„° μ ‘근성을 ν–₯μƒμ‹œν‚€λŠ” μ„€κ³„ λ°©λ²•

  1. ν…Œμ΄λΈ”μ˜ ν…Œμ΄λΈ”μŠ€νŽ˜μ΄μŠ€μ™€ 인덱슀의 ν…Œμ΄λΈ”μŠ€νŽ˜μ΄μŠ€λ₯Ό λΆ„λ¦¬ν•˜μ—¬ κ΅¬μ„±ν•œλ‹€.
  2. ν…Œμ΄λΈ”μŠ€νŽ˜μ΄μŠ€μ™€ μž„μ‹œ ν…Œμ΄λΈ”μŠ€νŽ˜μ΄μŠ€λ₯Ό λΆ„λ¦¬ν•˜μ—¬ κ΅¬μ„±ν•œλ‹€.
  3. ν…Œμ΄λΈ”μ„ λ§ˆμŠ€ν„° ν…Œμ΄λΈ”κ³Ό νŠΈλžœμž­μ…˜ ν…Œμ΄λΈ”λ‘œ λΆ„λ₯˜ν•œλ‹€.
728x90
λ°˜μ‘ν˜•