24์ 13์ผ, ๊ฐ๋ฐ ํ์ ๋ค์ Postgresql ๋ฆด๋ฆฌ์ค ๋ฒํธ XNUMX์ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ฐํํ์ต๋๋ค. ์ ๋ฆด๋ฆฌ์ค๋ ๋ฌด์๋ณด๋ค๋ ์ฑ๋ฅ ํฅ์, ๋ด๋ถ ์ ์ง ๊ด๋ฆฌ ์๋น์ค ์๋ ํฅ์, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ํฐ๋ง ๋จ์ํ, ๋ณด๋ค ์์ ์ ์ธ ์์คํ ์ก์ธ์ค ์ ์ด์ ์ค์ ์ ๋์์ต๋๋ค.
์ด์ง ์ธ๋ฑ์ค ํธ๋ฆฌ์์ ์ธ๋ฑ์ฑ๋ ๋ฐ์ดํฐ ๊ฐ์ ์ค๋ณต ์ฒ๋ฆฌ ์ธก๋ฉด์์ ํ
์ด๋ธ ์ธ๋ฑ์ฑ์ ์ต์ ํํ๋ ์์
์ด ๊ณ์๋์ด ์ฟผ๋ฆฌ ์คํ ์๋๋ฅผ ๋์ผ ์ ์์ ๋ฟ๋ง ์๋๋ผ ์ธ๋ฑ์ค๊ฐ ์ฐจ์งํ๋ ๋์คํฌ ๊ณต๊ฐ์ ์ค์ผ ์ ์์์ต๋๋ค.
๋ํ ์ด์ ๋จ๊ณ์์ ์ด๋ฏธ ์ ๋ ฌ๋ ๋ฐ์ดํฐ์ ๋ฐ๋ณต ์ ๋ ฌ์ด ๋ ๋น ๋ฅด๊ฒ ์๋ํ๋ ์ฆ๋ถ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ด ์ถ๊ฐ๋์์ผ๋ฉฐ, ๋ณด๋ค ํจ์จ์ ์ธ ๋จ๊ณ๋ฅผ ๊ณ์ฐํ ๋ ์๋ก์ด ํ์ฅ ํต๊ณ(CREATE STATISTICS ๋ช
๋ น์ ํตํด)๋ฅผ ์ฌ์ฉํ์ฌ ์ผ๋ถ ์ฟผ๋ฆฌ๋ฅผ ๊ฐ์ํํ ์ ์์ต๋๋ค. ๋จ๊ณ๋ณ ๊ณํ.
ํด์๋ ์ง๊ณ๋ฅผ ๋ ๋ง์ด ํ์ฉํ๊ณ ์ง๊ณ๋ ๋ฐ์ดํฐ์ ์ผ๋ถ๊ฐ RAM์ ๋ง์ง ์๋ ๊ฒฝ์ฐ ๋์คํฌ์ ๋คํํ์ฌ ๋น์ฉ์ด ๋ง์ด ๋๋ ๋ฐ์ดํฐ ์ง๊ณ๊ฐ ํฌํจ๋ ์ฟผ๋ฆฌ ์คํ๋ ์ต์ ํ๋์์ต๋๋ค. ์๋ก ๋ค๋ฅธ ํํฐ์
์ ์๋ ํ
์ด๋ธ์ ์ฐ๊ฒฐํ๋ ์๋๊ฐ ํฌ๊ฒ ํฅ์๋์์ต๋๋ค.
Postgresql ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ง ๊ด๋ฆฌ ๋ฐ ๊ด๋ฆฌ๋ฅผ ๋จ์ํํ๊ธฐ ์ํด ์๋นํ ์์ ์ด ์ํ๋์์ต๋๋ค. ํ์ ์ญ์ ํ๊ฑฐ๋ ๋ค์ ์ด ํ ์ฌ์ ๋์คํฌ ๊ณต๊ฐ์ ์ฌ์ฉํ๋ ๊ธฐ๋ณธ ์ ๊ณต ์์ ์ธ "vacuuming"์ ์ด์ ๋ณ๋ ฌ ์ค๋ ๋์์ ์คํํ ์ ์์ผ๋ฉฐ ๊ด๋ฆฌ์๋ ์ด์ ํด๋น ์ซ์๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ์ด ์ธ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ์ฌ ํ๋์ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํ ์๋ก์ด ๋๊ตฌ๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ ๋ง์คํฐ์ ๋ณต์ ๋ณธ ๊ฐ์ ์ฌ์ ๊ธฐ๋ก ๋ก๊ทธ๋ฅผ ๋๊ธฐํํ ๋ ์ค๋ฅ๊ฐ ๋ฐฉ์ง๋์์ต๋๋ค. ์ด๋ ๋ณต์ ๋ณธ ์ฐ๊ฒฐ์ ๋์ ๋ ์ถฉ๋์ด ๋ฐ์ํ๊ฑฐ๋ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌด๊ฒฐ์ฑ์ ๋ฐฉํดํ ์ ์์ต๋๋ค. ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ณต์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค.
๊ฐ๋ฐ์๋ฅผ ์ํ ํ์ ์ค์์ ๋ค์ํ ํ์ค ์๊ฐ ๊ธฐ๋ก ํ์์ ๋ด์ฅ Postgresql ์ ํ์ผ๋ก ๋ณํํ๋ datetime() ํจ์๋ฅผ ๊ฐ์กฐํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ UUID ์์ฑ ํจ์ v4 gen_random_uuid(); ์ ๋์ฝ๋ ์์ ํ์คํ; ๋ ผ๋ฆฌ์ ์์ค์ ์ ์ฒด ๋ณต์ ์ ์ฟผ๋ฆฌ์ ๊ธฐํ ๋ณ๊ฒฝ ์ฌํญ ๋ฐ ๋ณต์ ๋ณธ์ ์ฌ์ฉํ ์ ์๋ ์๋ก์ด ํธ๋ฆฌ๊ฑฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ๋ ๋คํธ์ํฌ ๋ ธ๋์ ํ ์ด๋ธ ๋ฐ์ดํฐ๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ํ ๋ณด๋ค ์ ์ฐํ ์์คํ ์ ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ก์ธ์ค ์ ์ด๋ ์์คํ ์ ์ฃผ์ ๊ตฌ์ฑ ์์ ์ค ํ๋๋ก ๋ช ์๋์ด ์์ผ๋ฉฐ ์ ๋ฒ์ ์ ์ด์ ๊ด๋ จํ์ฌ ํฐ ๋ฐ์ ์ ์ด๋ฃจ์์ต๋๋ค. ์ด์ ๊ถํ์ด ์๋ ์ฌ์ฉ์(์ํผ์ ์ )๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ์ฅ์ ์ค์นํ ์ ์์ต๋๋ค. ๋์์ ์ผ๋ฐ ์ฌ์ฉ์๋ ์ ๋ขฐํ ์ ์๋ ๊ฒ์ผ๋ก ํ์ํ ํ์ฅ ํ๋ก๊ทธ๋จ ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๋ขฐํ ์ ์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋๋ ์์ ํ์ฅ ์ธํธ(์: pgcrypto, tablefunc ๋๋ hstore)๋ง ์ค์นํ ์ ์์ต๋๋ค. SCRAM ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ ๋(libpq ๋๋ผ์ด๋ฒ๋ฅผ ํตํด ์์ ํ ๋) ์ด์ "์ฑ๋ ๋ฐ์ธ๋ฉ"์ด ํ์ํ๋ฉฐ ๋ฒ์ 13์ ํ์ฌ ๋ฐ์ดํฐ postgres_fdw์ ๋ํ ๋ํผ ํจ์๋ ์ธ์ฆ์ ์ธ์ฆ์ ์ง์ํฉ๋๋ค.
์ถ์ฒ : linux.org.ru