CS/πŸ—„οΈ Data

CS/πŸ—„οΈ Data

[Data] 데이터 νŠΈλžœμž­μ…˜ - @Transactional

νŠΈλžœμž­μ…˜μ΄λž€ νŠΈλžœμž­μ…˜μ€ λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ μˆ˜ν–‰λ˜λŠ” μž‘μ—…λ“€μ„ 논리적인 μž‘μ—… λ‹¨μœ„λ‘œ λ¬Άμ–΄ μ•ˆμ „ν•˜κ²Œ μ‹€ν–‰ν•  수 μžˆλ„λ‘ λ„μ™€μ£ΌλŠ” 것이닀. πŸ”Ή ACID μ„±μ§ˆ μ›μžμ„± : νŠΈλžœμž­μ…˜κ³Ό κ΄€λ ¨λœ μž‘μ—…λ“€μ΄ λΆ€λΆ„μ μœΌλ‘œ μ‹€ν–‰λ˜λ‹€κ°€ μ€‘λ‹¨λ˜μ§€ μ•ŠλŠ” 것 보μž₯ MVCC βž” Undo Log ν†΅ν•΄μ„œ νŠΈλžœμž­μ…˜ μ‹€νŒ¨ μ‹œ rollback 일관성 : νŠΈλžœμž­μ…˜μ΄ 싀행을 μ„±κ³΅μ μœΌλ‘œ μ™„λ£Œν•˜λ©΄ μ–Έμ œλ‚˜ 일관성 μžˆλŠ” λ°μ΄ν„°λ² μ΄μŠ€ μƒνƒœλ‘œ μœ μ§€ πŸ‘‰ λ°μ΄ν„°μ˜ 무결성 보μž₯ μ œμ•½ 쑰건 ν†΅ν•΄μ„œ 일관성 보μž₯ βž” ex) μœ λ‹ˆν¬ μ œμ•½, μ™Έλž˜ν‚€ μ œμ•½ λ“± 독립성 : νŠΈλžœμž­μ…˜μ„ μˆ˜ν–‰ μ‹œ λ‹€λ₯Έ νŠΈλžœμž­μ…˜μ˜ μ—°μ‚° μž‘μ—…μ΄ 끼어듀지 λͺ»ν•˜λ„둝 보μž₯ πŸ‘‰ μ„±λŠ₯ κ΄€λ ¨ 이유둜 인해 κ°€μž₯ μœ μ—°μ„± μžˆλŠ” μ œμ•½ 쑰건 νŠΈλžœμž­μ…˜ 격리레벨 ν†΅ν•΄μ„œ 보μž₯ 지속성 : μ„±κ³΅μ μœΌλ‘œ μˆ˜ν–‰λœ νŠΈλžœμž­μ…˜μ€ μ˜μ›νžˆ λ°˜μ˜λ˜μ–΄μ•Ό..

CS/πŸ—„οΈ Data

[Data] 인덱슀둜 쑰회 μ΅œμ ν™”μ‹œν‚€κΈ°

λ°μ΄ν„°λ² μ΄μŠ€ μ„±λŠ₯의 핡심은 λ””μŠ€ν¬μ˜ 랜덀 I/O(μ ‘κ·Ό)을 μ΅œμ†Œν™”μ‹œν‚€λŠ” 것이닀. 인덱슀λ₯Ό ν™œμš©ν•˜λ©΄ 쑰회λ₯Ό μ΅œμ ν™”μ‹œν‚¬ 수 μžˆλ‹€. 인덱슀 μΈλ±μŠ€λŠ” μ •λ ¬λœ 자료ꡬ쑰둜 이λ₯Ό 톡해 νƒμƒ‰λ²”μœ„λ₯Ό μ΅œμ†Œν™”ν•  수 μžˆλ‹€. μΈλ±μŠ€λ„ ν…Œμ΄λΈ”μ΄κΈ° λ•Œλ¬Έμ— 쿼리가 λ‚ μ•„μ˜€λ©΄ 인덱슀λ₯Ό μ‘°νšŒν•œ ν›„ 찾은 κ²°κ³Όλ₯Ό λ‹€μ‹œ μ›λ³Έλ°μ΄ν„°λ‘œ λŒμ•„κ°€ μ–»κ²Œ λœλ‹€. 인덱슀 자료ꡬ쑰 HashMap 단건 검색 속도 βž” O(1) λ²”μœ„ 탐색 βž” O(N) like 'AB%' 와 같은 쿼리문을 μ‚¬μš©ν•  λ•Œ ν‚€λ₯Ό ν•˜λ‚˜ν•˜λ‚˜ κΊΌλ‚΄μ„œ 비ꡐ해야함 List μ •λ ¬λ˜μ§€ μ•Šμ€ 리슀트 탐색 βž” O(N) μ •λ ¬λœ 리슀트 탐색 βž” O(logN) μ •λ ¬λ˜μ§€ μ•Šμ€ 리슀트의 μ •λ ¬ μ‹œκ°„ λ³΅μž‘λ„ βž” O(N) ~ O(N*logN) μ‚½μž… 및 μ‚­μ œ λΉ„μš© 맀우 λ†’μŒ Tree 트리 높이에 따라 μ‹œκ°„ λ³΅μž‘λ„κ°€ κ²°μ •..

soogoori
'CS/πŸ—„οΈ Data' μΉ΄ν…Œκ³ λ¦¬μ˜ κΈ€ λͺ©λ‘