๊ณ ๊ธ ๊ธฐ๋ฅ ๊ฐ์
Transaction
ํธ๋์ญ์
์ผ๋ก ๋ฐ์ดํฐ ์ผ๊ด์ฑ ๋ณด์ฅ ACID ์์ฑ
์๋ธ์ฟผ๋ฆฌ
์ค์ฒฉ ์ฟผ๋ฆฌ๋ก ๋ณต์กํ ์กฐ๊ฑด ํํ FROM, WHERE, SELECT
Upsert
INSERT OR UPDATE ํ๋ฒ์ ON CONFLICT
Vector Search
AI ์๋ฒ ๋ฉ ์ ์ฌ๋ ๊ฒ์ pgvector
Transaction - ํธ๋์ญ์
ํธ๋์ญ์ ์ ์ฌ๋ฌ ์ฟผ๋ฆฌ๋ฅผ ํ๋์ ๋จ์๋ก ๋ฌถ์ด ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ๋ณด์ฅํฉ๋๋ค.๊ธฐ๋ณธ ํธ๋์ญ์
ํธ๋์ญ์
์ ACID ์์ฑ: - Atomicity: ๋ชจ๋ ์ฑ๊ณต ๋๋ ๋ชจ๋ ์คํจ - Consistency: ๋ฐ์ดํฐ
์ผ๊ด์ฑ ์ ์ง - Isolation: ๋์ ์คํ ๊ฒฉ๋ฆฌ - Durability: ์๊ตฌ ์ ์ฅ
๋ช ์์ ๋กค๋ฐฑ
ํธ๋์ญ์ ์๋ฌ ์ฒ๋ฆฌ
์๋ธ์ฟผ๋ฆฌ
์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.FROM ์ ์๋ธ์ฟผ๋ฆฌ
WHERE ์ ์๋ธ์ฟผ๋ฆฌ
SELECT ์ ์๋ธ์ฟผ๋ฆฌ
WHERE ๊ทธ๋ฃน - ๋ณต์กํ ์กฐ๊ฑด
whereGroup - AND/OR ์กฐํฉ
์ค์ฒฉ ๊ทธ๋ฃน
์ค์ ์์ - ๊ฒ์ ํํฐ
UPSERT - ON CONFLICT
INSERT์ UPDATE๋ฅผ ํ ๋ฒ์ ์ํํฉ๋๋ค.๊ธฐ๋ณธ UPSERT
์ ํ์ ์ ๋ฐ์ดํธ
DO NOTHING
๋ณต์ ์ปฌ๋ผ UNIQUE
UpsertBuilder - ๋ณต์กํ ๊ด๊ณ ์ ์ฅ
์ฌ๋ฌ ํ ์ด๋ธ์ ๊ด๊ณ๋ฅผ ํ ๋ฒ์ ์ ์ฅํ ๋ ์ฌ์ฉํฉ๋๋ค.๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
UBRef์ ์ฅ์ : - ์ธ๋ ํค๋ฅผ ์ ๊ฒฝ ์ฐ์ง ์๊ณ ๊ด๊ณ ์ ์ - ์๋์ผ๋ก ์์กด ์์ ํด๊ฒฐ - ํธ๋์ญ์
๋ด์์
ID ์๋ ํ ๋น
Many-to-Many ๊ด๊ณ
๋๋ ๋ฑ๋ก
Vector Search - ๋ฒกํฐ ์ ์ฌ๋ ๊ฒ์
AI ์๋ฒ ๋ฉ์ ์ฌ์ฉํ ์๋ฏธ๋ก ์ ๊ฒ์์ ๋๋ค.Cosine Similarity (๊ธฐ๋ณธ)
L2 Distance
Inner Product
Full-text Search
PGroonga (ํ๊ธ ์ง์ ์ฐ์)
PostgreSQL tsvector
๋ฐฐ์น ์์
Batch Insert
Batch Update
Batch Delete
์ฑ๋ฅ ์ต์ ํ
์ธ๋ฑ์ค ํ์ฉ
SELECT ์ต์ ํ
JOIN ์ต์ ํ
ํ์ด์ง๋ค์ด์ ์ต์ ํ
๋ค์ ๋จ๊ณ
Model
Model์์ Puri ํ์ฉํ๊ธฐ
API Development
API์์ Puri ์ฌ์ฉํ๊ธฐ
Testing
Puri ์ฟผ๋ฆฌ ํ
์คํธํ๊ธฐ
Basic Queries
๊ธฐ๋ณธ ์ฟผ๋ฆฌ๋ก ๋์๊ฐ๊ธฐ