ํํฐ์ (Partition)
- ํฌ๊ธฐ๊ฐ ๋งค์ฐ ํฐ ํ ์ด๋ธ์ด๋ ์ธ๋ฑ์ค๋ฅผ ๊ด๋ฆฌ๊ฐ ์ฉ์ดํ ๋จ์๋ก ๋ถํ ํ๋ ๊ฒ
- ๊ฐ๊ฐ์ ํํฐ์ ์ ์์ ์ ์ด๋ฆ์ ๊ฐ์ง
* ํํฐ์ ์ ์ฅ์
- ๊ฐ์ฉ์ฑ์ ์ฆ๊ฐ
- ์คํค๋ง ๊ฐ์ฒด์ ๊ด๋ฆฌ
- ๋ฐ์ดํฐ์จ์ดํ์ฐ์ค์์ ์ฟผ๋ฆฌ ์ฑ๋ฅ ํฅ์
- ์์ฉํ๋ก๊ทธ๋จ ์ ์ฅ์์, ํ๋์ ํ ์ด๋ธ์ ๋ณด๋ ๊ฒ๊ณผ ๊ฐ๊ธฐ ๋๋ฌธ์ DML ๋ฌธ์ฅ์ ์์ ์ด ํ์ ์์
* ํํฐ์ ํค(Partition Key)
- ๋ก์ฐ๊ฐ ํน์ ํํฐ์ ์ ์ํ๋ ๊ธฐ์ค์ด๋๋ ํ๋ ๋๋ ๋ ์ด์์ ์ปฌ๋ผ
- Sales ํ ์ด๋ธ์์ time_id์ปฌ๋ผ์ ๋ฒ์ํํฐ์ (Range partition)์ผ๋ก ์ง์ ํ๋ฉด, ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ํํฐ์ ํค๋ฅผ ์ฐธ๊ณ ํด์ ํด๋น ํํฐ์ ์ผ๋ก ์ฝ์ , ์์ , ์ญ๋ฒ ์์ ์ ์ํ
* ํํฐ์ ์ข ๋ฅ
- ๋ฒ์ ํํฐ์
๋(range partitioning)
- ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ํํ
- ํํฐ์ ํค ๊ฐ์ ๋ฒ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ก์ฐ๋ฅผ ๋ถ๋ฅ
- ์ฃผ๋ก ๋ ์งํ์ ์ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ์ค์
- ๋ฆฌ์คํธ ํํฐ์
๋(list partitioning)
- ํํฐ์ ์ปฌ๋ผ์ ๊ตฌ์ฑํ๋ ํน์ ํ ๊ฐ์ผ๋ก ๊ตฌ๋ถ๋๋ ํํฐ์ ํ ์ด๋ธ
- ์ฃผ๋ก ํน์ ํ ๊ฐ์ผ๋ก ๊ตฌ๋ถ์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ฌ์ฉ
- ํด์ ํํฐ์
๋(hash partitioning)
- ํด์ ํจ์๋ฅผ ์ด์ฉํ์ฌ ํ ์ด๋ธ ๋ฐ์ดํฐ ๊ตฌ๋ถ
- ํด์ ํจ์์ ์ํด ์๋์ผ๋ก ํํฐ์ ๊ฐ์๋งํผ ํ ์ด๋ธ ๋ฐ์ดํฐ๋ฅผ ๋ถํ
- ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ์์น์ ๋ถ์ฐ๋ฐฐ์นํด์ ๋์คํฌ I/O ์ฑ๋ฅ์ ๊ฐ์
๋ทฐ(View)
- ํ๋ ๋๋ ๊ทธ ์ด์์ ํ ์ด๋ธ์ ๋ํ ๋ ผ๋ฆฌ์ ํํ
- ๋ฏธ๋ฆฌ ์ ์๋ ๋จ์ผ ์ง์๋ฅผ ๋์ค์ ์ฌ์ฉํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด๋ก ์ ์ฅํด๋์ ๊ฒ
* ๋ทฐ์ ์ ํ
- ํ๋ก์ ์ ๋ทฐ(Projection View) : ๋ทฐ์ ๊ฐ์ฅ ๋จ์ํ ์ ํ / ํ ์ด๋ธ ๋ด์ ์ปฌ๋ผ์ ๋ํ ํ๋์ ๋ถ๋ถ์งํฉ
- ์กฐ์ธ ๋ทฐ(Join View) : ์ง์ ๋ ์ปฌ๋ผ ๋ด์์ ๊ฐ์ ๋น๊ตํ์ฌ ํ๋, ๋๋ ๋ค์ ํ ์ด๋ธ๋ก๋ถํฐ ํ์ ์ฐ๊ฒฐ
- ์ธ๋ผ์ธ ๋ทฐ(Inline View) : SELECT๋ฌธ ์ค์์ FROM์ ๋ค์ ๊ดํธ๋ก ๋ฌถ์ด์ ์ฌ์ฉํ๋ ์๋ธ์ฟผ๋ฆฌ / SQL์คํ ๋์๋ง ์ ์
์ํ์ค(Sequence)
- ํน์ ํ ์ซ์ ์๋ณ์๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์์ ์ฌ์ฉํ๋ ๊ฐ์ฒด
- ์ํ์ค๋ ์ค๋ผํด์์ ๊ณ ์ ํ ์ซ์๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ ์ ๊ณต
- ์ผ๋ฐ์ ์ผ๋ก ํ ์ด๋ธ์ ๊ธฐ๋ณธํค(๋๋ ์ ๋ํฌ ํค)๋ก ์ฌ์ฉ
- ์์ฑ๋๋ ์์๋ฅผ ์ด์ฉํ์ฌ ์ ๋ ฌ์์ ์ฌ์ฉํ๊ธฐ๋ ํจ
* ์ํ์ค ํน์ง
- ๋ณ๋ ฌ์ ์ผ๋ก ์ฒ๋ฆฌ ๊ฐ๋ฅ
- ๋ฉ๋ชจ๋ฆฌ์ ๋ฏธ๋ฆฌ ๋ฒํธ๋ฅผ ๋ณด๊ดํ์ฌ ์ ๊ทผ ํจ์จ์ฑ์ ์ฆ๊ฐ
- ๋ ๋ฆฝ์ ์ผ๋ก ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ํ ์ด๋ธ์์ ์ฌ์ฉ ๊ฐ๋ฅ
'software engineering > ๋ฐ์ดํฐ๋ฒ ์ด์ค์ค๊ณ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DB] ํจ์์ ํ๋ก์์ (0) | 2023.11.20 |
---|---|
[DB] ๋ฝ๊ณผ ๋ฐ๋๋ฝ (Dead Lock) (0) | 2023.11.06 |
[DB] ๋ฐ์ดํฐ ๋์์ฑ๊ณผ ์ผ๊ด์ฑ (0) | 2023.11.06 |
[DB] ํธ๋์ญ์ (Transaction) (0) | 2023.10.27 |
[DB] ์ธ๋ฑ์ค ์ ์ (0) | 2023.10.12 |