์ ์ฒด ๊ธ8 [AWS] ๋ฐฑ์ ๋ณต๊ตฌ (์๋๋ฐฑ์ + PITR) ์ฉ์ด ๋ค์ ๋ณด๊ธฐ (เน•แ์๋ ๋ฐฑ์ (Automatic Backup) : AWS RDS๊ฐ DB๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ฐฑ์ ํด์ ๋์ค์ ๋ณต๊ตฌํ ์ ์๋๋ก ํจ. (๊ธฐ๋ณธ 7์ผ ์ ์ง) PITR (Point-in-Time Recovery): ํน์ ์์ ์ผ๋ก DB๋ฅผ ๋๋๋ฆฌ๋ ๊ธฐ๋ฅ 1. ์๋ ๋ฐฑ์ ์ค์ ์๋๋ฐฑ์ ํ์ฑํ๋ฐฑ์ ๋ณด์กด๊ธฐ๊ฐ 7์ผ์์ ์๊ฐ์ ํ์ฌ ๊ธฐ์ค์ผ๋ก ๋ง์ถฐ์ฃผ๊ธฐ 2. ๋ฐ์ดํฐ ์ญ์ ์๋ณธselect count(*) from actor;ํ์ธ ํ ์ญ์ delete from actor; 3. ๋ณต์(PITR) ์คํ 4. ๋ง์ด๊ทธ๋ ์ด์ (์ ํธ ์ฐธ๊ณ )https://syh225.tistory.com/166 [AWS] ๋ฐฑ์ ๋ณต๊ตฌ (์ค๋ ์ท + AWS DMS)๋ฐฑ์ (Backup): ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ก์ ๋๋ฅผ ๋๋นํด์ ํ์ฌ ์ํ๋ฅผ ๋ณต์ฌํด๋๋ .. DB/AWS 2025. 6. 10. [AWS] ๋ฐฑ์ ๋ณต๊ตฌ (์ค๋ ์ท + AWS DMS) ๋ฐฑ์ (Backup): ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ก์ ๋๋ฅผ ๋๋นํด์ ํ์ฌ ์ํ๋ฅผ ๋ณต์ฌํด๋๋ ๊ฒ.์ค์๋ก ํ ์ด๋ธ DROPํ๋ก๊ทธ๋จ ์ค๋ฅํดํน/๋์คํฌ ์ค๋ฅ๋ก ์ธํ DB ์์์๋ ๋ฐฑ์ AWS๊ฐ ์๋ ์์ฑ๋งค์ผ ์ ํด์ง ์๊ฐ์ต๋ 35์ผ ์ ์ง๋ณต๊ตฌ : ํน์ ์๊ฐ์ผ๋ก ๋๋๋ฆผ(PITR)์๋ ์ค๋ ์ท์ฌ์ฉ์๊ฐ ์ง์ ์์ฑ์ฌ์ฉ์๊ฐ ๋ฒํผ ๋๋ฅด๋ฉด ๋ฐ๋ก ์์ฑ์ง์ ์ญ์ ํ ๋๊น์ง ์ ์ง๋ณต๊ตฌ : ์ค๋ ์ท ์์ฑํ ๊ทธ ์์ ๋๋ก ๋ณต๊ตฌ (Recovery): ์์ ์ํ๋ก ๋๋๋ฆฌ๋ ์์ ์ค๋ ์ท ๋ณต๊ตฌ : ๋ฐฑ์ ํ ์์ ์ ์ํ๋ก ๋ณต์ Point-in-Time Recovery (PITR): ์ ํํ ์๊ฐ์ผ๋ก ๋๋๋ฆผ (ex: ์ค์ํ ์๊ฐ๋ณด๋ค 1~2๋ถ ์ ) 1. ๋ฐฑ์ ์ ํ ์ด๋ธ ์ํSELECT COUNT(*) FROM customer; 2. ์๋ ์ค๋ ์ท ์์ฑ 3. ๋ฐ์ดํฐ ์ญ์ dr.. DB/AWS 2025. 6. 5. [AWS] ๋ชจ๋ํฐ๋ง Performance InsightRDS ์ ์ฉ SQL ์ฑ๋ฅ ์๊ฐํ ๋๊ตฌTop SQL, ๋๊ธฐ ์ด๋ฒคํธ, ์คํ ํ์, ํ๊ท ์๋ต์๊ฐ ๋ฑ ์๋ ์ง๊ณ์ค์๊ฐ ์กฐํ ๊ฐ๋ฅ ์ค์ต1. ๋๋ฏธ๋ฐ์ดํฐ ๋ฃ๊ธฐ (10๋ง ๊ฑด)-- ๋๋ฏธ ๋ฐ์ดํฐ 10๋ง ๊ฑด ์ฝ์ INSERT INTO big_table (name, description)SELECT md5(random()::text), repeat('desc-', 50)FROM generate_series(1, 100000); 2. Full Scan ์ ๋SELECT * , repeat(description, 5000) FROM big_table WHERE description LIKE '%999%';๋๋ต 8์ด? ๊ฑธ๋ฆฐ๋ฏ 3. ๋ถํ ํ์ธ์๋จ ๊ทธ๋ํ : CPU, Client: Clie.. DB/AWS 2025. 5. 29. [SQLP] ์ฑ๋ฅ ํ๋ ์ค์ต2: ์กฐ์ธ ํ๋ Nested Loop Join: ๋ฐ๊นฅ ํ ์ด๋ธ์ ๊ฐ row๋ง๋ค ์์ชฝ ํ ์ด๋ธ ๋ฐ๋ณต ์กฐํ์ธ๋ฑ์ค๊ฐ ์์ ๋ ์๋ ๋ฐ์ดํฐ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌWhen? ์ธ๋ฑ์ค ์๋ ์กฐ์ธ ํค์๋ row : ์ฆ์ ์๋ต ํ์ํ ๋๋จ์ : row์ ๋ง์ ๊ฒฝ์ฐ loop ๋ฐ๋ณต ๋๋ฌธ์ ๋งค์ฐ ๋๋ ค์ง Hash Join: ํ ํ ์ด๋ธ์ ํด์ ํ ์ด๋ธ๋ก ๋ง๋ค์ด๋๊ณ , ๋ค๋ฅธ ํ ์ด๋ธ์์ ํค๊ฐ์ผ๋ก ๋น๊ต์ฉ๋ ๋ง์ ๋ฐ์ดํฐ์์๋ OK์ ๋ ฌ/์ธ๋ฑ์ค ์์ด๋ ๊ด์ฐฎ์When?์ธ๋ฑ์ค ์๊ณ ์ ๋ ฌ ์ ๋ ํ ์ด๋ธ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ถฉ๋ถํ ๊ฒฝ์ฐ → ๋ฉ๋ชจ๋ฆฌ์ row๋ฅผ ๋ค ์น์ด๋์ผํ๊ธฐ ๋๋ฌธ๋จ์ : ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ์ ํด์ spill๋ก ์ฑ๋ฅ ์ ํcf) Hash Join์ด ์ธ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ : work_mem* Hash Spill: ํด์ ์กฐ์ธ ์ค์ ํด์ ํ ์ด๋ธ์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ค ๋ชป ์ฐ๊ณ ๋์คํฌ๋ก ๋์ด๊ฐ๋ ์ํฉ→.. DB/AWS 2025. 5. 28. [SQLP] ์ฑ๋ฅ ํ๋ ์ค์ต1: ๋ณตํฉ ์ธ๋ฑ์ค ๋ณตํฉ ์ธ๋ฑ์ค: ๋ ๊ฐ ์ด์์ ์ปฌ๋ผ์ ์กฐํฉํด์ ๋ง๋ ์ธ๋ฑ์ค → ์กฐ๊ฑด์ด ๋ ๊ฐ ์ด์์ผ ๋ ์ฌ์ฉ Index Scan vs Bitmap Heap ScanIndex Scan์กฐ๊ฑด์ด ๋งค์ฐ ์ข๊ณ ์ ํํ ๋์กฐ๊ฑด์ด ๊ฑธ๋ฆฐ row ๋ฐ๋ก ๊ฐ์ ธ์ดrow ์ ์ ์ ๋ ์ฌ์ฉBitmap Heap Scan์กฐ๊ฑด์ด ๋๊ฑฐ๋ row๊ฐ ๋ง์ ๋์ธ๋ฑ์ค ์์น๋ฅผ ๋ชจ์๋๊ณ ํ ๋ฒ์ Heap ์ ๊ทผrow ์ ๋ง์ ๋ ์ฌ์ฉ ๋จ์ผ ์ธ๋ฑ์ค ์ฌ์ฉIndex = (customer_id)CREATE INDEX idx_rental_cust ON rental(customer_id); ์คํ๊ณํEXPLAIN (ANALYZE, BUFFERS)SELECT * FROM rentalWHERE customer_id = 75 AND return_date IS NULL;Index C.. DB/SQLP 2025. 5. 28. [AWS] ์ฑ๋ฅ ํ๋ ์ค์ต์ ์ํ ์ธํ ์ฌ์ ์ค๋น1. ํ๋ผ๋ฏธํฐ ๊ทธ๋ฃน ์ค์ ํ์ธRDS๋ ์ง์ ์ค์ ํ์ผ (postgresql.conf) ์์ ๋ถ๊ฐ.AWS ์ฝ์ → RDS → Parameter groups ํ๋ผ๋ฏธํฐ ๊ทธ๋ฃน ์์ฑ ํ๋ผ๋ฏธํฐ ์์ ํ๊ธฐ log_min_duration_statement = 1000 : 1์ด ์ด์ ์ฟผ๋ฆฌ๋ง ๊ธฐ๋ก (๋๋ฆฐ ์ฟผ๋ฆฌ ์ถ์ )track_io_timing = 1 : ๋์คํฌ ์ฝ๊ธฐ/์ฐ๊ธฐ ์๊ฐ ํฌํจshared_preload_libraries = pg_stat_statements : ์คํ ํต๊ณ ๊ธฐ๋ฅ ์ฌ์ฉ RDS ์ธ์คํด์ค์ ์ ํ๋ผ๋ฏธํฐ ๊ทธ๋ฃน ์ ์ฉRDS → ๋ฐ์ดํฐ๋ฒ ์ด์ค → ๋ด ์ธ์คํด์ค ์ ํ → ์์ ์์ ํ RDS ๋ฆฌ๋ถํ pg_stat_statements ์ค์น ํ์ธ, ํ๋ผ๋ฏธํฐ ๋ฐ์ ํ์ธCREATE EXTENSION IF NOT EXIST.. DB/AWS 2025. 5. 27. [AWS] ์ํ ๋ฐ์ดํฐ ์ ์ฌ * ํ์ต์ฉ ์ํ ๋ฐ์ดํฐ 1. ์ค์ต ํ๊ฒฝ ๊ตฌ์ฑEC2 ์ฌ์ฉ : ํฌํธ 22 ํ์ฉRDS์๋ pg_restore ์ง์ ์คํ์ด ์๋จ. ํฌํธ 22 ์ค์ ๋ ์ํด๋จ์ด์ ๋ค์ ์ค์ ํด์คฌ๋ค. 2. EC2์ SSH ์ ์git bash์์ ์คํ* SSH : ๋ฆฌ๋ ์ค ์๋ฒ์ ์๊ฒฉ์ผ๋ก ์ ์ํ ์ ์๋ ๋ณด์ ํ๋กํ ์ฝchmod 400 song-key.pemssh -i song-key.pem ec2-user@ 3. PostgreSQL ํด๋ผ์ด์ธํธ ๋๊ตฌ ์ค์นpg_restore, psql ๋ฑ ๋ช ๋ น์ด ๋๊ตฌ๋ค์ ์ํ ํด๋ผ์ด์ธํธ ๋๊ตฌsudo dnf install -y postgresql15 4. ์ํ ๋ฐ์ดํฐ ์ค๋นhttps://neon.tech/postgresql/postgresql-getting-started/postgresql-sample-da.. DB/AWS 2025. 5. 26. [AWS] ๊ธฐ์ด+PostgreSQL ํ๊ฒฝ ์ธํ AWS (Amazon Web Services)์๋ง์กด์ด ๋ง๋ ํด๋ผ์ฐ๋ฉ ์ปดํจํ ์๋น์ค ํ๋ซํผ๋ฌผ๋ฆฌ ์๋ฒ ์์ด๋ ์๋ฒ, ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์คํ ๋ฆฌ์ง ๋ฑ์ ์ธํ๋ผ๋ฅผ ๋น๋ ค์ฃผ๋ ์๋น์ค๋ํ ์๋น์คEC2 : ๊ฐ์ ์๋ฒ (๋ฆฌ๋ ์ค, ์๋์ฐ ๋ฑ)RDS : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋น์คS3 : ํ์ผ ์ ์ฅ์Lambda : ์๋ฒ ์์ด ์ฝ๋ ์คํ (์๋ฒ๋ฆฌ์ค)CloudWatch : ๋ชจ๋ํฐ๋ง AWS RDS (Relational Database Service)AWS๊ฐ ์ด์ํด์ฃผ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋น์คํน์ง๊ด๋ฆฌํ ์๋น์ค : ์ค์น, ํจ์น, ๋ฐฑ์ , ๋ณต๊ตฌ ์ํ์๋ ๋ฐฑ์ ๊ณ ๊ฐ์ฉ์ฑ (Multi-AZ)๋ณด์ ์ค์ ํ์ฅ์ฑ : ์ ์ฅ๊ณต๊ฐ, ์ฑ๋ฅ๋ชจ๋ํฐ๋ง : CloudWatch๋ก CPU, ๋ฉ๋ชจ๋ฆฌ ๋ฑ ๋ชจ๋ํฐ๋ง ๊ฐ๋ฅํ๋ฆฌํฐ์ด ์ ๊ณต ๐ฉ RDS PostgreSQL ์ธํ 1. EC2 ์.. DB/AWS 2025. 5. 22. ์ด์ 1 ๋ค์