ํฐ์คํ ๋ฆฌ ๋ทฐ
๐ PostgreSQL๋ก ์์ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ: ์ด๋ก ๊ณผ ์ค์ต - PostgreSQL ์ต์ ๋ํฅ ๋ฐ ๋ฏธ๋ ์ ๋ง
octo54 2025. 3. 10. 11:19๐ PostgreSQL๋ก ์์ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ: ์ด๋ก ๊ณผ ์ค์ต
6.1 PostgreSQL ์ต์ ๋ํฅ ๋ฐ ๋ฏธ๋ ์ ๋ง
PostgreSQL์ ๋น ๋ฅด๊ฒ ๋ฐ์ ํ๋ ์คํ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก,
ํด๋ผ์ฐ๋ ํ๊ฒฝ, AI ๋ฐ ๋น
๋ฐ์ดํฐ ๋ถ์, NoSQL๊ณผ์ ๊ฒฐํฉ ๋ฑ ๋ค์ํ ๊ธฐ์ ์ ๋ณํ๊ฐ ์ด๋ฃจ์ด์ง๊ณ ์์ต๋๋ค.
์ด๋ฒ ๊ธ์์๋ PostgreSQL์ ์ต์ ๋ํฅ๊ณผ ๋ฏธ๋ ์ ๋ง์ ์ดํด๋ณด๊ณ ,
ํฅํ PostgreSQL์ด ์ด๋ป๊ฒ ๋ฐ์ ํ ์ง ์์ธกํด ๋ณด๊ฒ ์ต๋๋ค. ๐
6.1.1 PostgreSQL ์ต์ ํธ๋ ๋ ๊ฐ์
์ต๊ทผ PostgreSQL์ ๋ฐ์ ๋ฐฉํฅ์ ๋ณด๋ฉด ๋ค์ํ ๊ธฐ์ ๊ณผ์ ๊ฒฐํฉ์ด ํต์ฌ์
๋๋ค.
ํนํ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ์ ๋ค์ด PostgreSQL๊ณผ ํจ๊ป ์ฑ์ฅํ๊ณ ์์ต๋๋ค.
โ
ํด๋ผ์ฐ๋ ํ๊ฒฝ์์์ PostgreSQL (Managed PostgreSQL ์๋น์ค ํ๋)
โ
AI ๋ฐ ๋จธ์ ๋ฌ๋๊ณผ์ ์ฐ๋ (PostgreSQL + Vector Search)
โ
JSONB ๋ฐ NoSQL ๊ธฐ๋ฅ ๊ฐํ
โ
๊ณ ๊ฐ์ฉ์ฑ(HA) ๋ฐ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ฅ
โ
PostgreSQL ๊ธฐ๋ฐ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ๋ฐ BI(๋น์ฆ๋์ค ์ธํ
๋ฆฌ์ ์ค) ํ์ฉ
6.1.2 ํด๋ผ์ฐ๋ ํ๊ฒฝ์์์ PostgreSQL ๋ฐ์
PostgreSQL์ ์ต๊ทผ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์์ ์ต์ ํ๊ฐ ๋น ๋ฅด๊ฒ ์งํ๋๊ณ ์์ต๋๋ค.
๋ง์ ๊ธฐ์
์ด Managed PostgreSQL ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด์์ ์๋ํํ๊ณ ์์ต๋๋ค.
โ ์ฃผ์ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ PostgreSQL ์๋น์ค
์๋น์ค ์ ๊ณต ์ ์ฒด
Amazon RDS for PostgreSQL | AWS |
Aurora PostgreSQL | AWS |
Cloud SQL for PostgreSQL | Google Cloud |
Azure Database for PostgreSQL | Microsoft Azure |
Neon | ์๋ฒ๋ฆฌ์ค PostgreSQL |
๐ก ํด๋ผ์ฐ๋ PostgreSQL์ ์๋ ๋ฐฑ์ , ๋ณด์ ํจ์น, ํ์ฅ์ฑ์ ์ง์ํ์ฌ ์ด์ ๋ถ๋ด์ ํฌ๊ฒ ์ค์ฌ์ค
6.1.3 PostgreSQL๊ณผ AI/๋จธ์ ๋ฌ๋ ์ฐ๋ (Vector Search ์ง์)
์ต๊ทผ PostgreSQL์ AI ๋ฐ ๋จธ์ ๋ฌ๋(ML)๊ณผ์ ์ฐ๋์ด ํ๋ฐํ๊ฒ ์ด๋ฃจ์ด์ง๊ณ ์์ต๋๋ค.
ํนํ, PostgreSQL์์ Vector Search(๋ฒกํฐ ๊ฒ์) ๋ฅผ ์ง์ํ๋ ๊ธฐ๋ฅ์ด ๊ฐํ๋๊ณ ์์ต๋๋ค.
โ AI ๋ฐ ๋ฒกํฐ ๊ฒ์ ํ์ฅ ๋ชจ๋
ํ์ฅ ๋ชจ๋ ์ค๋ช
pgvector | ๋ฒกํฐ ๋ฐ์ดํฐ ๊ฒ์ (AI Embeddings ์ ์ฅ) |
PostGIS | ์ง๋ฆฌ ์ ๋ณด ๋ฐ์ดํฐ๋ฅผ AI ๋ถ์์ ํ์ฉ |
TimescaleDB | ์๊ณ์ด ๋ฐ์ดํฐ ๊ธฐ๋ฐ AI ๋ชจ๋ธ ํ์ต |
๐น pgvector๋ฅผ ์ด์ฉํ AI ๋ฒกํฐ ๊ฒ์ ์์
CREATE EXTENSION vector;
CREATE TABLE embeddings (
id SERIAL PRIMARY KEY,
text TEXT,
embedding VECTOR(1536) -- OpenAI, Hugging Face Embeddings ์ ์ฅ ๊ฐ๋ฅ
);
โ AI ๋ชจ๋ธ์์ ์์ฑ๋ ์๋ฒ ๋ฉ ๋ฐ์ดํฐ๋ฅผ PostgreSQL์ ์ ์ฅํ์ฌ ๋ฒกํฐ ๊ฒ์ ๊ฐ๋ฅ
SELECT text FROM embeddings ORDER BY embedding <-> '[0.1, 0.2, 0.3, ...]' LIMIT 5;
โ ๊ฐ์ฅ ์ ์ฌํ ๋ฒกํฐ๋ฅผ ๊ฒ์ํ์ฌ ์ถ์ฒ ์์คํ , AI ๊ฒ์ ์์ง ๊ตฌ์ถ ๊ฐ๋ฅ
๐ก PostgreSQL์ ์ ์ ๋ AI ๋ชจ๋ธ๊ณผ ์ฐ๋๋๋ฉฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ฐ AI ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ด ํ๋ฐํด์ง ๊ฒ
6.1.4 JSONB ๋ฐ NoSQL ๊ธฐ๋ฅ ๊ฐํ
PostgreSQL์ RDBMS์ NoSQL์ ์ฅ์ ์ ๊ฒฐํฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ฐ์ ํ๊ณ ์์ต๋๋ค.
ํนํ JSONB ํ์
์ ํ์ฉํ๋ฉด MongoDB์ ์ ์ฌํ ๋ฌธ์ ์ ์ฅ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
โ PostgreSQL vs NoSQL (MongoDB ๋น๊ต)
๊ธฐ๋ฅ PostgreSQL (JSONB) MongoDB
๋ฐ์ดํฐ ์ ์ฅ ๋ฐฉ์ | ๊ด๊ณํ + JSONB ์ง์ | JSON ๋ฌธ์ ์ ์ฅ |
ํธ๋์ญ์ ์ง์ | ์์ ํ ACID ์ง์ | ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฏธ์ง์ |
์ธ๋ฑ์ฑ | GIN ์ธ๋ฑ์ค ์ง์ | ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ |
ํ์ฅ์ฑ | ์ค๋ฉ ๊ฐ๋ฅ (Citus) | ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ฉ ์ง์ |
๐ก PostgreSQL์ ๊ด๊ณํ DB์ NoSQL์ ์ฅ์ ์ ๊ฒฐํฉํ์ฌ, ํ์ด๋ธ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ํ์ฉ ๊ฐ๋ฅ
6.1.5 PostgreSQL์ ๊ณ ๊ฐ์ฉ์ฑ(HA) ๋ฐ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ์
PostgreSQL์ ๊ณ ๊ฐ์ฉ์ฑ(HA) ๋ฐ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ฅ์ด ๋น ๋ฅด๊ฒ ๋ฐ์ ํ๊ณ ์์ต๋๋ค.
โ ์ต์ HA ๋ฐ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ฅ ๊ธฐ๋ฅ
ํ์ฅ ๋ชจ๋ ์ค๋ช
Patroni | ์๋ ์ฅ์ ๋ณต๊ตฌ ๋ฐ ํด๋ฌ์คํฐ ๊ด๋ฆฌ |
Citus | PostgreSQL์ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ํ์ฅ |
pgpool-II | ๋ก๋ ๋ฐธ๋ฐ์ฑ ๋ฐ ์ปค๋ฅ์ ํ๋ง ์ง์ |
๐ก PostgreSQL์ ๋จ์ผ ์๋ฒ๋ฟ๋ง ์๋๋ผ, ๋ถ์ฐ ์ํคํ ์ฒ์์๋ ๊ฐ๋ ฅํ ํ์ฅ์ฑ์ ์ ๊ณต
6.1.6 PostgreSQL ๊ธฐ๋ฐ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ๋ฐ BI ํ์ฉ
์ต๊ทผ PostgreSQL์ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค(DWH) ๋ฐ BI(๋น์ฆ๋์ค ์ธํ ๋ฆฌ์ ์ค) ์๋ฃจ์ ์ผ๋ก๋ ํ์ฉ๋๊ณ ์์ต๋๋ค.
โ PostgreSQL ๊ธฐ๋ฐ ๋ฐ์ดํฐ ๋ถ์ ํด
ํด ์ค๋ช
TimescaleDB | ์๊ณ์ด ๋ฐ์ดํฐ ๋ถ์ |
Metabase | PostgreSQL ๋ฐ์ดํฐ ์๊ฐํ |
Superset | BI ๋์๋ณด๋ ๊ตฌ์ถ |
DuckDB | OLAP(์จ๋ผ์ธ ๋ถ์ ์ฒ๋ฆฌ) ์ง์ |
๐ก PostgreSQL์ ํ์ฉํ๋ฉด, SQL ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ๋ฐ ๋์๋ณด๋ ์์คํ ๊ตฌ์ถ ๊ฐ๋ฅ
6.1.7 PostgreSQL์ ๋ฏธ๋ ์ ๋ง
PostgreSQL์ ์คํ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฅ์์ ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๊ณ ์์ต๋๋ค.
์์ผ๋ก PostgreSQL์ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉํฅ์ผ๋ก ๋ฐ์ ํ ๊ฐ๋ฅ์ฑ์ด ํฝ๋๋ค.
โ PostgreSQL์ ๋ฏธ๋ ๋ฐ์ ๋ฐฉํฅ
1๏ธโฃ ์์ ํ ์๋ฒ๋ฆฌ์ค(Serverless) PostgreSQL ํ๊ฒฝ ํ๋
- Neon, Supabase ๋ฑ ์๋ฒ๋ฆฌ์ค PostgreSQL ์๋น์ค ์ฆ๊ฐ
2๏ธโฃ AI ๋ฐ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฅ ๊ฐํ
- pgvector ๋ฐ AI ๋ชจ๋ธ ์ฐ๋ ๊ธฐ๋ฅ ํ๋
3๏ธโฃ NoSQL ๊ธฐ๋ฅ ๊ณ ๋ํ
- JSONB, Key-Value Store ๊ธฐ๋ฅ ํ์ฅ
4๏ธโฃ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ํด๋ผ์ฐ๋ ์ต์ ํ
- Citus ํ์ฅ ๋ชจ๋์ ํตํ ๊ธ๋ก๋ฒ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ต์ ํ
5๏ธโฃ ์๋ํ๋ ์ ์ง๋ณด์ ๋ฐ ๊ด๋ฆฌ ๊ธฐ๋ฅ ๊ฐํ
- AI ๊ธฐ๋ฐ ์ฟผ๋ฆฌ ์ต์ ํ, ์๋ ์ธ๋ฑ์ค ํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ ๊ฐ๋ฅ
๐ก PostgreSQL์ ๋จ์ํ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋์ด, AI ๋ฐ ๋น ๋ฐ์ดํฐ ๋ถ์, ํด๋ผ์ฐ๋ ์ต์ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์งํ ์ค
6.1.8 ๊ฒฐ๋ก : PostgreSQL์ ๋ฏธ๋๋ ๋์ฑ ๋ฐ๋ค!
โ
ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ PostgreSQL์ ํ์ฉ์ด ์ฆ๊ฐ ์ค
โ
AI ๋ฐ ๋ฒกํฐ ๊ฒ์(pgvector)์ ํตํด AI์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๊ฒฐํฉ
โ
JSONB๋ฅผ ํตํด NoSQL ๊ธฐ๋ฅ์ด ์ง์์ ์ผ๋ก ๊ฐํ๋จ
โ
PostgreSQL ๊ธฐ๋ฐ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Citus)์ ๋ฐ์ ์ด ๊ฐ์ํ
โ
๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ๋ฐ BI ๋ถ์ ๋๊ตฌ๋ก ํ์ฉ ๊ฐ๋ฅ
์ด์ PostgreSQL์ ์ต์ ๋ํฅ๊ณผ ๋ฏธ๋ ์ ๋ง์ ์ดํดํ์ต๋๋ค!
PostgreSQL์ ์์ผ๋ก๋ ์คํ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์๋ก ์๋ฆฌ๋งค๊นํ ๊ฒ์
๋๋ค. ๐
๐ ์๋ฆฌ์ฆ ๋ง๋ฌด๋ฆฌ: PostgreSQL ํ์ต์ ๋ง์น๋ฉฐ
๐ ์ด์ ๊ธ: 5.2 PostgreSQL ์ด์ ๋ฐ ์ ์ง๋ณด์ ์ ๋ต
์ด์ PostgreSQL์ ์ต์ ํธ๋ ๋์ ๋ฏธ๋ ์ ๋ง๊น์ง ๋ค๋ฃจ์์ต๋๋ค!
PostgreSQL์ ํ์ตํ ๋ชจ๋ ๋ถ๋ค์ด ๋ฏธ๋์ ๋ฐ์ดํฐ ์ ๋ฌธ๊ฐ๊ฐ ๋๊ธฐ๋ฅผ ์์ํฉ๋๋ค. ๐๐
'study > postgresql' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
- Total
- Today
- Yesterday
- LangChain
- AI์ฑ๋ด
- ๊ด๋ฆฌ์
- til
- rag
- Ktor
- ๋ฐฑ์๋
- fastapi
- babel
- ์ฑ๋ด๊ฐ๋ฐ
- ๋ก์ปฌLLM
- llm
- Project
- Next.js
- REACT
- github
- nextJS
- ํ๋ก ํธ์๋
- Python
- Docker
- ๊ฐ๋ฐ๋ธ๋ก๊ทธ
- kotlin
- ๋ฆฌ์กํธ
- ๋ฐฑ์๋๊ฐ๋ฐ
- Page
- PostgreSQL
- ์น๊ฐ๋ฐ
- nodejs
- ํ์ด์ง
- Webpack
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |