๐ AWS DB ๋ฐฑ์ (Whitepaper Summary)
์ถ์ฒ: Building Modern Applications Using AWS Databases (AWS ๊ณต์ ๋ฐฑ์, 2024) ๋ชฉ์ : SAA-C03 ์ํ ๋๋น ํต์ฌ ๊ฐ๋ ์ ๋ฆฌ ์ต์ข ์ ๋ฐ์ดํธ: 2025
๋ชฉ์ฐจ
- Purpose-Built Database ์ ํ ์ ๋ต
- ์ค์ผ์ผ๋ง ์ ๋ต
- In-Memory: ElastiCache vs MemoryDB
- ๊ณ ๊ฐ์ฉ์ฑ & ์ด์ ์์ ์ฑ
- Multi-Region ๋ฐฐํฌ ์ ๋ต
- Zero-ETL
- Vector Search & Generative AI
- ๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์
- DB ์๋น์ค ์ ํ ๋งคํธ๋ฆญ์ค
- ๐ฏ ์ํ ๋จ๊ณจ ํจํด ์์ฝ
1. Purpose-Built Database ์ ํ ์ ๋ต
ํต์ฌ ์์น
๋จ์ผ ๊ด๊ณํ DB๋ก๋ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ ์ ์๋ค.
- ์์ , IoT, ๋ชจ๋ฐ์ผ, ๊ธ๋ก๋ฒ ์๋น์ค๋ ๊ฐ๊ธฐ ๋ค๋ฅธ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ํ์
- ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์์ ๊ฐ ํ์ ์ํฌ๋ก๋์ ์ต์ ํ๋ DB๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์ ํํด์ผ ํจ
- AWS๋ 15์ข ์ด์์ Purpose-built DB ์ ๊ณต
AWS DB ํฌํธํด๋ฆฌ์ค
| ์ ํ | ์๋น์ค |
|---|---|
| Relational | Amazon Aurora, Amazon RDS |
| Key-Value | Amazon DynamoDB |
| Document | Amazon DocumentDB |
| In-Memory | Amazon ElastiCache, Amazon MemoryDB |
| Graph | Amazon Neptune |
| Wide-Column | Amazon Keyspaces |
| Time-Series | Amazon Timestream |
| Search | Amazon OpenSearch Service |
๐ E-Commerce ์ํคํ ์ฒ ์์ (์ํ ๋จ๊ณจ ์ถ์ )
| ๊ธฐ๋ฅ | ์ ํ DB | ์ด์ |
|---|---|---|
| ์ํ ๊ฒ์ | Amazon OpenSearch | ์ธ๋ฑ์ค ์ต์ ํ ๊ฒ์ |
| ์ฅ๋ฐ๊ตฌ๋ / ๊ฒฐ์ | Amazon Aurora | ํธ๋์ญ์ ๋ฌด๊ฒฐ์ฑ ํ์ |
| ๊ณ ๊ฐ ๋ฆฌ๋ทฐ (๋ณ์ ) | Amazon DynamoDB | ๋จ์ Key-Value ๊ตฌ์กฐ |
| ์ํ ์ถ์ฒ | Amazon Neptune | ๊ทธ๋ํ ๊ธฐ๋ฐ ๊ด๊ณ ํ์ |
Managed vs Self-Managed
AWS ์์ ๊ด๋ฆฌํ์ด ์ฒ๋ฆฌํ๋ ๊ฒ:
- ํ๋ก๋น์ ๋, HA ๊ตฌ์ฑ, ์๋ ํจ์น/์ ๊ทธ๋ ์ด๋
- ์๋ ๋ฐฑ์ , ์ฅ์ ์กฐ์น(Failover)
- Self-healing ์คํ ๋ฆฌ์ง, ์๋ ์ค์ผ์ผ๋ง
๊ฐ๋ฐ์/DBA๊ฐ ์ง์คํ ์ ์๋ ๊ฒ:
- ์คํค๋ง ์ค๊ณ, ์ฟผ๋ฆฌ ์ต์ ํ, ์ ๊ทผ ์ ์ด, ์ ๊ท ๊ธฐ๋ฅ ๊ฐ๋ฐ
TIPโ๊ด๋ฆฌ ๋ถ๋ด ์ต์ํโ, โ์ด์ ์ค๋ฒํค๋ ๊ฐ์โ โ ์์ ๊ด๋ฆฌํ(Managed) ์๋น์ค ์ ํ์ด ์ ๋ต ํจํด
2. ์ค์ผ์ผ๋ง ์ ๋ต
2-1. Serverless ์๋ ์ค์ผ์ผ๋ง
| ๊ตฌํ ๋ฐฉ์ | ์ง์ ์๋น์ค |
|---|---|
| Vertical Auto Scaling | Aurora, Neptune, Timestream for LiveAnalytics |
| ์์ ์๋ฒ๋ฆฌ์ค (compute + storage ๋ชจ๋ ์๋) | Aurora DSQL, DynamoDB, ElastiCache, Keyspaces |
TIPํผํฌ ๊ธฐ์ค ํ๋ก๋น์ ๋ ๋๋น ์ต๋ 90% ๋น์ฉ ์ ๊ฐ, ์ฌ์ฉ๋ ๊ธฐ๋ฐ ๊ณผ๊ธ โ โ๊ฐ๋ณ ํธ๋ํฝ + ๋น์ฉ ์ต์ ํ + ๊ด๋ฆฌ Zeroโ = Serverless ๊ณ์ด
2-2. Vertical vs Horizontal Scaling
Vertical Scaling โ ์ธ์คํด์ค ํฌ๊ธฐ ์ฆ๊ฐ (CPU / RAM / Network) ์ด์ ์ค๋จ ์์ด ์ค์๊ฐ ๋์ ์กฐ์ ๊ฐ๋ฅ
Horizontal Scaling โ ๋
ธ๋ ์ถ๊ฐ๋ก ๋ถ์ฐ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ: ์ฝ๊ธฐ ๋ ํ๋ฆฌ์นด ์ถ๊ฐ / ํํฐ์
๋ / ์ค๋ฉTIP
- ์ฝ๊ธฐ ์ฑ๋ฅ ๊ฐ์ โ Read Replica ์ถ๊ฐ (Horizontal)
- ๋จ์ผ ์ธ์คํด์ค ์ฑ๋ฅ ํฅ์ โ Vertical Scaling
2-3. Data Partitioning
- ํ ์ด๋ธ์ ์ปฌ๋ผ ๊ฐ ๊ธฐ์ค์ผ๋ก ์๋ธ์ (ํํฐ์ ) ์ผ๋ก ๋ถํ
- ํํฐ์ ๋ฐฉ์: Range / List / Hash
- ์ค๋ฉ๊ณผ์ ์ฐจ์ด: ํํฐ์ ์ ๊ฐ์ DB ์ธ์คํด์ค ๋ด ๋ถํ (๋ค๋ฅธ ๋ ธ๋ ๋ถํ์)
- ์ฑ์ ํฌ๋ช ํ๊ฒ(Transparent) ๋์ โ ์ฝ๋ ๋ณ๊ฒฝ ์์
- Aurora DSQL์ด ์๋ ์ง์
TIPํํฐ์ ๋ โ ์ค๋ฉ. ํํฐ์ ๋์ ๋จ์ผ ์ธ์คํด์ค ๋ด ๋ถํ
2-4. Sharding (Aurora PostgreSQL Limitless)
- ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๋ ๋ฆฝ ๋ ธ๋์ ๋ถ์ฐ (Shared-Nothing ์ํคํ ์ฒ)
- ๊ฐ ์ค๋๋ ๋ ๋ฆฝ์ ์ธ ๋ฐ์ดํฐ ์๋ธ์ ์ฒ๋ฆฌ
- Aurora PostgreSQL Limitless Database:
- ์์ ๊ด๋ฆฌํ ์ค๋ฉ โ ์๋ ๋ผ์ฐํ ๋ก์ง ๋ถํ์
- ์ด๋น ์๋ฐฑ๋ง ํธ๋์ญ์ ์ปค๋ฐ ์ง์
- ํํ๋ฐ์ดํธ๊ธ ํ์ฅ
- ์ค๋ ์ถ๊ฐ/์ ๊ฑฐ ์ ์๋ ๋ฆฌ๋ฐธ๋ฐ์ฑ
TIP์ด๋๊ท๋ชจ OLTP ์ฐ๊ธฐ ํ์ฅ โ Aurora PostgreSQL Limitless ์ง์ ์ค๋ฉ ๊ตฌํ ์์ด AWS๊ฐ ๋ผ์ฐํ ๊ด๋ฆฌ = โ๊ฐ๋ฐ ์ค๋ฒํค๋ ์ต์ํโ
3. In-Memory: ElastiCache vs MemoryDB
๋น๊ตํ
| ํญ๋ชฉ | ElastiCache | MemoryDB |
|---|---|---|
| ๋ถ๋ฅ | ์บ์ (Non-durable) | ์์ ๋ด๊ตฌ์ฑ In-Memory DB |
| ์์ง | Valkey, Memcached, Redis OSS | Valkey, Redis OSS |
| ์ฝ๊ธฐ ๋ ์ดํด์ | ๋ง์ดํฌ๋ก์ด | ๋ง์ดํฌ๋ก์ด |
| ์ฐ๊ธฐ ๋ ์ดํด์ | ๋ง์ดํฌ๋ก์ด | ์ ๋ฐ๋ฆฌ์ด (Multi-AZ ๋๊ธฐ ์ฐ๊ธฐ) |
| ๋ฐ์ดํฐ ๋ด๊ตฌ์ฑ | ์๋ ์์ค ๊ฐ๋ฅ | Zero ์์ค |
| HA | 99.99% | 99.999% |
| ๋ฉํฐ๋ฆฌ์ | - | Active-Active ์ง์ |
ElastiCache ์์ธ
- ๋จ์ผ ๋ ธ๋: ์ด๋น 100๋ง req ์ฒ๋ฆฌ
- ํด๋ฌ์คํฐ: ์ด๋น 5์ต req ์ฒ๋ฆฌ
- Primary ์ฅ์ ์ ๋ณต์ ๋ณธ ์๋ ์น๊ฒฉ โ ๋ฏธ๋ณต์ ๋ฐ์ดํฐ๋ง ์์ค
- Valkey = Redis OSS ๋์ฒด (Redis๊ฐ 2024๋ 3์ BSD 3-Clause ๋ผ์ด์ ์ค ๋ณ๊ฒฝ ํ Linux Foundation ์ฃผ๊ด)
MemoryDB ์์ธ
- ์ฐ๊ธฐ ์ Multi-AZ ํธ๋์ญ์ ๋ก๊ทธ์ ๋๊ธฐ ๊ธฐ๋ก ํ ์๋ต
- ์ฝ๊ธฐ๋ ๋ง์ดํฌ๋ก์ด ์ ์ง
- ๊ฐ์ฉ์ฑ 99.999%
์ ํ ๊ธฐ์ค
๋ฐ์ดํฐ ์์ค ํ์ฉ ๊ฐ๋ฅ + ์๋ณธ DB ๋ณ๋ ์กด์ฌ โ ElastiCache (์บ์ ๋ ์ด์ด)๋ฐ์ดํฐ ์์ค ์ ๋ ๋ถํ + DB ์์ฒด๊ฐ In-Memory โ MemoryDBTIP
- โ์บ์ vs ๋ด๊ตฌ์ฑ ์ธ๋ฉ๋ชจ๋ฆฌ DBโ ์ ํ ๋ฌธ์ ์์ฃผ ์ถ์
- ๋ถ๊ธฐ์ = ๋ฐ์ดํฐ ์์ค ํ์ฉ ์ฌ๋ถ
- ๋ง์ดํฌ๋ก์๋น์ค์์ Network Latency ์ ์์์ฉ ์บ์ ์ฌ์ฉ = Best Practice
4. ๊ณ ๊ฐ์ฉ์ฑ & ์ด์ ์์ ์ฑ
4-1. Multi-AZ ๊ตฌ์ฑ ํจํด
Aurora Multi-AZ:
- 3๊ฐ AZ์ ๋ฐ์ดํฐ ์๋ ๋ณต์ , ๋น์ฉ์ 1๊ฐ๋ถ๋ง ๊ณผ๊ธ
- Writer ์ฅ์ ์ โ Reader๋ก ์๋ Failover
- Read Replica๋ฅผ ๋ค๋ฅธ AZ์ ๋ถ์ฐ ๋ฐฐ์น
RDS Multi-AZ:
- Standby์ ๋๊ธฐ ๋ณต์ โ Failover ์๋
- Standby๋ ์ฝ๊ธฐ ๋ถ๊ฐ (Single Standby ๊ธฐ์ค)
- Multi-AZ with 2 Readable Standbys: ์ฝ๊ธฐ ๊ฐ๋ฅ + 1์ด ๋ฏธ๋ง ๋ค์ดํ์
DynamoDB Multi-AZ:
- 3๊ฐ AZ์ ์๋ ํํฐ์ ๋ยท๋ณต์ ยท๋๊ธฐํ
- Failover ๋ถํ์ โ Multi-active ๊ตฌ์ฑ
4-2. ๊ฐ์ฉ์ฑ SLA ๋น๊ต
| ๊ฐ์ฉ์ฑ | ์๋น์ค |
|---|---|
| 99.999% (5 nines) | Aurora DSQL, DynamoDB, Keyspaces, MemoryDB |
| 99.99% (4 nines) | RDS, ElastiCache, DocumentDB, Timestream |
TIP๋ฏธ์ ํฌ๋ฆฌํฐ์ปฌ + ์ต๊ณ ๊ฐ์ฉ์ฑ ์๊ตฌ โ Aurora DSQL ๋๋ DynamoDB
4-3. Blue/Green Deployments
- ๋์: Amazon RDS ๋ฐ Aurora ๋ชจ๋ ์ง์
- ์๋ฆฌ:
- Blue = ํ์ฌ ํ๋ก๋์
- Green = AWS๊ฐ ์๋ ์์ฑํ๋ ์์ ๊ด๋ฆฌํ ์คํ ์ด์ง
- ์ฅ์ :
- ์ ํ ์์ ์๊ฐ: 1๋ถ ๋ฏธ๋ง
- ๋ฐ์ดํฐ ์์ค: Zero
- ๋ฉ์ด์ ๋ฒ์ ์ ๊ทธ๋ ์ด๋, ์คํค๋ง ๋ณ๊ฒฝ ์ ๋ค์ดํ์ ์์
- RDS Multi-AZ (2 Readable Standbys) + RDS Proxy:
- ๋ง์ด๋ ๋ฒ์ ์ ๊ทธ๋ ์ด๋ ๋ค์ดํ์: 1์ด ๋ฏธ๋ง
TIP
- โ๋ค์ดํ์ ์๋ ๋ฉ์ด์ ์ ๊ทธ๋ ์ด๋โ โ Blue/Green Deployments
- โ1์ด ๋ฏธ๋ง ๋ค์ดํ์โ โ RDS Proxy ํจ๊ป ์ธ๊ธ
5. Multi-Region ๋ฐฐํฌ ์ ๋ต
3๊ฐ์ง ์ ๋ต ๋น๊ต
| ์ ๋ต | ์ฐ๊ธฐ ๊ฐ๋ฅ ๋ฆฌ์ | ์ผ๊ด์ฑ | ์ฃผ์ ์๋น์ค |
|---|---|---|---|
| Read Replica | Primary 1๊ฐ | ๋น๋๊ธฐ(Eventually) | RDS, Aurora Global DB, DocumentDB, Neptune |
| Active-Active + Eventual | ๋ชจ๋ ๋ฆฌ์ | Eventual (๋ณดํต 1์ด ์ด๋ด) | DynamoDB Global Tables, MemoryDB Multi-Region, Keyspaces |
| Active-Active + Strong | ๋ชจ๋ ๋ฆฌ์ | Strong Consistency | Aurora DSQL, DynamoDB Global Tables (๊ฐํ ์ผ๊ด์ฑ ๋ชจ๋) |
5-1. Multi-Region ์ฝ๊ธฐ ๋ณต์ ๋ณธ
- ๋ณ๊ฒฝ์ฌํญ ๋น๋๊ธฐ ๋ณต์ โ ์ฝ๊ธฐ๋ฅผ ๋ก์ปฌ ๋ฆฌ์ ์์ ์ฒ๋ฆฌ
- ์ฐ๊ธฐ๋ Primary ๋ฆฌ์ ์ผ๋ก๋ง
- ์ฉ๋: ๊ธ๋ก๋ฒ ์ฝ๊ธฐ ์ฑ๋ฅ ํฅ์ + DR(์ฌํด๋ณต๊ตฌ)
TIP๊ธ๋ก๋ฒ ์ฝ๊ธฐ ์ฑ๋ฅ + ์ฐ๊ธฐ๋ ๋จ์ผ ๋ฆฌ์ ํ์ฉ โ Multi-Region Read Replica
5-2. Active-Active + Eventual Consistency
DynamoDB Global Tables:
- ๋ชจ๋ ๋ฆฌ์ ์์ ์ฝ๊ธฐ + ์ฐ๊ธฐ ๋์ ๊ฐ๋ฅ
- ๋น๋๊ธฐ ๋ณต์ (๋ณดํต 1์ด ์ด๋ด)
- ์ถฉ๋ ํด๊ฒฐ: Last Writer Wins
- ๋ฆฌ์ ์ฅ์ ์ โ ๋ค๋ฅธ ๋ฆฌ์ ์ผ๋ก ์ฆ์ ์ ํ, DB Failover ๋ถํ์
MemoryDB Multi-Region:
- ๋น๋๊ธฐ ๋ณต์ , ๋ง์ดํฌ๋ก์ด ์ฝ๊ธฐ, 99.999%
Keyspaces:
- Apache Cassandra ํธํ, Active-Active, 99.999%
TIP
- ์ ์ธ๊ณ ์ฌ์ฉ์ ์ฐ๊ธฐ + ์ฝ๊ฐ์ ์ผ๊ด์ฑ ์ง์ฐ ํ์ฉ โ DynamoDB Global Tables (Eventual)
- ์ถฉ๋ ํด๊ฒฐ = Last Writer Wins
5-3. Active-Active + Strong Consistency โญ
Aurora DSQL:
- ์๋ฒ๋ฆฌ์ค ๋ถ์ฐ SQL (PostgreSQL ํธํ)
- ๋ฉํฐ๋ฆฌ์ ์์ ๊ฐํ ์ผ๊ด์ฑ ๋ณด์ฅ
- Failover ์์ด ํญ์ ์ต์ ๋ฐ์ดํฐ ์ ๊ทผ
- ์ธํ๋ผ ๊ด๋ฆฌ Zero, ์ฝ๊ธฐยท์ฐ๊ธฐ ๋ ๋ฆฝ ์ค์ผ์ผ๋ง
- SLA: 99.999% (๋ฉํฐ๋ฆฌ์ )
- ์ฐ๊ธฐ ์ฒ๋ฆฌ๋: ๋ถ์ฐ SQL DB ์ค ๊ฐ์ฅ ๋น ๋ฆ
DynamoDB Global Tables (Strong Consistency ์ ๊ท):
- ์ต์ 2๊ฐ ๋ฆฌ์ ์ ๋๊ธฐ ์ฐ๊ธฐ ํ ์๋ต
- ๊ฐํ ์ผ๊ด์ฑ + Multi-active + ๋ฌดํ ํ์ฅ
- ๋ฆฌ์ ์ฅ์ ์ ๋ค๋ฅธ ๋ฆฌ์ ์ผ๋ก ํธ๋ํฝ ์ ํ โ ํญ์ ์ต์ ๋ฐ์ดํฐ
TIP
- ๋ฉํฐ๋ฆฌ์ + Strong Consistency = Aurora DSQL ๋๋ DynamoDB Global Tables (๊ฐํ ์ผ๊ด์ฑ)
- โ๋ฆฌ์ ์ฅ์ ์ Failover ์์ด ์๋ ์ ํโ = ์ด ๋ ์๋น์ค์ ํต์ฌ ๊ฐ์
- Aurora DSQL โ Aurora. ๋ณ๊ฐ ์๋น์ค์์ ๋ช ์ฌ
6. Zero-ETL
๊ธฐ์กด ETL์ ๋ฌธ์ ์
- ์ง์ ์ฝ๋ ์์ฑยทํ ์คํธยท์ ์ง๋ณด์ ํ์
- ํ ์ด๋ธ/ํ๋ ๋ณ๊ฒฝ ์ ํ์ดํ๋ผ์ธ ์ ์ฒด ์์
- ๋ณต์กํ๊ณ ์ทจ์ฝํ๋ฉฐ ํ์ฅ ํ๊ณ ์กด์ฌ
- ๋ฐ์ดํฐ ์ด๋ ์ง์ฐ(lag) โ ์ค์๊ฐ ๋ถ์ ๋ถ๊ฐ
- ์ ํฉํ์ง ์์ ์ผ์ด์ค: ์ฌ๊ธฐ ํ์ง, ๊ด๊ณ ์ต์ ํ, ๊ณต๊ธ๋ง ์ถ์
AWS Zero-ETL ํตํฉ ๊ตฌ์ฑ
Sources (์ด์ DB) Targets (๋ถ์/๊ฒ์)โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโAurora โโโ Amazon RedshiftDocumentDB โโโ OpenSearch ServiceRDS for MySQL โโโ SageMaker LakehouseDynamoDB โโโ S3, GlueRDS, CloudWatch โโโํน์ง:
- ์ฝ๋ ์์ด ํด๋ฆญ ๋ช ๋ฒ์ผ๋ก ์ค์ ์๋ฃ
- ํํ๋ฐ์ดํธ ๊ท๋ชจ ์ด์ ๋ฐ์ดํฐ Near-Real-Time ๋ถ์/๊ฒ์
- ์ฌ๋ฌ Aurora ์ธ์คํด์ค โ ๋จ์ผ Redshift๋ก ํตํฉ โ ์ ์ฌ ์ธ์ฌ์ดํธ
TIP
- โETL ํ์ดํ๋ผ์ธ ์์ด + ์ค์๊ฐ ๋ถ์โ โ Zero-ETL
- ์ฌ๋ฌ Aurora ์ธ์คํด์ค โ ๋จ์ผ Redshift ํตํฉ ํจํด ์๊ธฐ
- Redshift์ Materialized Views, Data Sharing, Federated Access ํจ๊ป ํ์ฉ ๊ฐ๋ฅ
7. Vector Search & Generative AI
FM/LLM์ ๋ ๊ฐ์ง ํ๊ณ
- Knowledge Cut-off โ ํ๋ จ ๋ฐ์ดํฐ ๊ธฐ์ค์ผ ์ดํ ์ ๋ณด ์์
- ๋๋ฉ์ธ ํนํ ์ง์ ๋ถ์ฌ โ ์ฌ๋ด ๋ฐ์ดํฐ, ์ ์ฉ ์ง์ ์์
โ ํด๊ฒฐ์ฑ : RAG (Retrieval Augmented Generation)
RAG ์ํฌํ๋ก์ฐ
[Ingestion ๋จ๊ณ]์์ค ๋ฐ์ดํฐ (S3 ๋ฑ) โ ์ฒญํน (Context Window ํฌ๊ธฐ๋ก ๋ถํ )์๋ฒ ๋ฉ ๋ชจ๋ธ (Embedding Model) โ ๋ฒกํฐ ์์ฑ๋ฒกํฐ DB ์ ์ฅ
[Agency ๋จ๊ณ]์ฌ์ฉ์ ์ฟผ๋ฆฌ โ ์๋ฒ ๋ฉ ๋ณํ๋ฒกํฐ ์ ์ฌ๋ ๊ฒ์ (ANN ์๊ณ ๋ฆฌ์ฆ: HNSW, IVFFlat) โ ๊ด๋ จ ์ฒญํฌ ๊ฒ์FM์ ์ปจํ
์คํธ๋ก ์ฃผ์
โ์๋ต ์์ฑTIP
- ANN ์๊ณ ๋ฆฌ์ฆ: HNSW, IVFFlat ์ด๋ฆ ๊ธฐ์ต
- Bedrock Knowledge Bases = Ingestion + Agency ์ํฌํ๋ก์ฐ ์์ ์๋ํ
๋ฒกํฐ ์ง์ AWS DB (๊ธฐ์กด DB์ ๋ฒกํฐ ๋ด์ฅ)
| ์๋น์ค | ๋ฒกํฐ ์ง์ ๋ฐฉ์ |
|---|---|
| Aurora PostgreSQL | pgvector ์ต์คํ ์ |
| RDS for PostgreSQL | pgvector ์ต์คํ ์ |
| DynamoDB | Zero-ETL โ OpenSearch ์ฐ๋ |
| Amazon Neptune | GraphRAG ์ง์ |
| MemoryDB | ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฒกํฐ ๊ฒ์ |
| DocumentDB | ๋ฒกํฐ ๊ฒ์ ๋ด์ฅ |
| OpenSearch Service | Vector Engine (Serverless ํฌํจ) |
ํต์ฌ ์ด์ : ๊ธฐ์กด ์ด์ DB์ ๋ฒกํฐ ๊ธฐ๋ฅ ๋ด์ฅ โ ๋ณ๋ ์ ์ฉ ๋ฒกํฐ DB ๋ถํ์ = ๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์ ยท์ค๋ณตยท์ถ๊ฐ ๋น์ฉยท์ด์ ๋ณต์ก๋ ๋ชจ๋ ์ ๊ฑฐ
GraphRAG (Amazon Neptune ๊ธฐ๋ฐ)
- Neptune์ด ์ฌ๋ฌ ์์ค(ํ ์คํธยท์ด๋ฏธ์งยท์์ยท์ค๋์ค ๋ฑ ๋น์ ํ ํฌํจ) ์๋ ๊ทธ๋ํํ
- ๊ฒ์ ์ ๊ทธ๋ํ ํ์ โ ๋ ํฌ๊ด์ ยท์ ํํ LLM ์๋ต
- ์กฐ์ง ๋ฐ์ดํฐ์ 80% ์ด์์ด ๋น์ ํ โ GraphRAG์ ๊ฐ์
- Bedrock Knowledge Bases์ Neptune ํตํฉ ๋ด์ฅ
TIP
- ๋น์ ํ ๋ฐ์ดํฐ + ๊ด๊ณ ์ค์ฌ ๊ฒ์ + RAG = GraphRAG + Neptune
- S3 ๋น์ ํ ๋ฐ์ดํฐ ์๋ ๊ทธ๋ํ ์์ฑ ๊ฐ๋ฅ
8. ๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์
AWS DMS (Database Migration Service)
- ์จํ๋ ๋ฏธ์ค / ํ ํด๋ผ์ฐ๋ DB โ AWS DB ๋ง์ด๊ทธ๋ ์ด์
- ์ง์ ์ ํ:
- Homogeneous (๋์ข ): MySQL โ Aurora MySQL
- Heterogeneous (์ด์ข ): Oracle โ Aurora PostgreSQL (SCT ํ์)
- SCT (Schema Conversion Tool): ์ด๊ธฐ์ข DB ์คํค๋ง ์๋ ๋ณํ
TIP๋ง์ด๊ทธ๋ ์ด์ + ์ด์ ์ค๋จ ์ต์ํ โ DMS. ์ด๊ธฐ์ข ๋ณํ โ SCT + DMS ์กฐํฉ
๋ง์ด๊ทธ๋ ์ด์ ์ง์ ํ๋ก๊ทธ๋จ
| ํ๋ก๊ทธ๋จ | ๋ด์ฉ |
|---|---|
| AWS Professional Services | ์ ๋ฌธ๊ฐ ๋ง์ด๊ทธ๋ ์ด์ ์ง์ |
| Database Migration Accelerator (DMA) | ๊ณ ์ ๋น์ฉ, DB+์ฑ ๋ณํ AWS ํ ๋ํ |
| Database Freedom | ์๊ฒฉ ๊ณ ๊ฐ ๋์ ์ ๋ฌธ ์กฐ์ธ + ๋ง์ด๊ทธ๋ ์ด์ ์ง์ |
| AWS DMS Partners | ํํธ๋ ์ํ๊ณ ํ์ฉ |
TIP๋ ๊ฑฐ์ ์์ฉ DB(Oracle ๋ฑ) ํํผ + ๋น์ฉ ์ ๊ฐ = Database Freedom ํ๋ก๊ทธ๋จ
9. DB ์๋น์ค ์ ํ ๋งคํธ๋ฆญ์ค
| ์๋น์ค | ์ ํ | ์ฃผ์ Use Case | HA SLA | ์ค์ผ์ผ๋ง |
|---|---|---|---|---|
| Amazon Aurora | Relational (MySQL/PG) | OLTP, ๊ธ์ต, ์ด์ปค๋จธ์ค | 99.99% | Read Replica + Serverless v2 |
| Aurora DSQL | Distributed SQL (PG) | ๋ฉํฐ๋ฆฌ์ OLTP + Strong Consistency | 99.999% | ์์ ์๋ฒ๋ฆฌ์ค, ์๋ ์ํ |
| Amazon RDS | Relational (6๊ฐ ์์ง) | ์ผ๋ฐ ๊ด๊ณํ | 99.99% | Read Replica + Multi-AZ |
| DynamoDB | Key-Value / Document | ๊ณ ์ฒ๋ฆฌ๋ OLTP, ์ธ์ , ์นดํ๋ก๊ทธ | 99.999% | ์์ ์๋ฒ๋ฆฌ์ค, Global Tables |
| ElastiCache | In-Memory Cache | DB ์บ์, ์ธ์ ์คํ ์ด | 99.99% | ํด๋ฌ์คํฐ 5์ต req/s |
| MemoryDB | In-Memory DB (Durable) | ์ธ๋ฉ๋ชจ๋ฆฌ ์ฑ๋ฅ + ๋ด๊ตฌ์ฑ | 99.999% | ๋ฉํฐ๋ฆฌ์ Active-Active |
| Neptune | Graph DB | ์์ ๊ทธ๋ํ, ์ถ์ฒ, GraphRAG | 99.99% | Serverless ์ง์ |
| OpenSearch | Search / Analytics | ์ ๋ฌธ ๊ฒ์, ๋ก๊ทธ ๋ถ์, ๋ฒกํฐ | - | Serverless Vector Engine |
| Keyspaces | Wide-Column (Cassandra) | IoT, ํ์์คํฌํ ๋ฐ์ดํฐ | 99.999% | ์์ ์๋ฒ๋ฆฌ์ค, ๋ฉํฐ๋ฆฌ์ |
| DocumentDB | Document (MongoDB) | JSON ๋ฌธ์, ์ฝํ ์ธ ๊ด๋ฆฌ | 99.99% | ์ฝ๊ธฐ ๋ณต์ ๋ณธ |
| Timestream | Time-Series | IoT ์ผ์, ๋ชจ๋ํฐ๋ง ๋ฉํธ๋ฆญ | 99.99% | Serverless (LiveAnalytics) |
๐ฏ ์ํ ๋จ๊ณจ ํจํด ์์ฝ
| ์ํฉ | ์ ๋ต |
|---|---|
| ๊ฐ๋ณ ํธ๋ํฝ + ๋น์ฉ ์ต์ ํ (unpredictable traffic/pattern + cost-effective) | Serverless ๊ณ์ด |
| ์ฝ๊ธฐ ์ฑ๋ฅ ํฅ์ (read heavy) | Read Replica ์ถ๊ฐ |
| ๋ฐ์ดํฐ ์์ค ํ์ฉ ์บ์ (data loss allowed) | ElastiCache |
| ๋ฐ์ดํฐ ์์ค ๋ถํ ์ธ๋ฉ๋ชจ๋ฆฌ (data loss not allowed) | MemoryDB |
| ๋ฉํฐ๋ฆฌ์ Eventually Consistent | DynamoDB Global Tables |
| ๋ฉํฐ๋ฆฌ์ Strong Consistency | Aurora DSQL ๋๋ DynamoDB Global Tables (Strong) |
| ๋ค์ดํ์ ์๋ ๋ฉ์ด์ ์ ๊ทธ๋ ์ด๋ (major upgrade without downtime) | Blue/Green Deployments |
| ETL ์๋ ์ค์๊ฐ ๋ถ์ | Zero-ETL (โ Redshift / OpenSearch) |
| RAG ์๋ํ | Bedrock Knowledge Bases |
| ๊ทธ๋ํ ๊ธฐ๋ฐ ์ถ์ฒ/๊ด๊ณ ํ์ | Amazon Neptune |
| ์ด๊ธฐ์ข DB ๋ง์ด๊ทธ๋ ์ด์ | DMS + SCT |
| ์ด๋๊ท๋ชจ OLTP ์ฐ๊ธฐ ํ์ฅ | Aurora PostgreSQL Limitless |