3129 ๋‹จ์–ด
16 ๋ถ„
๐Ÿ“˜ AWS DB ๋ฐฑ์„œ (Whitepaper Summary)

๐Ÿ“˜ AWS DB ๋ฐฑ์„œ (Whitepaper Summary)#

์ถœ์ฒ˜: Building Modern Applications Using AWS Databases (AWS ๊ณต์‹ ๋ฐฑ์„œ, 2024) ๋ชฉ์ : SAA-C03 ์‹œํ—˜ ๋Œ€๋น„ ํ•ต์‹ฌ ๊ฐœ๋… ์ •๋ฆฌ ์ตœ์ข… ์—…๋ฐ์ดํŠธ: 2025


๋ชฉ์ฐจ#

  1. Purpose-Built Database ์„ ํƒ ์ „๋žต
  2. ์Šค์ผ€์ผ๋ง ์ „๋žต
  3. In-Memory: ElastiCache vs MemoryDB
  4. ๊ณ ๊ฐ€์šฉ์„ฑ & ์šด์˜ ์•ˆ์ •์„ฑ
  5. Multi-Region ๋ฐฐํฌ ์ „๋žต
  6. Zero-ETL
  7. Vector Search & Generative AI
  8. ๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
  9. DB ์„œ๋น„์Šค ์„ ํƒ ๋งคํŠธ๋ฆญ์Šค
  10. ๐ŸŽฏ ์‹œํ—˜ ๋‹จ๊ณจ ํŒจํ„ด ์š”์•ฝ

1. Purpose-Built Database ์„ ํƒ ์ „๋žต#

ํ•ต์‹ฌ ์›์น™#

๋‹จ์ผ ๊ด€๊ณ„ํ˜• DB๋กœ๋Š” ํ˜„๋Œ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ชจ๋“  ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•  ์ˆ˜ ์—†๋‹ค.

  • ์†Œ์…œ, IoT, ๋ชจ๋ฐ”์ผ, ๊ธ€๋กœ๋ฒŒ ์„œ๋น„์Šค๋Š” ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด ํ•„์š”
  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜์—์„œ ๊ฐ ํŒ€์€ ์›Œํฌ๋กœ๋“œ์— ์ตœ์ ํ™”๋œ DB๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ์„ ํƒํ•ด์•ผ ํ•จ
  • AWS๋Š” 15์ข… ์ด์ƒ์˜ Purpose-built DB ์ œ๊ณต

AWS DB ํฌํŠธํด๋ฆฌ์˜ค#

์œ ํ˜•์„œ๋น„์Šค
RelationalAmazon Aurora, Amazon RDS
Key-ValueAmazon DynamoDB
DocumentAmazon DocumentDB
In-MemoryAmazon ElastiCache, Amazon MemoryDB
GraphAmazon Neptune
Wide-ColumnAmazon Keyspaces
Time-SeriesAmazon Timestream
SearchAmazon 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 ScalingAurora, 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#

๋น„๊ตํ‘œ#

ํ•ญ๋ชฉElastiCacheMemoryDB
๋ถ„๋ฅ˜์บ์‹œ (Non-durable)์™„์ „ ๋‚ด๊ตฌ์„ฑ In-Memory DB
์—”์ง„Valkey, Memcached, Redis OSSValkey, Redis OSS
์ฝ๊ธฐ ๋ ˆ์ดํ„ด์‹œ๋งˆ์ดํฌ๋กœ์ดˆ๋งˆ์ดํฌ๋กœ์ดˆ
์“ฐ๊ธฐ ๋ ˆ์ดํ„ด์‹œ๋งˆ์ดํฌ๋กœ์ดˆ์ˆ˜ ๋ฐ€๋ฆฌ์ดˆ (Multi-AZ ๋™๊ธฐ ์“ฐ๊ธฐ)
๋ฐ์ดํ„ฐ ๋‚ด๊ตฌ์„ฑ์†Œ๋Ÿ‰ ์†์‹ค ๊ฐ€๋ŠฅZero ์†์‹ค
HA99.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 โ†’ MemoryDB
TIP
  • โ€œ์บ์‹œ 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 ReplicaPrimary 1๊ฐœ๋น„๋™๊ธฐ(Eventually)RDS, Aurora Global DB, DocumentDB, Neptune
Active-Active + Eventual๋ชจ๋“  ๋ฆฌ์ „Eventual (๋ณดํ†ต 1์ดˆ ์ด๋‚ด)DynamoDB Global Tables, MemoryDB Multi-Region, Keyspaces
Active-Active + Strong๋ชจ๋“  ๋ฆฌ์ „Strong ConsistencyAurora 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 Redshift
DocumentDB โ†’โ†’โ†’ OpenSearch Service
RDS for MySQL โ†’โ†’โ†’ SageMaker Lakehouse
DynamoDB โ†’โ†’โ†’ S3, Glue
RDS, 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์˜ ๋‘ ๊ฐ€์ง€ ํ•œ๊ณ„#

  1. Knowledge Cut-off โ€” ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ ๊ธฐ์ค€์ผ ์ดํ›„ ์ •๋ณด ์—†์Œ
  2. ๋„๋ฉ”์ธ ํŠนํ™” ์ง€์‹ ๋ถ€์žฌ โ€” ์‚ฌ๋‚ด ๋ฐ์ดํ„ฐ, ์ „์šฉ ์ง€์‹ ์—†์Œ

โ†’ ํ•ด๊ฒฐ์ฑ…: 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 PostgreSQLpgvector ์ต์Šคํ…์…˜
RDS for PostgreSQLpgvector ์ต์Šคํ…์…˜
DynamoDBZero-ETL โ†’ OpenSearch ์—ฐ๋™
Amazon NeptuneGraphRAG ์ง€์›
MemoryDB์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฒกํ„ฐ ๊ฒ€์ƒ‰
DocumentDB๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ๋‚ด์žฅ
OpenSearch ServiceVector 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 CaseHA SLA์Šค์ผ€์ผ๋ง
Amazon AuroraRelational (MySQL/PG)OLTP, ๊ธˆ์œต, ์ด์ปค๋จธ์Šค99.99%Read Replica + Serverless v2
Aurora DSQLDistributed SQL (PG)๋ฉ€ํ‹ฐ๋ฆฌ์ „ OLTP + Strong Consistency99.999%์™„์ „ ์„œ๋ฒ„๋ฆฌ์Šค, ์ž๋™ ์ˆ˜ํ‰
Amazon RDSRelational (6๊ฐœ ์—”์ง„)์ผ๋ฐ˜ ๊ด€๊ณ„ํ˜•99.99%Read Replica + Multi-AZ
DynamoDBKey-Value / Document๊ณ ์ฒ˜๋ฆฌ๋Ÿ‰ OLTP, ์„ธ์…˜, ์นดํƒˆ๋กœ๊ทธ99.999%์™„์ „ ์„œ๋ฒ„๋ฆฌ์Šค, Global Tables
ElastiCacheIn-Memory CacheDB ์บ์‹œ, ์„ธ์…˜ ์Šคํ† ์–ด99.99%ํด๋Ÿฌ์Šคํ„ฐ 5์–ต req/s
MemoryDBIn-Memory DB (Durable)์ธ๋ฉ”๋ชจ๋ฆฌ ์„ฑ๋Šฅ + ๋‚ด๊ตฌ์„ฑ99.999%๋ฉ€ํ‹ฐ๋ฆฌ์ „ Active-Active
NeptuneGraph DB์†Œ์…œ ๊ทธ๋ž˜ํ”„, ์ถ”์ฒœ, GraphRAG99.99%Serverless ์ง€์›
OpenSearchSearch / Analytics์ „๋ฌธ ๊ฒ€์ƒ‰, ๋กœ๊ทธ ๋ถ„์„, ๋ฒกํ„ฐ-Serverless Vector Engine
KeyspacesWide-Column (Cassandra)IoT, ํƒ€์ž„์Šคํƒฌํ”„ ๋ฐ์ดํ„ฐ99.999%์™„์ „ ์„œ๋ฒ„๋ฆฌ์Šค, ๋ฉ€ํ‹ฐ๋ฆฌ์ „
DocumentDBDocument (MongoDB)JSON ๋ฌธ์„œ, ์ฝ˜ํ…์ธ  ๊ด€๋ฆฌ99.99%์ฝ๊ธฐ ๋ณต์ œ๋ณธ
TimestreamTime-SeriesIoT ์„ผ์„œ, ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฉ”ํŠธ๋ฆญ99.99%Serverless (LiveAnalytics)

๐ŸŽฏ ์‹œํ—˜ ๋‹จ๊ณจ ํŒจํ„ด ์š”์•ฝ#

์ƒํ™ฉ์ •๋‹ต
๊ฐ€๋ณ€ ํŠธ๋ž˜ํ”ฝ + ๋น„์šฉ ์ตœ์ ํ™” (unpredictable traffic/pattern + cost-effective)Serverless ๊ณ„์—ด
์ฝ๊ธฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ (read heavy)Read Replica ์ถ”๊ฐ€
๋ฐ์ดํ„ฐ ์†์‹ค ํ—ˆ์šฉ ์บ์‹œ (data loss allowed)ElastiCache
๋ฐ์ดํ„ฐ ์†์‹ค ๋ถˆํ—ˆ ์ธ๋ฉ”๋ชจ๋ฆฌ (data loss not allowed)MemoryDB
๋ฉ€ํ‹ฐ๋ฆฌ์ „ Eventually ConsistentDynamoDB Global Tables
๋ฉ€ํ‹ฐ๋ฆฌ์ „ Strong ConsistencyAurora 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