1. Redis ๋ฐ์ดํฐ์ ์์์ฑ
Redis๋ In-memory DB ์์๋ ๋ถ๊ตฌํ๊ณ , ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ๋์คํฌ์ ์ ์ฅํ ์ ์๋ ํน์ง์ด ์๋ค.
๊ทธ๋์ redis๊ฐ ๊บผ์ก๋ค๊ฐ ์ฌ์์ ๋๋๋ผ๋, ๋์คํฌ์ ์ ์ฅํด๋์ ๋ฐ์ดํฐ๋ฅผ ๋ค์ ์ฝ์ด ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ฉํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๊ฐ ์ ์ค๋์ง ์๋๋ค.
์ด๋ฐ ์์์ฑ ๊ธฐ๋ฅ์ ํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ DB๋ฅผ ๋ฐ์ดํฐ ์คํ ์ด๋ก์ ํ์ฉํ๋ค๋ ์ฅ์ ์ด ์์ง๋ง ์ด ๊ธฐ๋ฅ ๋๋ฌธ์ ์ฅ์ ์ ์ฃผ ์์ธ์ด ๋๊ธฐ๋ ํ๋ค.
Redis์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ RDB (snapshotting) ๋ฐฉ์๊ณผ AOF (Append only file) ๋๊ฐ์ง๊ฐ ์๋ค.
RDB ๋ฐฉ์
- ํน์ ํ ๊ฐ๊ฒฉ๋ง๋ค ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋ ๋์ค ๋ฐ์ดํฐ ์ ์ฒด๋ฅผ ๋์คํฌ์ ์ฐ๋ ๊ฒ
AOF ๋ฐฉ์
- ๋ช ๋ น์ด ์คํ๋ ๋ ๋ง๋ค ๋ฐ์ดํฐ๋ฅผ ํ์ผ์ ๊ธฐ๋กํ์ฌ ๋ฐ์ดํฐ์ ์์ค์ด ๊ฑฐ์ ์์
๋ ๊ฐ์ง ๋ฐฉ์์ด ์ด๋ป๊ฒ ๋ค๋ฅธ์ง ์์ธํ๊ฒ ์์๋ณด๊ณ ํ์ฉ๋ฒ์ ์ดํด๋ณด์.
2. RDB
Redis๋ ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ํ์ผ์ ์ ์ฅํ๋๋ฐ, Redis ํ๋ก์ธ์ค๊ฐ ์ฅ์ ๋ก ์ธํด ์ข ๋ฃ๋๋๋ผ๋ ํด๋น ํ์ผ์ ์ฝ์ด๋ค์ด๋ฉด ์ด์ ์ ์ํ๋ฅผ ๋์ผํ๊ฒ ๋ณต๊ตฌํ ์ ์๋ค.
RDB(snapthot)๋ ์๊ฐ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋ด์ฉ์ ์ค๋ ์ท์ ๋ ์ DISK์ ์ฎ๊ฒจ ๋ด๋ ๋ฐฉ์์ด๋ค. ์ค๋ ์ท์ ๋ฌ๋ค๋ ๋ง์ ํน์ ์์ ์ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ด๋๋ฆฌ ํ์ผ๋ก ์ ์ฅํ๋ ๋ป์ด๋ค.
๋ฐ๋ก ์ค์ ํ์ง ์์๋ค๋ฉด Redis๋ ๊ธฐ๋ณธ์ ์ผ๋ก RDB ๋ฐฉ์์ผ๋ก ๋ฐฑ์ ์ ์งํํ๋ค.
Redis๊ฐ ์ค์น๋์ด ์๋ ํด๋๋ก ๊ฐ๋ณด๋ฉด .rdb ๋ผ๋ ํ์ฅ์ ํ์ผ์ ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์๋ ๋ชจ์ต์ ํ์ธํ ์ ์๋ค.
RDB ๋ฐฉ์์ ๋ฉ๋ชจ๋ฆฌ์ snapshot์ ๊ทธ๋๋ก ์ ์ฅํ๊ณ ๋น๊ต์ ์์ ์ฌ์ด์ฆ์ ํ์ผ๋ก ๋ฐฑ์ ํ๊ธฐ ๋๋ฌธ์ ์๋ฒ๋ฅผ ์ฌ๊ตฌ๋์ํ ๋ snapshot์ ๋ค์ ์ฝ์ผ๋ฉด ๋๋ฏ๋ก ๋ก๋ฉ ์๋๊ฐ ๋น ๋ฅธ ์ฅ์ ์ด ์๋ค.
๊ทธ๋ฌ๋, snapshot์ ์ถ์ถํ๋๋ฐ ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฌ๊ณ ๋์ค์ ์๋ฒ๊ฐ ๊บผ์ง๋ฉด ์ดํ์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์ฌ๋ผ์ง๋ค๋ ๋จ์ ์ด ์๋ค. ์ค์ ๋ก SAVE ์ต์ ์ผ๋ก 50GB ์ ๋ฉ๋ชจ๋ฆฌ ์ํ๋ฅผ ์ ์ฅํ๋ค๋ฉด 7 ~ 8๋ถ ์ ๋ ์์๋๋ค๊ณ ํ๋ค.
RDB ๊ธฐ๋ณธ ์ค์ ์ ์๋์ ๊ฐ๋ค.
- 3600์ด ์์ 1๊ฐ ์ด์์ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์ ์ฅ
- 300์ด ์์ 100๊ฐ ์ด์์ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์ ์ฅ
- 60์ด์์ 10000๊ฐ ์ด์์ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์ ์ฅ
3.1 AOF (Append Only File)
AOF(Append On File) ๋ฐฉ์์ redis์ ๋ชจ๋ write/update ์ฐ์ฐ ์์ฒด๋ฅผ ๋ชจ๋ log ํ์ผ์ ๊ธฐ๋กํ๋ ํํ์ด๋ค.
AOF๋ ์ฐ๊ธฐ ๋ช ๋ น์ ๋ํด ์ถ๊ฐํ๋ฉฐ ๊ธฐ๋ก๋๊ธฐ ๋๋ฌธ์ ํ์ผ ์ฌ์ด์ฆ๊ฐ ํฌ๋ค. ์ฌ์ด์ฆ๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ ์๋ฒ ์์์ ๋ก๋ฉ์๋๊ฐ ๋๋ฆฌ๋ค.
default๋ก appendonly.aof ํ์ผ์ ๊ธฐ๋ก๋๋ฉฐ, ์กฐํ๋ฅผ ์ ์ธํ ์ ๋ ฅ/์์ /์ญ์ ๋ช ๋ น์ด ์คํ๋ ๋ ๋ง๋ค ๊ธฐ๋ก๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ฒ๊ฐ ์ฌ์์๋ ๋, log์ ๊ธฐ๋ก๋ write/update ์ฐ์ฐ์ ์ฌ ์คํํ๋ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ๋ ๋ฐฉ์์ด๋ค.
์ฆ, ๋ค์๊ณผ ๊ฐ์ ์์๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ค.
- ํด๋ผ์ด์ธํธ๊ฐ Redis ์ ์ ๋ฐ์ดํธ ๊ด๋ จ ๋ช ๋ น์ ์์ฒญํ๋ค.
- Redis ๋ ํด๋น ๋ช ๋ น์ AOF์ ์ ์ฅํ๋ค.
- ํ์ผ์ฐ๊ธฐ๊ฐ ์๋ฃ๋๋ฉด ์ค์ ๋ก ํด๋น ๋ช ๋ น์ ์ํํด์ Redis ๋ฉ๋ชจ๋ฆฌ์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๋ค.
์ด์ฒ๋ผ, operation์ด ๋ฐ์ํ ๋ ๋ง๋ค ๋งค๋ฒ ๊ธฐ๋กํ๊ธฐ ๋๋ฌธ, RDB ๋ฐฉ์๊ณผ๋ ๋ฌ๋ฆฌ ํน์ ์์ ์ด ์๋๋ผ ํญ์ ํ์ฌ ์์ ๊น์ง์ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํ ์ ์์ผ๋ฉฐ, ๊ธฐ๋ณธ์ ์ผ๋ก non-blocking ์ผ๋ก ๋์ ๋๋ค.
AOF๋ log ํ์ผ์ ๋ํด์๋ง appendํ๊ธฐ ๋๋ฌธ์ log write ์๋๊ฐ ๋น ๋ฅด๊ณ ์ด๋ค ์์ ์ ์๋ฒ๊ฐ ๋ค์ด๋๋๋ผ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง์ง ์๋ ์ฅ์ ์ด ์๋ค. RDB๋ ๋ฐ์ด๋๋ฆฌ ํ์ผ์ด๋ผ์ ์์ ์ด ๋ถ๊ฐ๋ฅํ์ง๋ง, AOF ๋ก๊ทธ ํ์ผ์ text ํ์ผ์ด๋ฏ๋ก ํธ์ง์ด ๊ฐ๋ฅํ๋ค.
AOF ํ์ฉ ์์
๋ง์ผ ์ค์๋ก flushall ๋ช ๋ น์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๋ ๋ ธ์ ๋, ๋ ๋์ค ์๋ฒ๋ฅผ shutdownํ๊ณ appendonly.aof ํ์ผ์์ flushall ๋ช ๋ น์ ์ ๊ฑฐ ํ ํ ๋ ๋์ค๋ฅผ ๋ค์ ์์ํ๋ฉด ๋ฐ์ดํฐ ์์ค์์ด ๋ฐ์ดํฐ๋ฅผ ์ด๋ฆด ์ ์๋ค.
AOF ํญ๋ชฉ
- appendolny
- AOF ํ์ผ ์ฌ์ฉ ์ฌ๋ทฐ
- yes / no
- appendfilename
- AOF ํ์ผ ์ด๋ฆ ์ค์
- appendfsync
- ์ด์์ฒด์ ์ fsync()์ ์ํ ์ง์ฐ๋ ์ฐ๊ธฐ ์ต์ (๋ฉ๋ชจ๋ฆฌ => ๋์คํฌ)
- no: fsync() ์ฌ์ฉ ์์ด ์ฆ์ ์ฐ๊ธฐ, ๊ฐ์ฅ ๋น ๋ฆ
- always: ํญ์ fsync() ์ฌ์ฉ
- ๋๋ฆฌ์ง๋ง ์์ ํจ
- ๋ฐ์ดํฐ ์ ์ค์ ์ผ๋ ค๋ ์์ผ๋, ์ฑ๋ฅ์ด ๋งค์ฐ ๋จ์ด์ง
3.2 AOF redis.conf ์ค์ ๋ฐฉ์
๋ ๋์ค๋ ์๋ฒ๊ฐ ์์๋ ๋ ๋ฐ์ดํฐ ํ์ผ์ ์ฝ๋๋ค.
์ด๋ ์ด๋ค ๋ฐ์ดํฐ ํ์ผ์ ์ฝ์์ง๋ redis.conf ์ค์ ํ์ผ์ appendonlyfile ์ค์ ์ ๋ฐ๋ฅด๊ฒ ๋๋ค.
AOF ํ์ฑํ
์ฒ์ redis๋ฅผ ์ค์นํ๊ณ confํ์ผ์ ๋ณด๋ฉด ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ๋์ด์๋ค. no ๋ฅผ yes๋ก ๋ฐ๊ฟ์ฃผ์ด aof ๋ฅผ ํ์ฑํ ์์ผ์ฃผ์.
appendonly yes
- appendonlyfile yes : aof ํ์ผ์ ์ฝ์
- appendonlyfile no : rdb ํ์ผ์ ์ฝ์
aof์ ๊ธฐ๋ก๋๋ ์์ ์ ์ง์
appendfsync๋ appendonly ํ์ผ์ ๋ฐ์ดํฐ๊ฐ ์ฐ์ฌ์ง๋ ์์ ์ ์ ํ๋ ํ๋ผ๋ฏธํฐ์ด๋ค. AOF ๋ ํ์ผ์ ์ ์ฅํ ๋ ํ์ผ์ ๋ฒํผ ์บ์์ ์ ์ฅํ๊ณ ์ ์ ํ ์์ ์ ์ด ๋ฐ์ดํฐ๋ฅผ ๋์คํฌ๋ก ์ ์ฅํ๋๋ฐ appendfsync ๋ ๋์คํฌ์ ๋๊ธฐํ๋ฅผ ์ผ๋ง๋ ์์ฃผ ํ ๊ฒ์ธ์ง์ ๋ํด ์ค์ ํ๋ ๊ฐ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด 3๊ฐ์ง ์ต์ ์ด ์กด์ฌํ๋ค.
always : ๋ช ๋ น ์คํ ์ ๋ง๋ค AOF์ ๊ธฐ๋ก. ๋ฐ์ดํฐ ์ ์ค์ ๊ฑฐ์ ์์ง๋ง ์ฑ๋ฅ์ด ๋งค์ฐ ๋จ์ด์ง.
everysec : 1์ด๋ง๋ค AOF์ ๊ธฐ๋ก. ๊ถ์ฅ
no : AOF์ ๊ธฐ๋กํ๋ ์์ ์ OS๊ฐ ์ ํจ(์ผ๋ฐ์ ์ผ๋ก ๋ฆฌ๋ ์ค์ ๋์คํฌ ๊ธฐ๋ก ๊ฐ๊ฒฉ์ 30์ด). ๋ฐ์ดํฐ๊ฐ ์ ์ค๋ ์ ์์
AOF Rewrite ์ค์
rewrite๋ AOF ํ์ผ์ ์ํ๊ฐ ํน์ ์กฐ๊ฑด(ํ์ผ ์ฌ์ด์ฆ๊ฐ ์ผ๋ง ์ด์) ์ผ ๋ AOF ํ์ผ์ ํ์ฌ ์ํ์ ๋ง์ถฐ์ ์ค์ ์ ๋ฐ๋ผ ๋ฎ์ด์ฐ๊ธฐ ํ๊ฑฐ๋ ์๋ก ์์ฑ๋๋ค.
์ฒ์ ๋ ๋์ค ์๋ฒ๊ฐ ์์ํ ์์ ์ AOF ํ์ผ ์ฌ์ด์ฆ๊ฐ 100% ์ด์ ์ปค์ง๋ฉด rewrite ํ๊ฒ ๋์ด์๋ค.
๋ง์ฝ ๋ ๋์ค ์๋ฒ ์์ ์ AOF ํ์ผ ์ฌ์ด์ฆ๊ฐ 0์ด์๋ค๋ฉด, auto-aof-rewrite-min-size๋ฅผ ๊ธฐ์ค์ผ๋ก rewrite ํ๋ค.
ํ์ง๋ง min-size๊ฐ 64mb ์ดํ์ด๋ฉด rewrite๋ฅผ ํ์ง ์๋๋ค. ํ์ผ์ด ์์ ๋ rewrite๊ฐ ์์ฃผ ๋ฐ์ํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด์์ด๋ค.
์๋ฅผ ๋ค์ด ๋ ๋์ค ์๋ฒ๊ฐ ์ฒ์ ์์ํ ๋ 1mb ์ฌ์ด์ฆ์๋ค๊ณ ๊ฐ์ ํ๋ฉด 2mb๊ฐ ๋์ ๋ rewrite๋ฅผ ์ํํ ๊ฒ์ด๋ค. ์ด๋ฅผ ๋ง๊ธฐ ์ํด min-size ์ต์ ์ด ์๋ ๊ฒ์ด๋ค.
3.3 AOF๋ฅผ ํ์ฉํ์ฌ ์ ์ค๋ ๋ฐ์ดํฐ ๋ณต๊ตฌํ๊ธฐ
redis์ ์ฌ๋ฌ ๊ฐ์ด ์๋ค๊ฐ db๊ฐ ์ ๋ถ ๋ ๋ผ๊ฐ์ ๋ ์ด๋ฅผ ๋ณต๊ตฌํ๋ ๊ณผ์ ์ ์์๋ณด์.
์ฐ์ dummy data๋ฅผ ๋ฃ๊ณ , flushall ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ ๋ถ ๋ ๋ ค์ฃผ์๋ค.
ubuntu ๊ธฐ์ค์ผ๋ก appendonly.aof ํ์ผ์ /var/lib/redis/appendonly.aof ์์น์ ์ ์ฅ๋๋ค.
- AOF๋ ๋ช ๋ น ์คํ ์์๋๋ก ํ ์คํธ๋ก ์ฐ์ฌ์ฆ๋ฉฐ ํธ์ง์ด ๊ฐ๋ฅํ๋ค.
- * ๋ ๋ช ๋ น ์์์ ๋ํ๋ธ๋ค. ์ซ์๋ ๋ช ๋ น๊ณผ ์ธ์์ ๊ฐ์์ด๋ค.
- $ ๋ ๋ช ๋ น์ด๋ ์ธ์, ๋ฐ์ดํฐ์ ๋ฐ์ดํธ ์์ด๋ค. (ํ๊ธ์ UTF8๋ก ํ์ ๊ฒฝ์ฐ ํ ๊ธ์์ 3๋ฐ์ดํธ)
์ด์ ํธ์ง๊ธฐ๋ก flushall์ ์ง์์ฃผ๊ณ ์ ์ฅํด์ฃผ์.
๊ทธ๋ฆฌ๊ณ redis๋ฅผ ์ฌ์์ ํด์ฃผ๋ฉด ๋ฐ์ดํฐ๊ฐ ๋ณต๊ตฌ๋์ด์๋๊ฑธ ํ์ธํ ์ ์๋ค.
4. RDB VS AOF ์ ํ ๊ธฐ์ค
RDB ์ฌ์ฉ ์ฃผ์ํ ์
RDB(Snapshot) ๋ฐฉ์์ ๋ฌธ์ ์ ์ ๋งค์ฐ ๋ช ํํ๋ฐ, Redis์ ์ฅ์ ๊ฐ ๋ฐ์ํ์ ๋ ๋ฐฑ์ ์์ ์ ์ ์ธํ ์ค๊ฐ ์์ ์์ ๋ฐ์ํ ๋ฐ์ดํฐ๋ ์ ์ค๋ ์ ์๋ค๋ ๊ฒ์ด๋ค.
RDB ๋ฐฉ์์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐฑ์ ํ ๋ ์ฌ์ฉํ๋ save, bgsave ๋๊ฐ์ง๊ฐ ์๋ค.
save๋ ์ฑ๊ธ ์ค๋ ๋๋ก ์ํํ๊ธฐ ๋๋ฌธ์ ์์ ์ด ์๋ฃ๋๊ธฐ ๊น์ง ๋ชจ๋ ์์ฒญ์ด ๋๊ธฐํ๊ฒ ๋๋ค.
๋ฐ๋ผ์ bgsave ๋ช ๋ น์ด๋ก background ์์ ํ๋ก์ธ์ค๋ฅผ ํตํด ๋ฐฑ์ ์์ ์ ์ํํ๋๋ก ๊ถ์ฅํ๋ ํธ์ด๊ณ , default ๊ฐ์ bgsave์ด๋ค.
ํ์ง๋ง bgsave ๋ช ๋ น์ด๋ฅผ ์ํํ ๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฅ ์ ์ ๊ฒฝ์จ์ผ ํ๋ค.
redis ์๋น์ค์์ ์ฌ์ฉ์ค์ธ ๋ฐ์ดํฐ๋ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ ์์ ์๋๋ฐ ์ด๋ฅผ “์๋น์ค ์ํฅ ์์ด” ์ค๋ ์ท์ผ๋ก ์ ์ฅํ๊ธฐ ์ํด์๋ Copy-on-Write(COW) ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
์์ ํ๋ก์ธ์ค fork() ํ ๋ถ๋ชจ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ์์ ์ค์ ๋ก ๋ณ๊ฒฝ์ด ๋ฐ์ํ ๋ถ๋ถ๋ง ๋ณต์ฌํ๊ฒ ๋๋๋ฐ, ๋ง์ผ write ์์ ์ด ๋ง์์ ๋ถ๋ชจ ํ์ด์ง ์ ๋ถ์ ๋ณ๊ฒฝ์ด ๋ฐ์ํ๊ฒ ๋๋ฉด ๋ถ๋ชจ ํ์ด์ง ์ ๋ถ๋ฅผ ๋ณต์ฌํ๊ฒ ๋๋ ํ์์ด ๋ฐ์ํ๊ฒ ๋๋ค.
AOF ์ฌ์ฉ ์ฃผ์ํ ์
์ธ๋ป ๋ณด๋ฉด "์ฐ๊ธฐ ์์ ์ ๊ธฐ๋ก์ ์ ์ฅํด replayํ๋ ํ์์ผ๋ก ๋ณต๊ตฌ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์์ ์ ์ด๊ณ ์ ์ด์์ ์ด์ง ์๋๋" ๋ผ๊ณ ์๊ฐํ ์ ์์ผ๋, ๋จ์ํ ๊ทธ๋ ์ง๋ง์ ์๋ค.
์๋ฅผ ๋ค์ด 0์ด๋ผ๋ ์ ์ํ์ ๋ฐ์ดํฐ๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์.
100๋ฒ์ Increment ์์ ์ ํตํด 100์ผ๋ก ๋ง๋ค์๋ค๋ฉด AOF์์ 100๊ฐ์ ๋ช ๋ น ๊ธฐ๋ก์ ์ ์ฅํ๊ณ ์์ ๊ฒ์ด๋ค.
RDB ๋ฐฉ์์ด์๋ค๋ฉด ๋จ์ํ 100์ด๋ ํ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ๋ฉด ๋๋ ์์ ์ด์ง๋ง AOF์ผ ๊ฒฝ์ฐ 100๋ฒ์ ๋ช ๋ น ์์ ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํด์ผํ๋ค.
์ด๋ฐ ์์ ์์ AOF๋ ์ทจ์ฝํ๋ค.
๊ทธ๋ผ ์ด๋ค ๋ฐฉ์์ ์ฑํํด์ผํ ๊น??
๋ฐฑ์ ์ด ํ์๋ ํ์ง๋ง ์ด๋ ์ ๋์ ๋ฐ์ดํฐ ์์ค์ ๊ฐ์ํ ์ ์๋ ๊ฒฝ์ฐ RDB๋ฅผ ๋จ๋ ์ผ๋ก ์ฌ์ฉํ๋๊ฒ์ด ์ข๊ณ
์ฅ์ ์ํฉ ์ง์ ๊น์ง ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ๋ณด์ฅ๋์ด์ผ ํ ๊ฒฝ์ฐ AOF๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
ํ์ง๋ง RDB์ AOF ๋ฐฉ์์ ์ฅ๋จ์ ์ ์์ํ๊ธฐ ์ํด ๋ ๊ฐ์ง ๋ฐฉ์์ ํผ์ฉํด์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํ๊ณ ์๋ค.
์ฃผ๊ธฐ์ ์ผ๋ก RDB๋ก ๋ฐฑ์ ํ๊ณ , ๋ค์ snapshot๊น์ง์ ์ ์ฅ์ AOF๋ฐฉ์์ผ๋ก ์ํํ๋ ์์ผ๋ก ํผ์ฉํ๋ค.
์ด๋ ๊ฒ ํจ์ผ๋ก์จ ์๋ฒ๊ฐ ์ฌ์์๋ ๋ ๋ฐฑ์ ๋ RDB ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ๊ณ , ๋น๊ต์ ์ ์ ์์ AOF ๋ก๊ทธ๋ง ์ฝ์ด๋๋ฆฌ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ์๊ฐ์ ์ ์ฝํ๊ณ ๋ฐ์ดํฐ์ ์ ์ค์ ์์ ํ ๋ฐฉ์งํ ์ ์๋ค.
๋น์ฐํ๊ฒ ์ง๋ง ๊ฐ์์ ์ํฉ์ ๋ง๊ฒ ๋ฐฑ์ ๋ฐฉ์์ ์ค์ ํด ๋์ ํ๋ ๊ฒ์ด ์ข๊ธฐ ๋๋ฌธ์ ์ ๋ต์ ์๋ค.
'DB ๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[replication] mysql Replication ์ผ๋ก DB ๋ถํ ๋ถ์ฐ ์ํค๊ธฐ (0) | 2024.04.11 |
---|---|
[Neo4j] Graph Database๋? RDBMS์ ๋น๊ต, neo4j ๋์ ์ด์ (1) | 2024.03.27 |
[Lock] DB Lock & JPA Lock ์ฝ๋๋ก ์ดํด๋ณด์ (MySQL) (0) | 2024.02.20 |
[Index] MySQL ์ฑ๋ฅ ์ต์ ํ (+์คํ ๊ณํ) (0) | 2024.02.19 |
[Index] ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค ํํค์น๊ธฐ (0) | 2024.02.18 |