์๊ฐ
์๋ ํ์ธ์. ์น๊ฐ๋ฐ์ ningenMe ์ ๋๋ค.
์ ๋ชฉ ๊ทธ๋๋ก ์ ์ด์ผ๊ธฐ๋ MySQL์์ 300์ต ๊ฐ์ ๋ ์ฝ๋๋ฅผ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ญ์ ํ๋ ์ด์ผ๊ธฐ์ ๋๋ค.
๋๋ ์ด๊ฒ์ ๊ด์ฌ์ ๊ฐ๊ฒ ๋์๊ธฐ ๋๋ฌธ์ ์๋ฆผ(์ง์นจ)์ ๋ง๋ค๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
ํ - ๊ฒฝ๊ณ
์ ๊ฐ ์ฌ์ฉํ๊ณ ์ ์ง ๊ด๋ฆฌํ๋ ๋ฐฐ์น ์๋ฒ์๋ ํ๋ฃจ์ ํ ๋ฒ MySQL์์ ์ง๋ ๋ฌ์ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ์ ๊ธฐ์ ์ธ ํ๋ก์ธ์ค๊ฐ ์์ต๋๋ค.
๋ณดํต ์ด ๊ณผ์ ์ 1์๊ฐ ์ ๋ ์์ ์๋ฃ๋๋๋ฐ ์ด๋ฒ์๋ 7~8์๊ฐ์ด ์ง๋๋ ๋๋์ง ์๊ณ ๊ฒฝ๊ณ ์ฐฝ๋ ๋จ์ง ์๋๊ตฐ์...
์ด์ ์ฐพ๊ธฐ
ํ๋ก์ธ์ค๋ฅผ ๋ค์ ์์ํ๊ณ ๋ก๊ทธ๋ฅผ ์ดํด๋ณด์์ผ๋ ์๋ชป๋ ์ ์ ๋ฐ๊ฒฌ๋์ง ์์์ต๋๋ค.
์ฟผ๋ฆฌ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์์ธํ๋์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ฌด์์ด ์๋ชป๋๋์ง ์๊ฐํด ๋ณด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํฌ๊ธฐ๊ฐ ์๋นํ ํฌ๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค.
hoge_table | 350'000'000 |
350์ต XNUMX์ฒ๋ง ๊ฐ์ ๋ ์ฝ๋. ์ธ๋ฑ์ฑ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋ ๊ฒ ๊ฐ์์ง๋ง ๋งค์ฐ ๋๋ ธ์ต๋๋ค.
๋งค์ ํ์ํ ๋ฐ์ดํฐ ์์ง๋์ ์ฝ 12๊ฐ์ ๋ ์ฝ๋์์ต๋๋ค. select ๋ช ๋ น์ด ์ค๋ ๊ฑธ๋ ค ํธ๋์ญ์ ์ด ์ค๋ซ๋์ ์คํ๋์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
DB
๊ธฐ๋ณธ์ ์ผ๋ก ๋งค์ผ ์ฝ 400๊ฐ์ ํญ๋ชฉ์ด ๋์ด๋๋ ํ ์ด๋ธ์ ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ง๋๋ฌ์ ๋ฐ์ดํฐ๋ง ์์งํ๊ธฐ๋ก ๋์ด ์์๊ธฐ ๋๋ฌธ์ ์ ํํ ์ด ์ ๋์ ๋ฐ์ดํฐ๋ฅผ ๊ฒฌ๋ ์ ์์ ๊ฒ์ผ๋ก ์์๋์ผ๋ ์์ฝ๊ฒ๋ ํ์ ์์ ์ ํฌํจ๋์ง ์์์ต๋๋ค.
์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ ๊ฐ ๊ฐ๋ฐํ ๊ฒ์ด ์๋๋๋ค. ๋ค๋ฅธ ๊ฐ๋ฐ์์๊ฒ ๋งก๊ฒผ๊ธฐ ๋๋ฌธ์ ์ฌ์ ํ ๊ธฐ์ ์ ์ธ ๋น ๊ฐ์ ๋๋์ด ๋ค์์ต๋๋ค.
๋งค์ผ ์ฝ์ ๋๋ ๋ฐ์ดํฐ์ ์์ด ๋ง์์ ธ ๋ง์นจ๋ด ํ๊ณ์ ๋๋ฌํ๋ ์์ ์ด ์์ต๋๋ค. ๊ทธ๋ ๊ฒ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ ๋๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฆฌํด์ผ ํ๋ค๊ณ ๊ฐ์ ํ์ง๋ง ์ํ๊น๊ฒ๋ ๊ทธ๋ ๊ฒ ํ์ง ์์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋์ ๋๋ ํ๋์ ๋์ฐ์ต๋๋ค.
์ ์
๋ก์ง ์์ฒด๋ฅผ ๋ฐ๊พธ๋ ๊ฒ๋ณด๋ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฒด์ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ ์ฒ๋ฆฌ ์๊ฐ์ ์ค์ด๋ ๊ฒ์ด ๋ ํฉ๋ฆฌ์ ์ด์์ต๋๋ค.
300์ต ๊ฐ์ ๊ธฐ๋ก์ ์ง์ฐ๋ฉด ์ํฉ์ด ํฌ๊ฒ ๋ฐ๋ ๊ฒ ๊ฐ์์ ๊ทธ๋ ๊ฒ ํ๊ธฐ๋ก ํ์ด์... ์ด, ์ด๊ฑฐ๋ฉด ํ์คํ ๋ ๊ฑฐ๋ผ ์๊ฐํ์ด์.
์ก์ 1
์์ ์ ์ธ ๋ฐฑ์ ์ ์ค๋นํ๊ณ ๋๋์ด ์์ฒญ์ ๋ณด๋ด๊ธฐ ์์ํ์ต๋๋ค.
ใ์์ฒญ ๋ณด๋ด๊ธฐใ
DELETE FROM hoge_table WHERE create_time <= 'YYYY-MM-DD HH:MM:SS';
"..."
"..."
โํ โฆ ๋๋ต์ ์์ต๋๋ค. ์ด์ฉ๋ฉด ๊ทธ ๊ณผ์ ์ด ์ค๋ ๊ฑธ๋ฆด ์๋ ์์ง ์์๊น์?โ โ ๋ผ๊ณ ์๊ฐํ๋๋ฐ ํน์๋ผ๋ grafana๋ฅผ ์ดํด๋ณด๋ ๋์คํฌ ๋ถํ๊ฐ ์์ฒญ ๋น ๋ฅด๊ฒ ๋์ด๋๋ ๊ฑธ ๋ดค์ต๋๋ค.
โ์ํํด.โ ๋๋ ๋ค์ ์๊ฐํ๊ณ ์ฆ์ ์์ฒญ์ ์ค๋จํ์ต๋๋ค.
์ก์ 2
๋ชจ๋ ๊ฒ์ ๋ถ์ํ ๊ฒฐ๊ณผ, ๋ฐ์ดํฐ์ ์์ด ๋๋ฌด ์ปค์ ํ ๋ฒ์ ๋ชจ๋ ๊ฒ์ ์ญ์ ํ ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค.
์ฝ 1๊ฐ์ ๋ ์ฝ๋๋ฅผ ์ญ์ ํ ์ ์๋ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ธฐ๋ก ๊ฒฐ์ ํ๊ณ ์คํํ์ต๋๋ค.
ใ๋๋ณธ์ ๊ตฌํํฉ๋๋คใ
โ์ด์ ํ์คํ ํจ๊ณผ๊ฐ ์์ ๊ฒ ๊ฐ์์.โ ๋๋ ์๊ฐํ์ต๋๋ค.
์ก์ 3
๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ํจ๊ณผ๊ฐ ์์์ง๋ง ๋งค์ฐ ๋
ธ๋ ์ง์ฝ์ ์ด์์ต๋๋ค.
๋ถํ์ํ ์ ๊ฒฝ์ ์ฐ์ง ์๊ณ ๋ชจ๋ ์ผ์ ์ ์คํ๊ฒ ์ํํ๋ ค๋ฉด ์ฝ XNUMX์ฃผ๊ฐ ๊ฑธ๋ฆฝ๋๋ค. ํ์ง๋ง ์ด ์๋๋ฆฌ์ค๋ ์๋น์ค ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ์ด ์๋๋ฆฌ์ค์์ ๋ฒ์ด๋์ผ ํ์ต๋๋ค.
๊ทธ๋์ ์ ๊ฐ ๊ฒฐ์ ํ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ ์ด๋ธ์ ๋ณต์ฌํ๊ณ ์ด๋ฆ์ ๋ฐ๊ฟ๋๋ค.
์ด์ ๋จ๊ณ์์ ์ด๋ ๊ฒ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ฉด ๋๊ฐ์ด ํฐ ๋ถํ๊ฐ ๋ฐ์ํ๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ๊ทธ๋์ ์ฝ์ ์ ์ฌ์ฉํ์ฌ ์ฒ์๋ถํฐ ์ ํ ์ด๋ธ์ ๋ง๋ค๊ณ ์ญ์ ํ ๋ฐ์ดํฐ๋ฅผ ๊ทธ ํ ์ด๋ธ๋ก ์ฎ๊ธฐ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
| hoge_table | 350'000'000|
| tmp_hoge_table | 50'000'000|
์ ํ ์ด๋ธ์ ์์ ๊ฐ์ ํฌ๊ธฐ๋ก ๋ง๋ค๋ฉด ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋๋ 1/7 ๋นจ๋ผ์ง๋ค.
ํ
์ด๋ธ์ ์์ฑํ๊ณ ์ด๋ฆ์ ๋ฐ๊พผ ํ ๋ง์คํฐ ํ
์ด๋ธ๋ก ์ฌ์ฉํ๊ธฐ ์์ํ์ต๋๋ค. ์ด์ 300์ต ๊ฐ์ ๋ ์ฝ๋๊ฐ ์๋ ํ
์ด๋ธ์ ์ญ์ ํ๋ฉด ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์ ๊ฒ์
๋๋ค.
์๋ผ๋ด๊ฑฐ๋ ์ญ์ ํ๋ ๊ฒ์ด ์ญ์ ํ๋ ๊ฒ๋ณด๋ค ์ค๋ฒํค๋๊ฐ ๋ ๋ฐ์ํ๋ค๋ ๊ฒ์ ์๊ณ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
์คํ
ใ์์ฒญ ๋ณด๋ด๊ธฐใ
INSERT INTO tmp_hoge_table SELECT FROM hoge_table create_time > 'YYYY-MM-DD HH:MM:SS';
"..."
"..."
"์ฌ์ ์ด๋ฆโฆ?"
์ก์ 4
์ด์ ์์ด๋์ด๊ฐ ์๋ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ง๋ง ์ฝ์ ์์ฒญ์ ๋ณด๋ธ ํ ์ฌ๋ฌ ์ค๋ฅ๊ฐ ๋ํ๋ฌ์ต๋๋ค. MySQL์ ์ฉ์ํ์ง ์์ต๋๋ค.
์ด๋ฏธ ๋๋ฌด ํผ๊ณคํด์ ๋ ์ด์ ์ด ์ผ์ ํ๊ณ ์ถ์ง ์๋ค๋ ์๊ฐ์ด ๋ค๊ธฐ ์์ํ์ต๋๋ค.
๋๋ ์์์ ์๊ฐํ๊ณ ํ ๋ฒ์ ๋๋ฌด ๋ง์ ์ฝ์
์ฟผ๋ฆฌ๊ฐ ์์์ ์๋ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค ...
๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ํ๋ฃจ์ ์ฒ๋ฆฌํด์ผ ํ๋ ๋ฐ์ดํฐ ์์ ๋ํ ์ฝ์
์์ฒญ์ ๋ณด๋ด๋ ค๊ณ ํ์ต๋๋ค. ์ผ์ด๋!
๊ทธ ํ์๋ ๋์ผํ ์์ ๋ฐ์ดํฐ์ ๋ํ ์์ฒญ์ ๊ณ์ ๋ณด๋ ๋๋ค. ํ ๋ฌ ๋ถ๋์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํด์ผ ํ๋ฏ๋ก ์ด ์์ ์ ์ฝ 35ํ ๋ฐ๋ณตํฉ๋๋ค.
ํ ์ด๋ธ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ
ํ์ด์ ๋ด ํธ์ด์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ด ์์กฐ๋กญ๊ฒ ์งํ๋์์ต๋๋ค.
๊ฒฝ๊ณ ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค
์ผ๊ด ์ฒ๋ฆฌ ์๋๊ฐ ํฅ์๋์์ต๋๋ค.
์ด์ ์๋ ์ด ๊ณผ์ ์ด ์ฝ 2์๊ฐ ์ ๋ ๊ฑธ๋ ธ์ง๋ง ์ด์ ๋ ์ฝ XNUMX๋ถ ์ ๋ ๊ฑธ๋ฆฝ๋๋ค.
๋ชจ๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ๊ฒ์ ํ์ธํ ํ 300์ต ๊ฐ์ ๋ ์ฝ๋๋ฅผ ์ญ์ ํ์ต๋๋ค. ๋๋ ํ ์ด๋ธ์ ์ญ์ ํ๊ณ ๋ค์ ํ์ด๋ ๋๋์ ๋ฐ์์ต๋๋ค.
์์ฝ
์ผ๊ด ์ฒ๋ฆฌ์์ ํ์ ์ฒ๋ฆฌ๊ฐ ๋๋ฝ๋ ๊ฒ์ด ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ผ๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ์ด๋ฌํ ์ข ๋ฅ์ ์ํคํ ์ฒ ์ค๋ฅ๋ ์๊ฐ ๋ญ๋น๋ก ์ด์ด์ง๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ ์ฝ๋๋ฅผ ์ญ์ ํ ๋ ๋ฐ์ดํฐ ๋ณต์ ์ค ๋ถํ๋ฅผ ๊ณ ๋ คํ์๋์? MySQL์ ๊ณผ๋ถํ๋ฅผ ์ฃผ์ง ๋ง์.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ํตํ ์ฌ๋๋ค์ ๊ทธ๋ฌํ ๋ฌธ์ ์ ์ง๋ฉดํ์ง ์์ ๊ฒ์ ๋๋ค. ๋๋จธ์ง ๋ถ๋ค์๊ฒ๋ ์ด ๊ธฐ์ฌ๊ฐ ๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ฝ์ด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
์ด ๊ธฐ์ฌ๊ฐ ๋ง์์ ๋์
จ๋์ง, ๋ฒ์ญ์ด ๋ช
ํํ์ง, ๋์์ด ๋์
จ๋์ง ์๋ ค์ฃผ์๋ฉด ๋งค์ฐ ๊ธฐ์ ๊ฒ์
๋๋ค.
์ถ์ฒ : habr.com