RDB ํ์ผ ํฌ๋งท์ด๋?
RDB ํฌ๋งท์ ํ์ผ์ Redis DataBase์ ์ฝ์๋ก Redis ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ์ฉํ๋ ํ์ผ ํ์์
๋๋ค.
Redis ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ RDB(Redis DataBase) ํ์์ ํ์ผ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. RDB ํ์ผ์ Redis ์๋ฒ์์ ๋ฐ์ดํฐ I/O์ ์ฌ์ฉ๋ฉ๋๋ค. RDB ํ์ผ์ Redis ๋ฐ์ดํฐ์ ๋ด๋ถ ํํ์ ์ง๋ ฌํํ์ฌ ์ ์ฅํ๋ ์ด์ง ํ์์ binary ํ์ผ์
๋๋ค.
Redis๋ RDB ํ์ผ์ ์์ฑํ์ฌ Redis ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค๋
์ท์ ์ ์ฅํ๊ณ , ๋์ค์ RDB ํ์ผ์ ๋ก๋ํ์ฌ Redis ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณต์ํฉ๋๋ค.
๐ ์ด์งํ์ผ = ๋ฐ์ด๋๋ฆฌ(binary) ํ์ผ
์ด์ง ํ์ผ์ ์ปดํจํฐ์์ ์ฌ์ฉ๋๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ ํ์ผ ํ์์ ์๋ฏธํฉ๋๋ค. ์ด์ง ํ์ผ์ ๋ณดํต ํ ์คํธ ํ์ผ๊ณผ ๊ตฌ๋ถ๋๋๋ฐ, ํ ์คํธ ํ์ผ์ ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฌธ์์ด๋ก ๊ตฌ์ฑ๋์ด ์์ง๋ง ์ด์ง ํ์ผ์ 0๊ณผ 1์ ์ด์ง ๋ฐ์ดํฐ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
์ด์ง ํ์ผ์ ํ๋ก๊ทธ๋จ ์ฝ๋, ์ด๋ฏธ์ง, ์ค๋์ค, ๋น๋์ค ๋ฑ ๋ค์ํ ํ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค. ์ด์ง ํ์ผ์ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํธ ๋จ์๋ก ์์ฑ๋๋ฉฐ, ์ด์ง ํ์์ผ๋ก ์ธ์ฝ๋ฉ๋ฉ๋๋ค. ์ด์ง ํ์ผ์ ํ ์คํธ ํ์ผ๊ณผ ๋ฌ๋ฆฌ, ๋ฐ์ดํฐ์ ๋ด์ฉ์ ์ง์ ์ฝ์ ์ ์๊ธฐ ๋๋ฌธ์ ํ์ผ์ ์ด์ด ๋ด์ฉ์ ํ์ธํ๋ ค๋ฉด ํน์ํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
RDB ํ์ผ์ ์์ฑ
RDB ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์ฑ ์์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- RDB ํ์ผ ํค๋: RDB ํ์ผ์ ์์์ ๋ํ๋ด๋ ๋ง์ ๋ฌธ์์ด๊ณผ Redis ๋ฒ์ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์ฉ: Redis ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ์ฉ๋๋ ๋ชจ๋ ๋ฐ์ดํฐ, ์ฆ ํค, ๊ฐ์ ํฌํจํ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ง๋ง: RDB ํ์ผ์ ๋์ ๋ํ๋ด๋ ๋ง์ ๋ฌธ์์ด๋ก, ํ์ผ ๋์ ๋ํ๋ ๋๋ค.
RDB ํ์ผ์ Redis ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ์ฉ๋๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ์ ์ ํฉํฉ๋๋ค. ๋ํ RDB ํ์ผ์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ ๋น ๋ฅด๊ฒ ๋ก๋ํ๊ณ ๊ฒ์ํ ์ ์์ผ๋ฉฐ, Redis ์๋ฒ๊ฐ ๋น์ ์์ ์ผ๋ก ์ข
๋ฃ๋๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
๊ทธ๋ฌ๋ RDB ํ์ผ์ Redis ๋ฐ์ดํฐ์ ์ค๋
์ท๋ง ์ ์ฅํ๋ฏ๋ก ํ์ผ์ ์
๋ฐ์ดํธํ๋ ค๋ฉด ์๋ก์ด RDB ํ์ผ์ ์์ฑํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ์ด์ ๋ก RDB ํ์ผ์ ์ง์์ ์ผ๋ก ์
๋ฐ์ดํธ๋๋ ๋ฐ์ดํฐ์๋ ์ ํฉํ์ง ์์ต๋๋ค. ๋์ , Redis๋ AOF(Append Only File) ํ์ผ์ ์ฌ์ฉํ์ฌ ์ง์์ ์ผ๋ก ์
๋ฐ์ดํธ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
RDB ํ์ผ์ ์ด์ด ๋ด์ฉ์ ์ฝ๋(ํ์ธํ๋) ๋ฐฉ๋ฒ
์ด๋ฌํ RDB ํ์ผ์ ์ด๋ป๊ฒ ๋ด์ฉ์ ํ์ธํ ์ ์์๊น์?
์ด์ง ํ์์ RDB ํ์ผ์ ์ง์ ์ฝ๊ฑฐ๋ ๊ฒ์ํ๋ ๊ฒ์ ์ด๋ ต๊ธฐ ๋๋ฌธ์ Redis ์๋ฒ์ importํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์
๋๋ค.
1. Redis-cli ์ฌ์ฉ
RDB ํ์ผ์ ์ด์ด ๋ด์ฉ์ ๋ณผ ์ ์๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ Redis์ redis-cli ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ RDB ํ์ผ์ ๋ก๋ํ๊ณ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๊ฒ์
๋๋ค.
๋ค์๊ณผ ๊ฐ์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ RDB ํ์ผ์ ๋ก๋ํ๊ณ Redis ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค.
redis-server --rdb <rdb_file_path>
์ด ๋ช
๋ น์ด๋ RDB ํ์ผ์ ๋ก๋ํ์ฌ Redis ์๋ฒ๋ฅผ ์์ํ๊ณ redis-cli๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์๋๋ก ํฉ๋๋ค.
๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ RDB ํ์ผ์ Redis ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ง์ importํ๋ ๊ฒ์
๋๋ค.
RDB ํ์ผ์ importํ๋ ค๋ฉด Redis๋ฅผ ์์ํ ํ ๋ค์๊ณผ ๊ฐ์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
redis-cli --rdb <rdb_file_path>
์ด ๋ช
๋ น์ด๋ RDB ํ์ผ์ ๋ก๋ํ์ฌ Redis ๋ฐ์ดํฐ๋ฒ ์ด์ค์ importํฉ๋๋ค.
๐ RDB ํ์ผ ๋ก๋ vs import
RDB ํ์ผ์ ๋ก๋ํ๋ ๋ฐฉ๋ฒ๊ณผ Redis ์๋ฒ์ RDB ํ์ผ์ importํ๋ ๋ฐฉ๋ฒ์ ๋ ๋ค Redis ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณต์ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฐจ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์๊ธฐ: RDB ํ์ผ์ ๋ก๋ํ๋ ๋ฐฉ๋ฒ์ Redis ์๋ฒ๊ฐ ์์๋ ๋ RDB ํ์ผ์ ๋ก๋ํฉ๋๋ค. ๋ฐ๋ฉด Redis ์๋ฒ์ RDB ํ์ผ์ importํ๋ ๋ฐฉ๋ฒ์ Redis ์๋ฒ๊ฐ ์ด๋ฏธ ์คํ ์ค์ผ ๋ RDB ํ์ผ์ ์ ์ฉํฉ๋๋ค.
๋ฐฉ๋ฒ: RDB ํ์ผ์ ๋ก๋ํ๋ ๋ฐฉ๋ฒ์ Redis ์๋ฒ๊ฐ RDB ํ์ผ์ ์ฝ์ด Redis ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณต์ํฉ๋๋ค. ๋ฐ๋ฉด Redis ์๋ฒ์ RDB ํ์ผ์ importํ๋ ๋ฐฉ๋ฒ์ RDB ํ์ผ์ ์ง์ Redis ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฉํฉ๋๋ค.
์ํฉ: RDB ํ์ผ์ ๋ก๋ํ๋ ๋ฐฉ๋ฒ์ Redis ์๋ฒ๊ฐ ๋น์ ์์ ์ผ๋ก ์ข ๋ฃ๋์์ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณต์ํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ๋ฐ๋ฉด Redis ์๋ฒ์ RDB ํ์ผ์ importํ๋ ๋ฐฉ๋ฒ์ Redis ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ํ๊ฒฝ์ผ๋ก ์ด์ ํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
Redis๋ฅผ ์ฌ์ฉํ์ฌ RDB ํ์ผ์ ๋ก๋ํ๊ฑฐ๋ Redis์ importํ๋ ๊ฒ ์ธ์๋, RDB ํ์ผ์ ๊ฒ์ํ๊ณ ๋ถ์ํ๊ธฐ ์ํด ๋ช ๊ฐ์ง ์ ์ฉํ ๋๊ตฌ๊ฐ ์์ต๋๋ค.
Redis Desktop Manager
https://redisdesktop.com/
RESP.app (formerly Redis Desktop Manager) - GUI for Redis ยฎ available on Windows, macOS, iPad and Linux.
โค๏ธ We want to thank our community for their continued support and feedback. We didn't take this decision lightly and are excited to join the developer experience team at Redis. Please read the announcement and the FAQ, and expect communications fr
resp.app
Redis ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์๊ฐ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋๊ตฌ๋ก, RDB ํ์ผ์ ๋ก๋ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค.
RDBTools
https://rdbtools.com/
RedisInsight | The Best Redis GUI
RedisInsight provides an intuitive and efficient graphical interface for Redis, allowing you to interact with your databases and manage your data.
redis.com
RDB ํ์ผ์ ๋ถ์ํ๊ณ ๊ฒ์ํ ์ ์๋ ๋๊ตฌ๋ก, RDB ํ์ผ์ ๊ตฌ์กฐ๋ฅผ ์๊ฐํํ๊ณ Redis ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
Redis RDB Parser
https://github.com/sripathikrishnan/redis-rdb-tools
GitHub - sripathikrishnan/redis-rdb-tools: Parse Redis dump.rdb files, Analyze Memory, and Export Data to JSON
Parse Redis dump.rdb files, Analyze Memory, and Export Data to JSON - GitHub - sripathikrishnan/redis-rdb-tools: Parse Redis dump.rdb files, Analyze Memory, and Export Data to JSON
github.com
RDB ํ์ผ์ ๊ตฌ์กฐ๋ฅผ ๋ถ์ํ๊ณ ๊ฒ์ํ ์ ์๋ Python ๊ธฐ๋ฐ ๋๊ตฌ๋ก, RDB ํ์ผ์ ๋ถ์ํ์ฌ ํน์ ํค๋ ๊ฐ์ ๋ํ ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
Redis์์ RDB ํ์ผ์ ์ถ์ถํ๋ ๋ฐฉ๋ฒ
RDB ํ์ผ์ ์ถ์ถํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1. Redis CLI ์ฌ์ฉ
Redis CLI๋ฅผ ์ฌ์ฉํ์ฌ Redis ์๋ฒ์์ RDB ํ์ผ์ ์ถ์ถํ ์ ์์ต๋๋ค. ๋ค์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด Redis CLI์์ SAVE ๋ช
๋ น์ ์คํํ์ฌ RDB ํ์ผ์ ์ถ์ถํ ์ ์์ต๋๋ค.
SAVE
์ ๋ช
๋ น์ด๋ฅผ ์คํํ๋ฉด Redis ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค๋
์ท์ด RDB ํ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค.
2. Redis์ BGSAVE ๋ช
๋ น์ด ์ฌ์ฉ
Redis์ BGSAVE ๋ช
๋ น์ ์ฌ์ฉํ์ฌ Redis ์๋ฒ์์ RDB ํ์ผ์ ์ถ์ถํ ์ ์์ต๋๋ค. ๋ค์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด Redis ์๋ฒ์์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ SAVE ๋ช
๋ น์ ์คํํ์ฌ RDB ํ์ผ์ ์ถ์ถํฉ๋๋ค.
BGSAVE
์ ๋ช
๋ น์ด๋ฅผ ์คํํ๋ฉด Redis ์๋ฒ๊ฐ ๋ฐฑ๊ทธ๋ผ์ด๋์์ SAVE ๋ช
๋ น์ ์คํํ๊ณ RDB ํ์ผ์ ์ถ์ถํฉ๋๋ค.
๋ ๋ฐฉ๋ฒ ๋ชจ๋ RDB ํ์ผ์ Redis ์๋ฒ๊ฐ ์คํ๋๋ ๋๋ ํ ๋ฆฌ์ dump.rdb๋ผ๋ ์ด๋ฆ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค.
'DatabaseยทSQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DBMS์ ๊ธฐ์ต์ฅ์น์ ๊ด๊ณ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ํ์ฉ (0) | 2021.09.28 |
---|---|
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ณธ ๊ตฌ์กฐ, ๊ฐ๋ ๋ฐ ์ฉ์ด ์ ๋ฆฌ (0) | 2021.09.18 |
Oracle WITH ๊ตฌ๋ฌธ์ MySQL๋ก ๋ณํํ๊ธฐ (0) | 2020.12.08 |
MySQL Workbench ์ฌ์ฉ ์ค Error: DBMS connection is not available (0) | 2020.12.07 |
Oracle์ TO_CHAR ํจ์์ ๋์๋๋ MySQL ํจ์ (2) | 2020.12.06 |
๋๊ธ