ทำไมถึงต้องเลือกใช้ Athena
Amazon Athena เป็นบริการวิเคราะห์เชิงโต้ตอบแบบไม่ต้องใช้เซิร์ฟเวอร์ที่สร้างขึ้นบนเฟรมเวิร์กแบบโอเพนซอร์สที่ช่วยให้คุณสามารถวิเคราะห์ข้อมูลในระดับเพตะไบต์ได้ ด้วย Athena คุณสามารถใช้ SQL หรือ Apache Spark โดยไม่มีโครงสร้างพื้นฐานให้ตั้งค่าหรือจัดการ เรื่องราคาไม่ซับซ้อน คุณจะจ่ายตามข้อมูลที่ประมวลผลหรือที่ใช้ประมวลผล
หากต้องการเริ่มต้น คุณต้องสร้างเวิร์กกรุ๊ปที่จะอนุญาตให้คุณสามารถระบุเครื่องมือการสืบค้นข้อมูล ไดเร็กทอรีการทำงานของคุณใน Amazon Simple Storage Service (S3) เพื่อเก็บผลลัพธ์ของการดำเนินการ บทบาท AWS Identity and Access Management (IAM) (หากจำเป็น) และแท็กทรัพยากรของคุณ คุณสามารถใช้เวิร์กกรุ๊ปเพื่อแยกผู้ใช้ ทีม แอปพลิเคชัน หรือเวิร์กโหลด กำหนดขีดจำกัดของจำนวนข้อมูลที่แต่ละการสืบค้นข้อมูลหรือทั้งเวิร์กกรุ๊ปสามารถประมวลผลได้ และตรวจสอบค่าใช้จ่ายต่างๆ คุณสามารถ (ก) เรียกใช้การสืบค้นข้อมูล SQL และรับข้อมูลที่สแกนหรือใช้ประมวลผล หรือ (ข) เรียกใช้โค้ด Apache Spark Python และระบบจะเรียกเก็บเงินเป็นอัตรารายชั่วโมงสำหรับการดำเนินการโค้ดของคุณ โดยอิงจากเวิร์กกรุ๊ปที่คุณสร้างขึ้น
เครื่องมือคำนวณค่าบริการของ AWS
คำนวณค่าใช้จ่ายสำหรับ Amazon Athena และสถาปัตยกรรมของคุณด้วยการประมาณราคาเพียงครั้งเดียว
การสืบค้นข้อมูล SQL
การสืบค้น SQL กับความจุที่จัดสรรไว้
Apache Spark
ค่าใช้จ่ายเพิ่มเติม
Athena จะสืบค้นข้อมูลโดยตรงจาก Amazon S3 ไม่มีค่าบริการพื้นที่จัดเก็บเพิ่มเติมสำหรับการสืบค้นข้อมูลของคุณด้วย Athena คุณจะเสียค่าบริการ S3 ในอัตรามาตรฐานสำหรับพื้นที่จัดเก็บ คำขอ และการโอนถ่ายข้อมูล ตามค่าเริ่มต้น ผลการสืบค้นจัดเก็บอยู่ในบัคเก็ต S3 ที่คุณเลือกและยังมีการเรียกเก็บค่าบริการตามอัตรา S3 แบบมาตรฐาน
- S3 จะเรียกเก็บเงินเมื่อเวิร์กโหลดอ่าน จัดเก็บ และถ่ายโอนข้อมูล ซึ่งรวมถึงการสืบค้นที่สำเร็จและไม่สำเร็จ ตามค่าเริ่มต้น ผลการสืบค้น SQL และผลการคำนวณ Spark จะจัดเก็บอยู่ในบัคเก็ต S3 ที่คุณเลือก โดยมีการเรียกเก็บค่าบริการตามอัตรา S3 มาตรฐาน ดูข้อมูลเพิ่มเติมได้ที่ราคา Amazon S3
- หากคุณใช้แค็ตตาล็อกข้อมูลของ AWS Glue กับ Athena จะมีการเรียกเก็บค่าบริการตามอัตราแค็ตตาล็อกข้อมูลของ AWS Glue แบบมาตรฐาน ดูรายละเอียดได้ที่หน้าราคา AWS Glue
- การสืบค้น SQL บนแหล่งที่มาของข้อมูล (ข้อมูลไม่ได้จัดเก็บใน S3) จะถูกเรียกเก็บค่าบริการต่อเทราไบต์ (TB) ที่สแกนโดย Athena ที่รวบรวมจากแหล่งที่มาของข้อมูลต่าง ๆ โดยปัดขึ้นเป็นเมกะไบต์ที่ใกล้ที่สุดด้วยขั้นต่ำ 10 เมกะไบต์ต่อการสืบค้น เว้นแต่จะใช้ความจุที่จัดสรรไว้ นอกจากนี้ การสืบค้นข้อมูลดังกล่าวยังมีการเรียกใช้ฟังก์ชัน AWS Lambda ในบัญชีของคุณ คุณจึงถูกเรียกเก็บเงินสำหรับการใช้ Lambda ในอัตรามาตรฐาน ฟังก์ชัน Lambda ที่เรียกใช้โดยคิวรีภายนอกจะเป็นไปตาม Free Tier ของ Lambda ดูรายละเอียดได้ที่หน้าราคา Lambda
ตัวอย่างราคา
ตัวอย่างที่ 1 – การสืบค้นข้อมูลของ SQL
ลองพิจารณาตารางที่มีคอลัมน์ขนาดเท่ากัน 4 คอลัมน์ที่จัดเก็บไว้ใน Amazon S3 เป็นไฟล์ข้อความแบบไม่บีบอัด โดยมีขนาดรวม 3 TB การเปิดใช้การสืบค้นข้อมูลเพื่อรับข้อมูลจากคอลัมน์หนึ่งของตารางต้องใช้ Amazon Athena ในการสแกนทั้งไฟล์ เนื่องจากไม่สามารถแยกข้อความได้
- การสืบค้นนี้จะมีค่าบริการ: 15 USD (ราคาสำหรับการสแกนข้อมูล 3 TB คือ 3 * 5 USD/TB = 15 USD)
หากคุณบีบอัดไฟล์โดยใช้ GZIP คุณอาจได้รับอัตราการบีบอัดที่ 3:1 ในกรณีนี้ คุณจะมีไฟล์บีบอัดขนาด 1 TB การสืบค้นเดียวกันบนไฟล์นี้จะมีค่าบริการ 5 USD Athena ต้องสแกนทั้งไฟล์อีกครั้ง แต่เนื่องจากมีขนาดเล็กลง 3 เท่า คุณจึงจ่ายแค่หนึ่งในสามของการสืบค้นก่อนหน้า หากคุณบีบอัดไฟล์และแปลงไฟล์เป็นรูปแบบคอลัมน์ด้วย เช่น Apache Parquet โดยมีอัตราการบีบอัด 3:1 คุณจะยังได้รับข้อมูลขนาด 1 TB บน S3 แต่ในกรณีนี้ เนื่องจาก Parquet เป็นข้อมูลรูปแบบคอลัมน์ Athena สามารถอ่านได้เฉพาะคอลัมน์ที่มีความเกี่ยวข้องกับการสืบค้นที่เรียกใช้ เนื่องจากการสืบค้นดังกล่าวอ้างอิงเฉพาะคอลัมน์เดียว Athena จะอ่านเฉพาะคอลัมน์นั้นและอาจจะหลีกเลี่ยงการอ่านข้อมูลสามในสี่ของทั้งไฟล์ เนื่องจาก Athena อ่านเพียงหนึ่งในสี่ของไฟล์ จึงสแกนข้อมูลจาก S3 เพียง 0.25 TB
- การสืบค้นนี้จะมีค่าบริการ: 1.25 USD ประหยัดค่าใช้จ่ายขึ้น 3 เท่าด้วยการบีบอัดและประหยัดค่าใช้จ่ายขึ้น 4 เท่าสำหรับการอ่านข้อมูลเพียงคอลัมน์เดียว
(ขนาดไฟล์ = 3 TB/3 = 1 TB ข้อมูลที่สแกนเมื่ออ่านเพียงคอลัมน์เดียว = 1TB/4 = 0.25 TB ราคาสำหรับ 0.25 TB = 0.25 * 5 USD/TB = 1.25 USD)
ตัวอย่างที่ 2 - การสืบค้นข้อมูลของ SQL กับความจุที่จัดสรรไว้
สมมติว่าทีมของคุณสนับสนุนเว็บแอปพลิเคชันที่ให้การวิเคราะห์แบบบริการตนเองแก่ผู้ใช้ที่ส่งการสืบค้นในช่วงเวลาทำการ และคาดว่าการสืบค้นของพวกเขาจะเสร็จสิ้นภายในระยะเวลาที่คาดการณ์ได้ สัปดาห์ที่แล้ว ผู้ใช้แอปพลิเคชันส่งการสืบค้นข้อมูลทั้งหมด 10,000 รายการ ซึ่งเป็นข้อมูลที่สแกนขนาด 500 TB คุณต้องการใช้ความจุที่จัดสรรไว้เพื่อช่วยรักษาประสบการณ์ผู้ใช้ที่สม่ำเสมอเมื่อจำนวนผู้ใช้เพิ่มขึ้น จากการวิเคราะห์การสืบค้นของคุณ คุณพิจารณาว่า 96 DPU เพียงพอสำหรับเวิร์กโหลดปัจจุบันของคุณ
- สำหรับหนึ่งวันทำการ ค่าใช้จ่ายในการรองรับเวิร์กโหลดนี้ด้วยความจุที่จัดสรระไว้นั้นจะคำนวณเป็น 96 DPU * 0.30 USD ต่อชั่วโมง DPU * 12 ชั่วโมงต่อวัน = 345.60 USD
เช้าวันหนึ่ง คุณได้เรียนรู้ว่าผู้ใช้แอปพลิเคชันชุดใหม่ได้เริ่มต้นใช้งานเรียบร้อยแล้ว และด้วยเหตุนี้ คุณคาดว่าปริมาณการสืบค้นข้อมูลจะสูงกว่าวันก่อนหน้าถึง 2 เท่า คุณต้องการมั่นใจว่าผู้ใช้มีประสิทธิภาพใกล้เคียงกับเมื่อวาน แต่ไม่คิดว่าผู้ใช้ทั้งหมดจะส่งการสืบค้นข้อมูลพร้อมกัน โดยในสองชั่วโมงของแต่ละวัน คุณเพิ่มความจุ 50% เป็น 144 DPU
- ค่าใช้จ่ายสำหรับเวิร์กโหลดของวันนี้เท่ากับค่าใช้จ่าย 96 DPU เป็นเวลา 2 ชั่วโมง บวก 144 DPU เป็นเวลา 10 ชั่วโมง หรือ 96 DPU * 0.30 USD ต่อชั่วโมง DPU * 2 ชั่วโมง + 144 DPU * 0.30 USD ต่อชั่วโมง DPU * 10 ชั่วโมง = 489.60 USD
ตัวอย่างที่ 3 – แอปพลิเคชัน Apache Spark
ลองพิจารณาใช้โน้ตบุ๊คในคอนโซล Athena เพื่อดึงตัวเลขยอดขายสำหรับไตรมาสก่อนหน้า และสร้างกราฟเพื่อสร้างรายงาน คุณเริ่มเซสชันโดยการใช้โน้ตบุ๊ค เซสชันของคุณใช้เวลา 1 ชั่วโมง และส่งการคำนวณ 6 รายการเป็นส่วนหนึ่งของเซสชัน การคำนวณแต่ละครั้งจะใช้ Worker Node 1-DPU 20 โหนดในการรันและจะใช้เวลา 1 นาที
- DPU ต่อชั่วโมงของตัวปฏิบัติงาน (Worker) = จำนวนการคำนวณ * DPU ที่ใช้ต่อการคำนวณ * เวลาดำเนินการคำนวณ = การคำนวณ 6 รายการ * 20 DPU ต่อการคำนวณ * (1/60) ชั่วโมงต่อการคำนวณ = 2.0 DPU ต่อชั่วโมง
- DPU ต่อชั่วโมงของไดรเวอร์ = DPU ที่ใช้ต่อเซสชัน * เวลาเซสชัน = 1 DPU ต่อเซสชัน * 1 ชั่วโมงต่อเซสชัน = 1.0 DPU ต่อชั่วโมง
- DPU ต่อชั่วโมงทั้งหมด = DPU ต่อชั่วโมงของตัวปฏิบัติงาน (Worker) + DPU ต่อชั่วโมงของไดรเวอร์ = 2.0 DPU ต่อชั่วโมง + 1.0 DPU ต่อชั่วโมง = 3.0 DPU ต่อชั่วโมง
- ค่าบริการแอปพลิเคชัน Spark = 0.35 USD ต่อชั่วโมง DPU * 3.0 DPU ต่อชั่วโมง = 1.05 USD
หมายเหตุ: S3 จะเรียกเก็บเงินคุณแยกต่างหากสำหรับการจัดเก็บและอ่านข้อมูล รวมถึงผลลัพธ์ของการดำเนินการของคุณ
ข้อมูลราคาเพิ่มเติม
คำนวณต้นทุนรายเดือนอย่างง่ายกับ AWS
ติดต่อผู้เชี่ยวชาญของ AWS เพื่อรับการเสนอราคาแบบส่วนบุคคล