[DB] ์ž์—ฐํ‚ค์™€ ์ธ์กฐํ‚ค ์ค‘ ์–ด๋–ค๊ฑธ ๊ธฐ๋ณธํ‚ค๋กœ ๋‘ฌ์•ผ ํ• ๊นŒ?

[DB] ์ž์—ฐํ‚ค์™€ ์ธ์กฐํ‚ค ์ค‘ ์–ด๋–ค๊ฑธ ๊ธฐ๋ณธํ‚ค๋กœ ๋‘ฌ์•ผ ํ• ๊นŒ?

1. ๊ฐœ์š”๊น€์˜ํ•œ ๊ฐ•์‚ฌ๋‹˜์˜ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ ์›น ๊ฐœ๋ฐœ์„ ๊ณต๋ถ€ํ•˜๊ธฐ ์‹œ์ž‘ํ•œ ์ดํ›„, ๊ธฐ๋ณธ ํ‚ค ์ „๋žต์„ ์„ค์ •ํ•  ๋•Œ ํ•ญ์ƒ ์ธ์กฐํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด์™”๋‹ค.ํŠน๋ณ„ํžˆ ์ด์œ ๋ฅผ ๊ณ ๋ฏผํ•ด๋ณด์ง€ ์•Š๊ณ  ์Šต๊ด€์ ์œผ๋กœ ์ธ์กฐํ‚ค๋ฅผ ์„ ํƒํ•ด์™”๋Š”๋ฐ, ์ตœ๊ทผ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ค‘์— "์ด๋ฏธ ๊ณ ์œ ํ•œ ๊ฐ’์ด ์กด์žฌํ•˜๋Š”๋ฐ, ์™œ ๊ตณ์ด ๋ณ„๋„์˜ ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€ํ•ด ์ธ์กฐํ‚ค๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š๋ƒ"๋Š” ์งˆ๋ฌธ์„ ๋ฐ›๊ฒŒ ๋˜์—ˆ๋‹ค. ํ•œ ๋ฒˆ๋„ ๊นŠ์ด ์ƒ๊ฐํ•ด๋ณธ ์  ์—†๋Š” ๋ถ€๋ถ„์ด์—ˆ๊ธฐ์—, ์ด๋ฒˆ ๊ธฐํšŒ์— ์ž์—ฐํ‚ค์™€ ์ธ์กฐํ‚ค์˜ ์žฅ๋‹จ์ ์„ ๋น„๊ตํ•ด๋ณด๊ณ , ์–ด๋–ค ํ‚ค๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์€์ง€ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค.          2. ์ž์—ฐํ‚ค? ์ธ์กฐํ‚ค?์ž์—ฐํ‚ค๋ž€ ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ์—์„œ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋‚˜์˜ค๋Š” ์†์„ฑ์ด๋‹ค.ํšŒ์› ๋ฐ์ดํ„ฐ๋ฅผ ์˜ˆ๋กœ ๋“ค๋ฉด, ํšŒ์› ID๋Š” ๊ณ ์œ ํ•œ ๊ฐ’์ด๋ฉฐ ๋ณ€๊ฒฝ๋  ๊ฐ€๋Šฅ์„ฑ์˜ ๊ฑฐ์˜ ์—†๋‹ค. ๋˜ํ•œ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ๋„ ๊ณ ์œ ํ•œ ๊ฐ’์œผ๋กœ ์ž์—ฐํ‚ค์˜ ํ•œ ์˜ˆ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.  ..

  • textsms
[replication] mysql Replication ์œผ๋กœ DB ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์‹œํ‚ค๊ธฐ

[replication] mysql Replication ์œผ๋กœ DB ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์‹œํ‚ค๊ธฐ

Mysql์˜ Replicatoin ๊ฐœ๋…์„ ์ •๋ฆฌํ•˜๊ณ  ํ”„๋กœ์ ํŠธ ์ค‘ AI ๋ชจ๋ธ ์žฌํ•™์Šต ์‹œ 900๋งŒ ๊ฑด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋ฉด์„œ ์ƒ๊ธฐ๋Š” DB์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•œ ํฌ์Šคํ„ฐ์ž…๋‹ˆ๋‹ค.     1. ๋ณต์ œ(Replication)๋ณต์ œ(Replication)๋Š” 1๊ฐœ ์ด์ƒ์˜ ๋ ˆํ”Œ๋ฆฌ์นด(replica) ์ €์žฅ์†Œ๊ฐ€ ์†Œ์Šค ์ €์žฅ์†Œ์™€ ๋™๊ธฐํ™”๋ฅผ ์ž๋™์œผ๋กœ ์œ ์ง€ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์†Œ ๊ตฌ์„ฑ์€ Master / Slave์ด๋‹ค. Master DBMS ์—ญํ• ์›น์„œ๋ฒ„๋กœ ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ ๋“ฑ๋ก/์ˆ˜์ •/์‚ญ์ œ ์š”์ฒญ์‹œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ๊ทธ(Binarylog)๋ฅผ ์ƒ์„ฑํ•˜์—ฌ Slave ์„œ๋ฒ„๋กœ ์ „๋‹ฌํ•˜๊ฒŒ ๋œ๋‹ค. (์›น์„œ๋ฒ„๋กœ ๋ถ€ํ„ฐ ์š”์ฒญํ•œ ๋ฐ์ดํ„ฐ ๋“ฑ๋ก/์ˆ˜์ •/์‚ญ์ œ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” DBMS๋กœ ๋งŽ์ด ์‚ฌ์šฉ) Slave DBMS ์—ญํ• Master DBMS๋กœ ๋ถ€ํ„ฐ ์ „๋‹ฌ๋ฐ›์€ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ๊ทธ(Binarylog..

  • textsms
[Neo4j] Graph Database๋ž€? RDBMS์™€ ๋น„๊ต, neo4j ๋„์ž… ์ด์œ 

[Neo4j] Graph Database๋ž€? RDBMS์™€ ๋น„๊ต, neo4j ๋„์ž… ์ด์œ 

1. ๊ฐœ์š” RDBMS๋งŒ ์จ๋ณด๋˜ ๋‚˜์—๊ฒŒ Graph Database๋ฅผ ์“ธ ๊ธฐํšŒ๊ฐ€ ์ฐพ์•„์™”๋‹ค. ์™œ Graph Database๋ฅผ ๋„์ž…ํ•˜๊ธฐ๋กœ ํ–ˆ๋Š”์ง€์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๊ณ ์ž ์ด ๊ธ€์„ ์“ด๋‹ค. 4ํ•™๋…„์ด ๋˜์—ˆ๊ณ  ๋‚˜๋Š” ์กธ์—… ์ž‘ํ’ˆ ์ฃผ์ œ๋กœ ์ปจํ…์ธ  ์ •๋ณด๋ฅผ ํ™œ์šฉํ•œ ๊ฐœ์ธํ™” POI ์ถ”์ฒœ ์„œ๋น„์Šค ๋กœ ์„ ์ •ํ•˜์˜€๋‹ค. ๊ธฐ์กด์˜ ๊ฐœ์ธํ™” POI ์ถ”์ฒœ ์‹œ์Šคํ…œ์€ Collaborative Filterin์ด ์ฃผ๋ฅ˜์ด๊ณ  ์ด๋Š” ํ–‰๋™ ๋ฐ์ดํ„ฐ์—๋งŒ ์˜์กดํ•˜๊ณ  ์žˆ์–ด, POI์˜ ๋‹ค์–‘ํ•œ ์ปจํ…์ธ  ์ •๋ณด(ํ‰์ , ๋ฆฌ๋ทฐ, ์‚ฌ์ง„, ์ง€๋ฆฌ์  ๊ฑฐ๋ฆฌ ๋“ฑ)์„ ์ „ํ˜€ ๊ณ ๋ คํ•˜์ง€ ๋ชปํ•œ๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ai ํ•™์Šต ๋ฐ์ดํ„ฐ๋กœ yelp์˜ ์˜คํ”ˆ ๋ฐ์ดํ„ฐ์…‹์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์›น ๊ด€๋ จ๋œ ํ”„๋กœ์ ํŠธ๋งŒ ์ง„ํ–‰ํ•˜๋‹ค ai, ml๊ณผ ์„ž์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‹ˆ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ์–ด๋งˆ๋ฌด์‹œํ–ˆ๋‹ค. ..

  • textsms
[Redis] redis์—์„œ ๋ฐ์ดํ„ฐ ์˜๊ตฌ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ• (RDB / AOF)

[Redis] redis์—์„œ ๋ฐ์ดํ„ฐ ์˜๊ตฌ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ• (RDB / AOF)

1. Redis ๋ฐ์ดํ„ฐ์˜ ์˜์†์„ฑ Redis๋Š” In-memory DB ์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋””์Šคํฌ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ redis๊ฐ€ ๊บผ์กŒ๋‹ค๊ฐ€ ์žฌ์‹œ์ž‘ ๋˜๋”๋ผ๋„, ๋””์Šคํฌ์— ์ €์žฅํ•ด๋†“์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์ฝ์–ด ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋”ฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์‹ค๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋Ÿฐ ์˜์†์„ฑ ๊ธฐ๋Šฅ์€ ํœ˜๋ฐœ์„ฑ ๋ฉ”๋ชจ๋ฆฌ DB๋ฅผ ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด๋กœ์„œ ํ™œ์šฉํ•œ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ ์ด ๊ธฐ๋Šฅ ๋•Œ๋ฌธ์— ์žฅ์• ์˜ ์ฃผ ์›์ธ์ด ๋˜๊ธฐ๋„ ํ•œ๋‹ค. Redis์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ RDB (snapshotting) ๋ฐฉ์‹๊ณผ AOF (Append only file) ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. RDB ๋ฐฉ์‹ ํŠน์ •ํ•œ ๊ฐ๊ฒฉ๋งˆ๋‹ค ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๋ ˆ๋””์Šค ๋ฐ์ดํ„ฐ ์ „์ฒด๋ฅผ ๋””์Šคํฌ์— ์“ฐ๋Š” ๊ฒƒ AOF ๋ฐฉ์‹ ๋ช…๋ น์ด ์‹คํ–‰๋ ๋•Œ ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ผ์— ๊ธฐ๋กํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์†์‹ค์ด ..

  • textsms
[Lock] DB Lock & JPA Lock ์ฝ”๋“œ๋กœ ์‚ดํŽด๋ณด์ž (MySQL)

[Lock] DB Lock & JPA Lock ์ฝ”๋“œ๋กœ ์‚ดํŽด๋ณด์ž (MySQL)

DataBase๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์˜์†์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ์‹œ์Šคํ…œ์ด๋‹ค. ์ด๋Ÿฐ ์‹œ์Šคํ…œ์€ ๊ฐ™์€ ์ž์›(๋ฐ์ดํ„ฐ)์— ๋Œ€ํ•ด์„œ ๋™์‹œ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ๋ฐ–์— ์—†๋‹ค. ์ด๋Ÿด ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ค์—ผ ๋  ์ˆ˜ ์žˆ๋Š”๋ฐ ๊ทธ๋ ‡๊ฒŒ ๋˜์ง€ ์•Š๋„๋ก ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ๊ณผ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•ด์•ผํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ˆ˜๊ฐ•์‹ ์ฒญ ์‹œ์Šคํ…œ์—์„œ 1๋ช…๋งŒ์ด ์ •์›์œผ๋กœ ๋‚จ๊ฒŒ๋˜์—ˆ๋‹ค. ์—ฌ๊ธฐ์„œ 2์‚ฌ๋žŒ์ด ๊ฑฐ์˜ ๋™์‹œ์— ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €๋‹ค. ์„ฑ๊ณต์€ 1๋ช…๋งŒ ๋˜์•ผํ•œ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ DBMS(DataBase Management System)๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ณตํ†ต์ ์ธ ๋ฐฉ๋ฒ•์ด Lock์ด๋ผ๋Š” ๊ฒƒ๋‹ค. 1. Lock ์ด๋ž€? Lock์ด๋ž€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋™์‹œ์„ฑ๊ณผ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜ ํ˜น์€ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ์˜ ์ˆœ์ฐจ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ• ์—ฌ๋Ÿฌ ์ปค๋„ฅ์…˜์ด ํ•˜๋‚˜์˜ Data์— ๋Œ€ํ•ด ์ ‘..

  • textsms
[Index] MySQL ์„ฑ๋Šฅ ์ตœ์ ํ™” (+์‹คํ–‰ ๊ณ„ํš)

[Index] MySQL ์„ฑ๋Šฅ ์ตœ์ ํ™” (+์‹คํ–‰ ๊ณ„ํš)

์ด๋ฒˆ ๊ธ€์—์„  MySQL 8.0๊ณผ ๊ธฐ๋ณธ ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์ธ InnoDB๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๊ณ  ์ธ๋ฑ์Šค๋ฅผ ํ™œ์šฉํ•œ ์ฟผ๋ฆฌ ์ตœ์ ํ™”๋ฅผ ์ง„ํ–‰ํ•  ์˜ˆ์ •์ด๋‹ค. INDEX์— ๋Œ€ํ•ด ์ฒ˜์Œ ๋“ค์–ด๋ณด๊ฑฐ๋‚˜ ํ•™์Šตํ•˜๊ณ ์‹ถ๋‹ค๋ฉด ์•„๋ž˜ ๊ธ€์„ ์ฐธ๊ณ  ๋ฐ”๋žŒ https://dgjinsu.tistory.com/38 [INDEX] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค ํŒŒํ—ค์น˜๊ธฐ 1. ์ธ๋ฑ์Šค๋ž€? ์ธ๋ฑ์Šค๋ž€ ์ถ”๊ฐ€์ ์ธ ์“ฐ๊ธฐ ์ž‘์—…๊ณผ ์ €์žฅ ๊ณต๊ฐ„์„ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ ๊ฒ€์ƒ‰ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ๋งŒ์•ฝ ์šฐ๋ฆฌ๊ฐ€ ์ฑ…์—์„œ ์›ํ•˜๋Š” ๋‚ด์šฉ์„ ์ฐพ๋Š”๋‹ค๊ณ  ํ•˜๋ฉด, ์ฑ…์˜ dgjinsu.tistory.com 1. ์‹คํ–‰ ๊ณ„ํš ์‹คํ–‰ ๊ณ„ํš๋„ ์ •๋ง ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ์ง€๋งŒ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ณ  ๋งŽ์ด ๋‚˜์˜ค๋Š” 3๊ฐ€์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. - all: ํ…Œ์ด๋ธ” ์ „์ฒด๋ฅผ ์Šค์บ” full table scan์„ ์˜๋ฏธํ•œ๋‹ค. full tab..

  • textsms