SQLite์šฉ ๋ณต์ œ ์‹œ์Šคํ…œ ๊ตฌํ˜„๊ณผ ํ•จ๊ป˜ Litestream ๋„์ž…

BoltDB NoSQL ์Šคํ† ๋ฆฌ์ง€์˜ ์ž‘์„ฑ์ž์ธ Ben Johnson์€ SQLite์—์„œ ๋ฐ์ดํ„ฐ ๋ณต์ œ๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” Litestream ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. Litestream์€ SQLite๋ฅผ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŒŒ์ผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์ด๋ฅผ ๋‹ค๋ฅธ ํŒŒ์ผ์ด๋‚˜ ์™ธ๋ถ€ ์ €์žฅ์†Œ๋กœ ์ „์†กํ•˜๋Š” ๋ณ„๋„๋กœ ์‹คํ–‰๋˜๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” Go๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ Apache 2.0 ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ๋ชจ๋“  ์ƒํ˜ธ ์ž‘์šฉ์€ ํ‘œ์ค€ SQLite API๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. Litestream์€ ์ž‘๋™์„ ์ง์ ‘์ ์œผ๋กœ ๋ฐฉํ•ดํ•˜์ง€ ์•Š๊ณ  ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์šฉ์„ ์†์ƒ์‹œํ‚ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Š” Litestream์„ Rqlite ๋ฐ Dqlite์™€ ๊ฐ™์€ ์†”๋ฃจ์…˜๊ณผ ๊ตฌ๋ณ„ํ•ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ SQLite์—์„œ WAL ๋กœ๊ทธ("Write-Ahead Log")๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ์ถ”์ ๋ฉ๋‹ˆ๋‹ค. ์ €์žฅ ๊ณต๊ฐ„์„ ์ ˆ์•ฝํ•˜๊ธฐ ์œ„ํ•ด ์‹œ์Šคํ…œ์€ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ŠคํŠธ๋ฆผ์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์กฐ๊ฐ(์Šค๋ƒ…์ƒท)์œผ๋กœ ์ง‘๊ณ„ํ•˜๊ณ  ๊ทธ ์œ„์— ๋‹ค๋ฅธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ˆ„์ ๋˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์Šฌ๋ผ์ด์Šค ์ƒ์„ฑ ์‹œ๊ฐ„์€ ์„ค์ •์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ•˜๋ฃจ์— ํ•œ ๋ฒˆ ๋˜๋Š” ํ•œ ์‹œ๊ฐ„์— ํ•œ ๋ฒˆ ์Šฌ๋ผ์ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Litestream์˜ ์ฃผ์š” ์ ์šฉ ์˜์—ญ์—๋Š” ๋ณด์•ˆ ๋ฐฑ์—… ๊ตฌ์„ฑ ๋ฐ ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ์ฝ๊ธฐ ๋กœ๋“œ ๋ถ„์‚ฐ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์ŠคํŠธ๋ฆผ์„ Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage ๋˜๋Š” SFTP ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ์™ธ๋ถ€ ํ˜ธ์ŠคํŠธ๋กœ ์ „์†กํ•˜๋Š” ๊ฒƒ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์ด ์†์ƒ๋œ ๊ฒฝ์šฐ ์ง€์ •๋œ ์‹œ์ , ํŠน์ • ๋ณ€๊ฒฝ ์‚ฌํ•ญ, ๋งˆ์ง€๋ง‰ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋˜๋Š” ์ง€์ •๋œ ์Šฌ๋ผ์ด์Šค์— ํ•ด๋‹นํ•˜๋Š” ์ƒํƒœ์—์„œ ๋ฐฑ์—… ๋ณต์‚ฌ๋ณธ์„ ๋ณต์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€