[AWS] S3 Table

S3 Table์€ ๊ทผ๋ž˜์— ์ถ”๊ฐ€๋œ S3 ๋ถ€๊ฐ€๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๋‹ค.
S3์— ํŒŒ์ผ์„ "๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ฒ˜๋Ÿผ" ๋„ฃ๊ณ , "๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ฒ˜๋Ÿผ" ์ฝ๊ธฐ ์œ„ํ•œ ์šฉ๋„๋‹ค.

์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ž€๊ฒŒ ์ผ๋ฐ˜์ ์ธ RDB๋‚˜ Key-Value DB๋ฅผ ๋งํ•˜๋Š”๊ฑด ์•„๋‹ˆ๊ณ , ๋ถ„์„์šฉ OLAP DB๋ฅผ ๋งํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์‚ฌ์‹ค์ƒ ์ž์‚ฌ ์„œ๋น„์Šค์ธ Athena์™€์˜ ํ†ตํ•ฉ์„ ๊ณ ๋ คํ•ด์„œ ๋งŒ๋“  ๊ฒƒ์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.
Athena์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅธ๋‹ค๋ฉด, ๋จผ์ € ์•Œ์•„๋‘๊ธธ ๊ถŒํ•œ๋‹ค.
https://blog.naver.com/sssang97/223170376691




vs S3

๊ทธ๋ž˜์„œ ์ด๊ฒŒ S3์™€ ๋Œ€๋น„ํ•ด์„œ ๋ญ๊ฐ€ ๋‹ฌ๋ผ์ง€๊ณ  ๋ญ๊ฐ€ ์ข‹์•„์ง„๊ฑด๊ฐ€?

S3 Table์€ ํŒŒ์ผ์„ ๊ทธ๋ƒฅ ํŒŒ์ผ๋กœ๋งŒ ๋‘๋Š” S3์™€๋Š” ๋‹ค๋ฅด๊ฒŒ, ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ํŒŒ์ผ ์••์ถ•์ด๋‚˜ ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ ์ œ๊ฑฐ ๋“ฑ์˜ ์ž‘์—…์„ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค. ํŒŒ์ผ์˜ ๋‚ด๋ถ€ ์ €์žฅ ์••์ถ• ํ˜•์‹์€ Apache Parquet์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ , AWS์—์„œ๋Š” Athena๋ฅผ ํ†ตํ•ด์„œ ์ฟผ๋ฆฌ๋ฅผ ํ• ๋•Œ ์ตœ๋Œ€ 3๋ฐฐ๊นŒ์ง€๋„ ์„ฑ๋Šฅ ํ–ฅ์ƒ์ด ์žˆ๋‹ค๊ณ  ์ฃผ์žฅํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋™์‹œ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ๋Ÿ‰๋„ 10๋ฐฐ ์ •๋„๋Š” ๋œ๋‹ค๊ณ  ํ•œ๋‹ค.

๊ทผ๋ฐ ๋‚ด๊ฐ€ ๋ณผ๋•Œ 3๋ฐฐ ๋น ๋ฅด๋‹ค๋Š”๊ฑด ๋งˆ๋ฒ•๊ฐ™์€ ์ตœ์ ํ™”๋ฅผ ํ•œ๊ฒŒ ์•„๋‹ˆ๋ผ, ์••์ถ•์„ ํ•˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ์ฟผ๋ฆฌ๋ฅผ ํ•œ ๊ฒƒ๊ณผ ๋น„๊ตํ•œ๊ฒŒ ์•„๋‹๊นŒ ์‹ถ๋‹ค...
์›๋ž˜ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด์„œ ๋ฒˆ๊ฑฐ๋กญ๊ฒŒ ์„ธํŒ…ํ•ด์„œ ์ „์ฒ˜๋ฆฌํ•˜๊ณ  ๋Œ๋ฆฌ๋˜ ๊ฒƒ์„ ์ž๋™ํ™”ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.




๋น„์šฉ

https://aws.amazon.com/ko/s3/pricing/

๋น„์šฉ ์ฒด๊ณ„๋Š” ๊ธฐ๋ณธ S3์™€ ์ข€ ๋‹ค๋ฅด๋‹ค.

์ €์žฅ ๋น„์šฉ๋งŒ ํ•˜๋ฉด ์„œ์šธ ๊ธฐ์ค€ GB๋‹น 0.0288๋‹ฌ๋Ÿฌ์ธ๋ฐ, ์›๋ž˜ S3๋Š” GB๋‹น 0.025์ด์—ˆ๋‹ค.
์•ฝ 15% ์ •๋„ ๋” ๋น„์‹ผ ๊ฒƒ์ด๋‹ค.

๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ฉด์„œ ์ œ์–ด๋ฅผ ํ•ด์•ผํ•˜๋‹ˆ๊นŒ, ๋ชจ๋‹ˆํ„ฐ๋ง์— ๋”ฐ๋ฅธ ๊ฐ์ฒด ๊ฐœ๋‹น ๋น„์šฉ๋„ ์กด์žฌํ•œ๋‹ค.
1000๊ฐœ๋‹น 0.025๋‹ฌ๋Ÿฌ๋‹ค. ์ด๊ฑด ์ €์žฅ๋น„์šฉ๊ณผ๋Š” ๋˜ ๋ณ„๊ฐœ๋‹ค.



๊ทธ๋ฆฌ๊ณ  ์••์ถ•์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ๊ทธ ์š”๊ธˆ๋„ ๋œฏ์–ด๊ฐ„๋‹ค.




์‚ฌ์šฉํ•ด๋ณด๊ธฐ

ํ•œ๋ฒˆ ์ง์ ‘ ๋งŒ๋“ค์–ด์„œ ์จ๋ณด์ž.

์•„์˜ˆ ์ „์šฉ ํƒญ์ด ์กด์žฌํ•œ๋‹ค.


๋ฒ„ํ‚ท ์ž์ฒด๋Š” ๊ทธ๋ƒฅ ๋งŒ๋“ค๋ฉด ๋œ๋‹ค. ์ค˜์•ผํ•˜๋Š” ์˜ต์…˜์€ ๋ณ„๋กœ ์—†๋‹ค.


๊ทธ๋Ÿผ ์ด๋Ÿฐ ์‹์œผ๋กœ ๋งŒ๋“ค์–ด์ง€๊ณ , ๋ฒ„ํ‚ท ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.


ํ…Œ์ด๋ธ” ๋ฒ„ํ‚ท์€ ๊ธฐ์กด ๋ฒ„ํ‚ท๊ณผ๋Š” ์ข€ ๋‹ค๋ฅด๋‹ค.
์ฝ˜์†”์—์„œ ๋ญ˜ ์ง์ ‘ ์˜ฌ๋ฆด ์ˆ˜๋„ ์—†๊ณ , ๋ณดํ†ต DB์—๋‚˜ ์žˆ๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค์™€ ํ…Œ์ด๋ธ”์ด๋ผ๋Š” ๋‹จ์œ„๊ฐ€ ์กด์žฌํ•œ๋‹ค.

์‹ค์ œ๋กœ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๋Š”๊ฑด Athena๋ฅผ ํ†ตํ•ด์„œ ์ด๋ฃจ์–ด์ง„๋‹ค.

๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋งŒ๋“ค๊ณ  ์ด๋™ํ•ด์„œ


CREATE TABLE `foo`.daily_sales (
sale_date date, 
product_category string, 
sales_amount double)
PARTITIONED BY (month(sale_date))
TBLPROPERTIES ('table_type' = 'iceberg')

์ž๋™ ์ƒ์„ฑ๋œ ์ฟผ๋ฆฌ๋กœ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค๋ฉด


ํ…Œ์ด๋ธ” ๋ชฉ๋ก์—๋„ ๋ฐฉ๊ธˆ ๋งŒ๋“  ๊ฒƒ์ด ๋œฐ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  Athena ์ฝ˜์†”์—์„œ ๋ฐ”๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณผ ์ˆ˜๋„ ์žˆ๋‹ค.

INSERT INTO daily_sales
VALUES
(DATE '2024-01-15', 'Laptop', 900.00),
(DATE '2024-01-15', 'Monitor', 250.00),
(DATE '2024-01-16', 'Laptop', 1350.00),
(DATE '2024-02-01', 'Monitor', 300.00),
(DATE '2024-02-01', 'Keyboard', 60.00),
(DATE '2024-02-02', 'Mouse', 25.00),
(DATE '2024-02-02', 'Laptop', 1050.00),
(DATE '2024-02-03', 'Laptop', 1200.00),
(DATE '2024-02-03', 'Monitor', 375.00);

๋„ฃ์œผ๋ฉด ๋“ค์–ด๊ฐ€๊ณ 


์กฐํšŒ๋„ ์›ํ•˜๋Š”๋Œ€๋กœ ๋  ๊ฒƒ์ด๋‹ค.




์งœ์ฆ๋‚˜๋Š” ๊ฒƒ

์•„์ง ๋ฒ„ํ‚ท ์‚ญ์ œ ๊ฐ™์€ ๊ธฐ๋ณธ์ ์ธ ๋ถ€๋ถ„๋„ ์ฝ˜์†” ๊ตฌํ˜„์„ ์•ˆํ•ด๋†จ๋‹ค.
API๋กœ ์ฐ”๋Ÿฌ์•ผ ํ•œ๋‹ค.

์•„์ง ์ „๋ฐ˜์ ์œผ๋กœ ๋ฒ ํƒ€์„œ๋น„์Šค ๋А๋‚Œ์ด ์žˆ๋‹ค.




https://aws.amazon.com/ko/s3/features/tables/
https://devocean.sk.com/blog/techBoardDetail.do?ID=167170&boardType=techBlog
https://aws.amazon.com/ko/blogs/korea/new-amazon-s3-tables-storage-optimized-for-analytics-workloads/