AWS end-to-end Data Strategy
โข
์ง๊ณ๊ฐ ์ฃผ๋ผ๊ณ ํ๋ฉด RDS๋ณด๋ค Redshift๊ฐ ๋น ๋ฅด๋คโฆ
โฆ
ROI๋ฅผ ๊ณ ๋ คํด์ Redshift ์ ํ
โข
Zero-ETL (โ23 2์ ๊ธฐ์ค)
โฆ
Aurora โ Redshift ๋ก ๋ฐ์ดํฐ ์ด๋
The Amazon NoSQL Journey
โข
NoSQL
โฆ
๊ด๊ณํ DB์ ๋ถ์กฑํ ๋ถ๋ถ์ ์ฑ์์ฃผ๋ ์ญํ โฆ
โข
DocumentDB
โฆ
MongoDB์ ํธํ์ฑ
โฆ
Value = JSON
โฆ
์คํค๋ง๋ฆฌ์ค
โฆ
DAX
โช
DynamoDB์ Query๋ฅผ ์ํ์ Query์ ๊ฒฐ๊ณผ๋ฅผ ์บ์ฑ
โข
ElastiCache
โฆ
Redis > memcached
โฆ
In-Memory DB
โข
Neptune
โฆ
Graph
โฆ
๊ด๊ณ์ ๋ํ ์ ๋ณด๋ฅผ ๋ณ๋๋ก ์ ์ฅํ๋ค.(RDB๋ ๋ค๋ฅธ์ ..)
โข
Timestream
โฆ
Time-Series
โฆ
์์ง: ๋ฉ๋ชจ๋ฆฌ,, ์ค๋๋ ๋ฐ์ดํฐ๋ SSD๋ก..
โฆ
Time window ๊ธฐ๋ฐ ๋ถ์ ๊ฐ๋ฅ
โข
QLDB
โฆ
BMW ์ค๊ณ ์ฐจ ๋ฉ์์ ์ฌ์ฉ
โข
Scale-out
โข
๋์ฉ๋ ๋ฐ์ดํฐ, ์์ฒญ์ ๊ด๊ณ์์ด Scale-out์ ํตํ ์์ ์ ์ธ(์ผ์ ํ ์ฑ๋ฅ, ms์๋ต) ์๋น์ค ์ ๊ณต
โ DynamoDB ํน์ง
DynamoDB
โข
Region Resource
โข
์ง๊ณ์ ๋ง์ง ์์ ์ ์๋ค.
โข
DynamoDB๋ OLTP ์ด๋ค.
โฆ
OLTP vs OLAP
โฆ
OLTP - ์ฌํ๋ฐ์ดํฐ ๋ฃ๊ณ ๋นผ๊ณ
โฆ
OLAP - ๋ถ์, ์ง๊ณ๋ฑ์ ํตํด ์ธ์ฌ์ดํธ ๋์ถ
โช
OLAP ์
๋ฌด์ ๋ง์ง ์๋ค.
โข
Access Pattern(ํค) ๋์์ธ ์ํด์ผ ํ๋ค.
โข
PartiQL(a SQL-compatible query language)
โฆ
SQL ์ฒ๋ผ ๋ณด์ด๋ ์ฟผ๋ฆฌ
โข
๋ฐฑ์
์ง์
โฆ
Point-in-time recovery(PITR)
โช
์ต๋ 35์ผ์ ๊น์ง ๋ณต์๋จ.
โช
๋งค 5๋ถ๋ง๋ค Snapshot
โฆ
๋ณต์์ ํน์ ์์ ์ ๋ฐ์ดํฐ๋ฅผ ์๋ก์ด ์ธ์คํด์ค(ํ
์ด๋ธ)๋ฅผ ์์ฑํด์ ๋ณต์ํ๋ค.
โช
Snapshot ์ ๋ณด๋ ์๋ง๋ S3์ ์ ์ฅํ์ง ์์๊นโฆ.
โช
๋ณต์๋๋ค๊ณ ๊ธฐ์กด ํ
์ด๋ธ์ Overwriteํ์ง๋ ์๋๋ค.
โข
DynamoDB Stream
โฆ
Lambda ๋ฑ๊ณผ ์ฐ๊ณ ์ง์
โข
CloudTrail์ ํตํ Audit ์ง์(API Call)
โข
NoSQL Workbench for Amazon DynamoDB
โข
Table - Item(row) - Attribute(column)
โฆ
Table ์ด ๊ฐ ๋
๋ฆฝ๋ ๊ฐ์ฒด์ด๋ค = RDB์์ Database ์ ๋ ๋
โฆ
Single Table๋ด์์ ๋
๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌ!!
โฆ
๋ฐ์ดํฐ๋ DynamoDB ์์ ์ฌ์ฉํ๋ JSONํ์์ผ๋ก ์ ์ฅ. JSON๊ณผ ์ ์ฌํ๋ Data Type์ด ์๋ค.
โข
ํ
์ด๋ธ ์์ฑ์
โฆ
RCU, WCU์ limit ๊ฐ๋ณด๋ค ์๋ค๋ฉด ํํฐ์
์ 1๊ฐ๋ถํฐ ์์ํ๋ค!!
โข
Table์ 3๊ฐ์ ๋ณต์ฌ๋ณธ์ผ๋ก ๋ณ๋ ์ ์ฅ!
โฆ
ํ๋์ Region๋ด 3 AZ ๋ก ๋ณต์ฌ~
โฆ
๋ฐ์ดํฐ๋ 10GB ์ฌ์ด์ฆ์ ํํฐ์
์ ์ ์ฅ๋จ.
โช
AZ๊ฐ 10Gbps ๋ก ๋คํธ์ํฌ ์ฐ๊ฒฐ๋์ด์์ด..
โช
์ฅ์ ๋ฐ์์ 1์ด ์ด๋ด ๋ณต๊ตฌ๋ฅผ ์ํด 10G๋จ์๋ก ์ธ๊ทธ๋จผํธ
โข
๋ฐ์ดํฐ๊ฐ ๋์ด๋๋ฉดโฆ
โฆ
ํํฐ์
์ด ๋์ด๋๋ค.
โข
์ฌ์ฉ์๊ฐ ๋์ด๋๋ฉดโฆ
โฆ
ํํฐ์
๋ง๋ค ์ฒ๋ฆฌํ ์ ์๋ ์ฉ๋์ ๊ฐ์ง๊ณ ์๋ค. RCU, WCU
โฆ
RCU: max limit 3000
โฆ
WCU: max limit 1000
โฆ
์> RCU: 500, WCU: 100
โช
ํํฐ์
์ด 5๊ฐ๋ผ๊ณ ํ๋ฉด ๋์ผํ๊ฒ ๋๋. ๊ฐ๊ฐ 100 RCU, 20 WCU
โฆ
ํ๋์ ํํฐ์
์ด Max Limit์ ๋๊ฒ ๋๊ฑฐ๋ 10GB ๊ฐ ๋๋๊ฒฝ์ฐ
โช
ํํฐ์
Split, RCU, WCU์ฉ๋ even์ผ๋ก ๋๋ ์ง.
โช
์ชผ๊ฐ์ง๋ค๊ณ ๋ฌด์กฐ๊ฑด ์ข๋??
โช
ํ๋์ ํํฐ์
์ผ๋ก ์ฒ๋ฆฌํ๋๊ฒ์ด ๋ฒ ์คํธ๋คโฆ. (Max Limit)
โช
ํํฐ์
์ด ๋์ด๋๋ฉด ์ค์ง๋ ์๋๋ค.
โข
Bulk๋ก๋๊ฐ ์์ด RCU,WCU๋ฅผ Max Limit์ ๋๊ฒ ์ค์ ํ๊ณ ์ฌ์ฉํ๋ฉด
โฆ
Max Limit ๋๋ ๋งํผ Partion Split์ด ๋ฐ์ํ๋ค.
โฆ
์์
์ดํ RCU, WCU๋ฅผ ์ค์ด๊ฒ ๋๋ฉด ์ค์ฌ์ง ์ฉ๋์ด Partion์ ๋์ผํ๊ฒ ๋ถ์ฐ๋๋ค.
โข
Bursting
โฆ
์ค์ ํ ์ฉ๋๋ณด๋ค ๋ ์ฌ์ฉํ ๊ฒ์ ์ฌ์ฉ๋์ด ๋ง์ ๋ถ๋ถ์ ์ฌ์ฉ.
โฆ
Bursting์ผ๋ก ์ปค๋ฒ ์๋๋ฉด Auto Scaling ์ฌ์ฉ
โช
Auto Scaling
โข
Table์ min, max, target utilization
Primary Key(Partition Key + Sort Key)
โข
Primary Key = Partition Key + Sort Key
โข
Partition Key
โฆ
Unique Key๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฐ์ดํฐ๊ฐ Evenํ๊ณ ๋ค์ด๊ฐ๋ค.~
โข
Sort Key
โฆ
Partition ๋ด์์์ ์ ๋ ฌ
โข
Attribute
Global Secondary Index(GSI)
โข
GSI = Materialized View(๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ View)
โข
GSI = 20๊ฐ๊น์ง ์์ฑ๊ฐ๋ฅ.
โฆ
Eventually Consistence๋ง ๊ฐ๋ฅ
โข
LSI(Local Secondary Index) = 5๊ฐ๊น์ง ์์ฑ๊ฐ๋ฅ.
โฆ
ํ
์ด๋ธ ์์ฑ์์๋ง ์์ฑ๊ฐ๋ฅ
โ Partition Key๋ฅผ ํฌํจ(๊ณต์ )ํด์ Index ์์ฑ
โข
Scan vs Query
โฆ
Scan
โช
์ ์ฒด ๋ฐ์ดํฐ๋ฅผ Full Scan ํ Filtering..
โฆ
Query
โช
๋ด๊ฐ ์ํ๋ ๋ฐ์ดํฐ๋ง ๊ฐ์ ธ์จ๋คโฆ
โช
Primary Key ๊ธฐ์ค์ผ๋ก ์กฐํ์ Query.
GetItem Consitency
โข
Writeํ ๋
โฆ
Master + 1 Replica ์ฌ์ฉ ํ ์๋ต ์ค๋ค
โฆ
Transactional Consistence
โข
Readํ ๋
โฆ
Eventually Consistence
โฆ
Strongly Consistence (Eventually Consistence๋ณด๋ค 2๋ฐฐ ๋ ๋ง์ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๋ค.)
โข
RCU
โฆ
1 read/sec 8K
โฆ
Eventually Consistence
โฆ
Strongly Consitence (๋น์ฉ 2๋ฐฐ, 4K)
โข
WCU
โฆ
1 write/sec 1K
โฆ
Standard Consistence
โฆ
Transactional Consitence (๋น์ฉ 2๋ฐฐ, 0.5K)
โข
RCU, WCU ์ ์ฝ์ผ๋ก ์ธํด Item ํฌ๊ธฐ ํ์ธ์ด ํ์ํ๋ค!!
โข
RR: Request Router
โฆ
Table ๋จ์์ Capacity๋ฅผ ๋จผ์ ํ์ธํ๋ค.
โ ๋ถ์กฑํ๋ฉด Throttling ๋ฐ์
โฆ
Read ์์ฒญ์ ํด๋น ๋ฐ์ดํฐ๊ฐ ์ด๋ค ํํฐ์
์ ์๋์ง ์๋ ค์ค๋ค!!