[DB] ⛏️ 데이터 λ§ˆμ΄λ‹(Data Mining)
Β·
Database/λ°μ΄ν„°λ² μ΄μŠ€ 이둠
Data Mining?λŒ€κ·œλͺ¨μ˜ λ°μ΄ν„°λ‘œλΆ€ν„° λ°μ΄ν„°μ˜ νŒ¨ν„΄μ΄λ‚˜ κ·œμΉ™ λ“±μ˜ μœ μš©ν•œ 정보λ₯Ό μžλ™μœΌλ‘œ λ°œκ²¬ν•˜λŠ” μ‘μš© 및 방법(Knowledge Discovery)이닀.톡계학, 인곡지λŠ₯, λ°μ΄ν„°λ² μ΄μŠ€ λ“± λ‹€μ–‘ν•œ 뢄야에 μ‚¬μš©λœλ‹€.λŒ€ν‘œμ μœΌλ‘œ Association Rules(μ—°κ΄€κ·œμΉ™), Clustering(ꡰ집화), Classfication(λΆ„λ₯˜), Regression(νšŒκ·€) 등이 μžˆλ‹€.첫번째 그림은 데이터 λ§ˆμ΄λ‹μ˜ ν”„λ‘œμ„ΈμŠ€λ₯Ό λ‚˜νƒ€λ‚Έλ‹€.  (데이터 -> μ€€λΉ„ -> λ§ˆμ΄λ‹ μ•Œκ³ λ¦¬μ¦˜ -> 데이터 뢄석)λ‘λ²ˆμ§Έ 그림은 κ·Έ μ˜ˆμ‹œμ΄λ‹€. λŒ€μΆœ μ‹ μ²­μ„œ 및 κ΄€λ ¨ 데이터가 정리 및 λ³€ν™˜λœλ‹€. 이 λ°μ΄ν„°λŠ” λŒ€μΆœ 승인 λ˜λŠ” κ±°μ ˆμ„ μ˜ˆμΈ‘ν•˜λŠ”λ° μ‚¬μš© 될 것이닀. μ•Œκ³ λ¦¬μ¦˜μ΄ 데이터λ₯Ό λΆ„μ„ν•˜μ—¬ λͺ¨λΈμ„ μƒμ„±ν•˜κ³ , ν•™μŠ΅λœ λͺ¨λΈμ΄ λŒ€μΆœ μ‹ μ²­ 데이터λ₯Ό ..
[DB] πŸ“š Big Data 기술(feat. MapReduce, Hadoop)
Β·
Database/λ°μ΄ν„°λ² μ΄μŠ€ 이둠
데이터가 폭발적으둜 μ¦κ°€ν•˜λŠ” 였늘 λ‚ , 데이터λ₯Ό 효과적으둜 μ €μž₯ν•˜κ³  λΆ„μ„ν•˜λŠ” 방법은 λΉ„μ¦ˆλ‹ˆμŠ€ μ„±κ³΅μ˜ 핡심 μš”μ†Œκ°€ λ˜μ—ˆλ‹€.전톡적인 κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€ 관리 μ‹œμŠ€ν…œ(RDBMS)λΆ€ν„° λŒ€κ·œλͺ¨ 데이터λ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•œ 빅데이터 κΈ°μˆ κΉŒμ§€, 데이터 κ΄€λ¦¬μ˜ 방식은 점점 더 닀양해지고 μžˆλ‹€.  μ΄λ²ˆ ν¬μŠ€νŒ…μ—μ„œλŠ” RDBMS와 λΉ…λ°μ΄ν„°μ˜ 관계λ₯Ό μ‹œμž‘μœΌλ‘œ, 데이터 μ›¨μ–΄ν•˜μš°μŠ€(DW)와 데이터 레이크(DL)의 차이, 온라인 νŠΈλžœμž­μ…˜ 처리(OLTP)와 온라인 뢄석 처리(OLAP)의 차이점, MapRduce의 원리와 μ—­ν• , Hadoop 에코 μ‹œμŠ€ν…œ, 그리고 λΆ„μ‚° μ‹œμŠ€ν…œμ˜ κ°œλ…κΉŒμ§€ μ‚΄νŽ΄λ³΄λ©° ν˜„λŒ€ 데이터 κ΄€λ¦¬μ˜ μ „λ°˜μ μΈ 흐름을 μ΄ν•΄ν•΄λ³΄κ³ μž ν•œλ‹€.  λΉ…λ°μ΄ν„°μ˜ μ •μ˜λΉ…λ°μ΄ν„°(Big Data)λŠ” κΈ°μ‘΄ 데이터 처리 μ†Œν”„νŠΈμ›¨μ–΄λ‘œλŠ” λ‹€λ£° 수 없을..
[DB] πŸ“š NoSQL의 νŠΉμ§•κ³Ό μ’…λ₯˜
Β·
Database/λ°μ΄ν„°λ² μ΄μŠ€ 이둠
NoSQL이 무엇이고, μ‚¬μš© λͺ©μ μ΄ 무엇인지 닀루기에 μ•žμ„œ, RDBMSμ™€μ˜ 비ꡐ가 ν•„μš”ν•˜λ‹€.전톡적인 RDBMS의 νŠΉμ§•RDBMSλŠ” κ΄€κ³„ν˜• 데이터 λͺ¨λΈμ΄λ©°, SQL을 톡해 μ‘°μž‘ν•  수 μžˆλ‹€. κ΄€κ³„ν˜•μ˜ νŠΉμ§•μ„ μ‚΄λ € λ‹€μ–‘ν•œ 쿼리λ₯Ό μž‘μ„±ν•˜κ³  μ •κ·œν™”, νŠΈλžœμž­μ…˜, λ³‘ν–‰μ²˜λ¦¬, 2PL, Recovery, Log ... λ“±λ“± λ‹€μ–‘ν•œ κΈ°λŠ₯이 μ‘΄μž¬ν•˜κ³ ,이λ₯Ό ν™œμš©ν•˜μ—¬ λ‹€μ–‘ν•œ μš”κ΅¬μ‚¬ν•­μ„ κ΅¬ν˜„ν•˜κ³  μ΅œμ ν™”ν•˜λŠ” λ“± μ„±λŠ₯μ μœΌλ‘œλŠ” ν›Œλ₯­ν•œ μ²˜λ¦¬κ°€ κ°€λŠ₯ν•˜λ‹€.  μ΄λ ‡κ²Œ λ‹€μ–‘ν•œ κΈ°λŠ₯을 κ°–μΆ”κ³  μžˆμ§€λ§Œ, 문제점 λ˜ν•œ 만만치 μ•Šλ‹€.λΉ„μš©: RDBMSλŠ” λ‹€μ–‘ν•œ κΈ°λŠ₯λ§ŒνΌμ΄λ‚˜ λΉ„μš©λ„ 많이 λ“œλŠ” νŽΈμ΄λ‹€. 데이터가 λ§Žμ•„μ§€κ³  μ‚¬μš©ν•˜λŠ” μœ μ €(μ ‘μ†λŸ‰)κ°€ λ§Žλ‹€λ©΄ DBλ₯Ό μ—¬λŸΏ 닀뀄야 ν•˜λŠ”λ°, λΉ„μš©μ΄ 많이 λ“€μ–΄ 쉽지 μ•Šλ‹€.μŠ€ν‚€λ§ˆ: μ •ν˜•λœ μŠ€ν‚€λ§ˆκ°€ μ—†μœΌλ©΄ λ¬Έμ œκ°€ λ°œμƒν•œλ‹€. ..
[DB] πŸ“š λ°μ΄ν„°λ² μ΄μŠ€ 인덱싱 πŸ—‚οΈ ꡬ쑰 with MySQL
Β·
Database/λ°μ΄ν„°λ² μ΄μŠ€ 이둠
λ³Έ ν¬μŠ€νŒ…μ€ 학ꡐ μˆ˜μ—…μ—μ„œ μ§„ν–‰ν•˜λŠ” 이둠,μ‹€μŠ΅μ— λŒ€ν•΄ μ •λ¦¬ν•˜λŠ” ν¬μŠ€νŒ… μž…λ‹ˆλ‹€. κ³΅λΆ€μš©μœΌλ‘œ μž‘μ„±ν•˜λŠ” ν¬μŠ€νŒ…μœΌλ‘œ 였λ₯˜κ°€ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ μΈλ±μŠ€λŠ” μ„±λŠ₯ μ΅œμ ν™”λ₯Ό μœ„ν•œ 핡심 λ„κ΅¬λ‘œμ„œ λŒ€κ·œλͺ¨ 데이터 처리 속도λ₯Ό 획기적으둜 ν–₯μƒμ‹œν‚¬ 수 μžˆλ‹€.이번 κΈ€μ—μ„œλŠ” 인덱슀의 κ°œλ…, μž‘λ™ 원리, μž₯단점, μ‚¬μš©μ‹œ μœ μ˜μ‚¬ν•­ 등을 닀뀄본닀.   λ°μ΄ν„°λ² μ΄μŠ€ μΈλ±μŠ€λž€μΈλ±μŠ€λŠ” μ±…μ˜ μƒ‰μΈμ²˜λŸΌ, λ°μ΄ν„°λ² μ΄μŠ€ ν…Œμ΄λΈ”μ—μ„œ νŠΉμ • 데이터λ₯Ό λΉ λ₯΄κ²Œ 찾을 수 μžˆλ„λ‘ μ„€κ³„λœ 자료 ꡬ쑰이닀. 데이터 검색 μ‹œ 전체 ν…Œμ΄λΈ”μ„ μŠ€μΊ”ν•˜μ§€ μ•Šκ³ , 인덱슀λ₯Ό 톡해 μ›ν•˜λŠ” 데이터에 λΉ λ₯΄κ²Œ μ ‘κ·Όν•  수 μžˆλ‹€. λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ μ›ν•˜λŠ” 데이터λ₯Ό μ‘°νšŒν•  λ•Œ, μ˜ˆμ‹œμ™€ 같이 쿼리λ₯Ό 짜고 μ ‘κ·Όν•˜κ²Œ 되면, λ°μ΄ν„°λ² μ΄μŠ€λŠ” age 컬럼의 λͺ¨λ“  값을 λ’€μ§€λ©΄μ„œ 쑰건에 맞..
[DB] πŸ“š λ™μ‹œμ„± μ œμ–΄(Concurrency Control) with MySQL
Β·
Database/λ°μ΄ν„°λ² μ΄μŠ€ 이둠
λ³Έ ν¬μŠ€νŒ…μ€ 학ꡐ μˆ˜μ—…μ—μ„œ μ§„ν–‰ν•˜λŠ” 이둠,μ‹€μŠ΅μ— λŒ€ν•΄ μ •λ¦¬ν•˜λŠ” ν¬μŠ€νŒ… μž…λ‹ˆλ‹€. κ³΅λΆ€μš©μœΌλ‘œ μž‘μ„±ν•˜λŠ” ν¬μŠ€νŒ…μœΌλ‘œ 였λ₯˜κ°€ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. λ³‘ν–‰ μ œμ–΄(Concurrency Control)λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œμ˜ μ£Όμš” λͺ©ν‘œλŠ” 일관성과 κ³΅μš©μ„±μ΄λ‹€.κ³΅μš©μ„±μ€ μ—¬λŸ¬ μ‚¬μš©μžκ°€ 데이터 베이슀λ₯Ό 이용 κ°€λŠ₯ν•˜λ„λ‘ ν•˜λŠ” 것을 μ˜λ―Έν•˜λŠ”λ°,μ΄λ ‡κ²Œ 되면, 좩돌이 λ°œμƒν•  수 밖에 μ—†λ‹€. κ·ΈλŸΌμ—λ„ λ™μ‹œ 곡용(Concurrent Sharing)은 κ³΅μš©λ„ 증가, μ‘λ‹΅μ‹œκ°„μ˜ 단좕, μ‹œμŠ€ν…œ ν™œμš©λ„ μ¦λŒ€ λ“±μ˜ 이점을 μœ„ν•΄ ν•„μš”ν•˜λ‹€.  λ³‘ν–‰ μ œμ–΄λŠ” λ‹€μ–‘ν•œ 기법이 μ‘΄μž¬ν•œλ‹€.Locking: κ³΅μœ ν•­λͺ©μ— λŒ€ν•΄ λ‹€λ₯Έ νŠΈλžœμž­μ…˜μ—μ„œλŠ” read만 κ°€λŠ₯ν•˜λ„λ‘ (Shared  Lock), ν˜Ήμ€ read/write λ‘˜λ‹€ λΆˆκ°€λŠ₯ν•˜λ„λ‘(Exclusive Lock)2Pha..
[DB] πŸ“š νŠΈλžœμž­μ…˜(Transaction), 회볡(Recovery) with MySQL
Β·
Database/λ°μ΄ν„°λ² μ΄μŠ€ 이둠
λ³Έ ν¬μŠ€νŒ…μ€ 학ꡐ μˆ˜μ—…μ—μ„œ μ§„ν–‰ν•˜λŠ” 이둠,μ‹€μŠ΅μ— λŒ€ν•΄ μ •λ¦¬ν•˜λŠ” ν¬μŠ€νŒ… μž…λ‹ˆλ‹€. κ³΅λΆ€μš©μœΌλ‘œ μž‘μ„±ν•˜λŠ” ν¬μŠ€νŒ…μœΌλ‘œ 였λ₯˜κ°€ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. νŠΈλžœμž­μ…˜νŠΈλžœμž­μ…˜μ€ μ—¬λŸ¬ μ‚¬μš©μžκ°€ (λ™μ‹œμ—) λ™μΌν•œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ³΅μœ ν•  수 μžˆλ„λ‘ μ§€μ›ν•œλ‹€.λ™μ‹œμ— μ‚¬μš©ν•  λ•Œ, λ°μ΄ν„°λ² μ΄μŠ€λŠ” 일관성(consistency)을 보μž₯ν•˜κΈ° μœ„ν•΄ λ™μ‹œμ„± μ œμ–΄(concurrency control)κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€.μ •μ˜: DB μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” λ‹¨μœ„ ν”„λ‘œμ„ΈμŠ€μ΄μž 회볡(Recovery)의 논리적 λ‹¨μœ„ (예: κ³„μ’Œμ΄μ²΄, μ’Œμ„μ˜ˆμ•½) Begin_Trans...End_Trans νŠΈλžœμž­μ…˜μ€ λ‹€μŒκ³Ό 같은 μ„±μ§ˆμ„ κ°–λŠ”λ‹€.μ›μžμ„±(Atomicity): νŠΈλžœμž­μ…˜κ³Ό κ΄€λ ¨λœ μž‘μ—…λ“€μ΄ λΆ€λΆ„μ μœΌλ‘œ μ‹€ν–‰λ˜λ‹€κ°€ μ€‘λ‹¨λ˜μ§€ μ•ŠλŠ” 것을 보μž₯ν•˜λŠ” λŠ₯λ ₯일관성(Consistency): 트랜잭..