AWS Athena: ทุกสิ่งที่คุณต้องการรู้
เผยแพร่แล้ว: 2022-05-02AWS Athena เป็นบริการสืบค้นข้อมูลที่ยืดหยุ่นและคุ้มค่าสำหรับข้อมูลที่จัดเก็บไว้ใน AWS S3
AWS เป็นหนึ่งในผู้ให้บริการระบบคลาวด์ที่ใหญ่ที่สุดในโลก ให้บริการมากมายสำหรับการจัดเก็บบนคลาวด์และความต้องการด้านคอมพิวเตอร์ AWS S3 เป็นหนึ่งในบริการยอดนิยมบนแพลตฟอร์ม AWS มีความทนทานและความพร้อมใช้งานของข้อมูลที่เหนือชั้นในขณะที่ยังเป็นหนึ่งในตัวเลือกการจัดเก็บข้อมูลที่ถูกที่สุดในระบบคลาวด์

ด้วยคุณสมบัติมากมายและพื้นที่จัดเก็บที่ไม่จำกัดในทางทฤษฎี คุณจึงมีข้อมูลเทราไบต์หรือเพทาไบต์ในบัคเก็ต S3 การวิเคราะห์ข้อมูลดังกล่าวแทบจะเป็นไปไม่ได้เลยหากเราต้องเปิดแต่ละไฟล์และอ่านข้อมูลหลายเพตะไบต์ด้วยตนเอง นี่คือที่มาของบริการ AWS Athena
กล่าวง่ายๆ ก็คือ ใช้ AWS Athena เป็นบริการวิเคราะห์ข้อมูลโดยเพียงแค่เข้าถึงข้อมูลที่มีอยู่ในบัคเก็ต S3 โดยใช้การสืบค้น SQL ดังนั้น หากคุณเข้าใจแม้กระทั่งพื้นฐานของ SQL คุณสามารถเริ่มทำงานในการวิเคราะห์ข้อมูล S3 ด้วย AWS Athena ได้
ให้เราเข้าใจสิ่งนี้ด้วยตัวอย่างสั้นๆ ให้เราถือว่าคุณได้กำหนดค่าหนึ่งในที่เก็บข้อมูลของคุณเป็นที่เก็บข้อมูลบันทึกการเข้าถึงสำหรับบาลานเซอร์ทั้งหมดที่คุณมีในหลายบัญชีในองค์กรของคุณ คุณจะสืบค้นข้อมูลบันทึกหลายปีและรับข้อมูลเชิงลึกที่สำคัญจากไฟล์บันทึกเหล่านี้อย่างไร คำตอบคือ AWS Athena
คุณสมบัติของ AWS Athena
- เครื่องมือที่ใช้ SQL: AWS Athena เป็นบริการที่ใช้ SQL ที่ใช้งานง่ายมาก คุณเพียงแค่ชี้ Athena ไปที่ที่เก็บข้อมูลของคุณ กำหนดสคีมาของข้อมูลของคุณ จากนั้นเริ่มใช้การสืบค้น SQL ในที่เก็บข้อมูลของคุณ
- Serverless: คุณไม่จำเป็นต้องบำรุงรักษาโครงสร้างพื้นฐานสำหรับการเรียกใช้ AWS Athena Athena นั้นไร้เซิร์ฟเวอร์และได้รับการปรับให้เหมาะสมเพื่อใช้ทรัพยากรการประมวลผลที่หลากหลายโดยอัตโนมัติตามความต้องการของคุณ
- รวดเร็วและเหมาะสมที่สุด: Athena ได้รับการปรับให้เหมาะสมเพื่อใช้ทรัพยากรจำนวนที่มีประสิทธิภาพเพื่อส่งมอบผลลัพธ์การสืบค้นของคุณโดยเร็วที่สุด ใช้งานได้ดีกับการวิเคราะห์ข้อมูล S3 ที่มีขนาดเล็กและซับซ้อน
- คุ้มค่า: Athena เป็นบริการที่จ่ายตามการใช้งาน ซึ่งหมายความว่าไม่มีค่าใช้จ่ายพื้นฐานสำหรับการใช้ AWS Athena คุณจ่ายเฉพาะการสืบค้นที่คุณเรียกใช้ในบริการ Athena เท่านั้น
- ความคงทนและความพร้อมใช้งานของข้อมูล: เนื่องจาก Athena อาศัยข้อมูลในบัคเก็ต S3 ของคุณ คุณจึงวางใจได้ว่าข้อมูลมีความพร้อมใช้งานสูงและทนทาน
- รองรับ: Athena รองรับไฟล์ได้หลายรูปแบบ เช่น JSON, CSV, Avro, ORC และอื่นๆ
- ความปลอดภัย: Athena ใช้คุณลักษณะด้านความปลอดภัย เช่น IAM นโยบายของบัคเก็ต และ ACL ซึ่งทำให้มีความปลอดภัยสูง
- Athena Backend: Athena ใช้ Presto โอเพ่นซอร์สเป็นแบ็กเอนด์ Presto เป็นเอ็นจิ้น SQL แบบกระจายสำหรับการสืบค้นและวิเคราะห์ปริมาณงานของข้อมูลขนาดใหญ่
ราคาและการเพิ่มประสิทธิภาพของ AWS Athena
เมื่อใช้ AWS Athena คุณจะถูกเรียกเก็บค่าธรรมเนียม 5$ ต่อเทราไบต์ที่สแกนเมื่อใช้ AWS Athena ราคานี้อาจแตกต่างกันเล็กน้อยสำหรับบางภูมิภาคของ AWS
- การสืบค้นข้อมูลที่มีประสิทธิภาพ : หากคุณคุ้นเคยกับ SQL คุณต้องรู้ว่ามีได้มากกว่าหนึ่งวิธีในการรับผลลัพธ์จากข้อมูลโดยใช้ SQL ในการเพิ่มประสิทธิภาพ Athena คุณสามารถใช้การสืบค้นข้อมูลที่มีประสิทธิภาพซึ่งจะใช้เวลาน้อยกว่าในการเรียกใช้การสืบค้นของคุณ
- การแปลงข้อมูล: หากคุณต้องการเพิ่มประสิทธิภาพการสืบค้นข้อมูลของคุณเพิ่มเติม คุณสามารถบีบอัด แบ่งพาร์ติชั่น หรือแปลงข้อมูลของคุณเป็นชุดข้อมูลที่มีขนาดเล็กลง ซึ่งช่วยลดเวลาการทำงานของคิวรีของคุณลงได้อีก ด้วยการใช้การแปลงข้อมูล คุณสามารถเพิ่มประสิทธิภาพการสืบค้นของคุณได้ถึง 90%
- การ เข้าร่วมตารางเสมือน: การเข้าร่วมตารางเป็นคุณลักษณะที่สำคัญมากของ SQL แม้ว่าการดำเนินการอาจดูเหมือนง่าย แต่ก็อาจเป็นการดำเนินการที่ซับซ้อนได้มาก ขอแนะนำให้วางตารางขนาดใหญ่ไว้ทางด้านซ้ายและตารางที่มีข้อมูลน้อยกว่าทางด้านขวา
ความแตกต่างระหว่าง AWS Athena และ Redshift Spectrum
Redshift Spectrum เป็นบริการอื่นที่สามารถใช้เพื่อเรียกใช้การสืบค้นบนบัคเก็ต AWS S3 ทั้ง Redshift Spectrum และ Athena ไม่มีเซิร์ฟเวอร์ สามารถเรียกใช้การสืบค้นที่ซับซ้อนบน S3 ได้ และมีราคาที่ 5% ต่อ Terrabyte ของข้อมูลที่ประมวลผล ดังนั้นอะไรคือความแตกต่าง?

ประสิทธิภาพ
AWS Athena ใช้ทรัพยากรการคำนวณจากแหล่งทรัพยากรที่ AWS จัดหาให้ ในทางตรงกันข้าม สเปกตรัม Redshift ใช้ทรัพยากรที่จัดสรรตามขนาดคลัสเตอร์ Redshift วิธีนี้ช่วยให้คุณควบคุมทรัพยากรที่ใช้โดยบริการ Redshift Spectrum ได้มากขึ้น และหากคุณต้องการประสิทธิภาพที่เพิ่มขึ้น คุณสามารถเพิ่มขนาดของคลัสเตอร์ Redshift ได้เสมอ
กำลังโหลดข้อมูลสำหรับการประมวลผล
บริการทั้งสองใช้ตารางเสมือนเพื่อเรียกใช้แบบสอบถาม SQL กับข้อมูลของคุณ ตารางเสมือนสร้างขึ้นโดยใช้แค็ตตาล็อกข้อมูลกาวสำหรับการจัดการสคีมา Athena สามารถใช้ข้อมูลจากสคีมา Glue Data Catalog ได้โดยตรง ในขณะที่เมื่อใช้ Redshift Spectrum คุณจะต้องกำหนดค่าตารางภายนอกจาก Glue Data Catalog Schema
นี่คือข้อแตกต่างหลักระหว่างบริการทั้งสอง ดังนั้นเมื่อเลือกระหว่างสเปกตรัม Redshift และ Athena คุณควรใช้ Redshift Spectrum หากคุณต้องการสืบค้นข้อมูลใน S3 พร้อมกับข้อมูลที่จัดเก็บไว้ในคลังข้อมูล Redshift หรือหากคุณยินดีจ่ายค่าใช้จ่ายที่สูงขึ้นเพื่อปรับปรุงประสิทธิภาพการสืบค้นของคุณใน S3 Athena จะมีประโยชน์เมื่อข้อมูลทั้งหมดของคุณอยู่ในบัคเก็ต S3 เท่านั้น
ความแตกต่างระหว่าง AWS Athena และ S3 Select
S3 select เป็นบริการไร้เซิร์ฟเวอร์อีกบริการหนึ่งจาก AWS ในการสืบค้นข้อมูลใน S3 โดยใช้ SQL อย่างไรก็ตาม ข้อแตกต่างที่สำคัญระหว่าง S3 Select และ Athena คือ คุณสามารถใช้การสืบค้น SQL SELECT ได้เมื่อใช้ S3 Select เท่านั้น ในขณะที่ Athena สามารถใช้ได้กับการสืบค้น SQL ทุกประเภท ข้อจำกัดอีกประการหนึ่งของการเลือก S3 คือ คุณสามารถดำเนินการ SELECT ได้ครั้งละหนึ่งอ็อบเจ็กต์เท่านั้น
ดังนั้น หากความต้องการของคุณเป็นเพียงการดึงข้อมูลหรือชุดย่อยของข้อมูลจากวัตถุ S3 คุณควรใช้ S3 Select สำหรับการสืบค้นและการดำเนินการที่ซับซ้อน เช่น เข้าร่วม หรือเพื่อประมวลผลข้อมูลในบัคเก็ต S3 ทั้งหมด คุณควรใช้ AWS Athena
ข้อดีของการใช้ AWS Athena
- Athena ขจัดความจำเป็นในการพัฒนาเครื่องมือวิเคราะห์ข้อมูลที่ซับซ้อนและมีราคาแพงสำหรับข้อมูลของคุณ
- Athena ไม่มีเซิร์ฟเวอร์ซึ่งทำให้เป็นบริการที่ใช้งานง่าย คุณไม่จำเป็นต้องบำรุงรักษาโครงสร้างพื้นฐาน
- AWS ได้ปรับ Athena ให้เหมาะสมเพื่อให้สามารถดึงผลลัพธ์การสืบค้นภายในไม่กี่วินาทีหลังจากที่คุณเรียกใช้การสืบค้น Athena
- เนื่องจาก Athena ไม่มีเซิร์ฟเวอร์ คุณจึงไม่ต้องจ่ายค่าบริการ Athena คุณจ่ายเฉพาะการสืบค้นข้อมูลที่คุณเลือกเรียกใช้เท่านั้น แม้ว่าคุณจะต้องยกเลิกการสืบค้น คุณจะถูกเรียกเก็บเงินสำหรับข้อมูลที่ประมวลผลเท่านั้น ไม่ใช่การสืบค้นทั้งหมด
- Athena สามารถผสานรวมกับบริการอื่นๆ ของ AWS ได้อย่างง่ายดาย การผสานการทำงานที่สำคัญและมีค่าที่สุดอย่างหนึ่งสำหรับ AWS Athena คือบริการ AWS Glue AWS Glue เป็นบริการ ETL ที่สามารถใช้เพื่อแปลงข้อมูลให้อยู่ในรูปแบบที่มีประสิทธิภาพและสามารถอ่านได้ ซึ่งสามารถวิเคราะห์ได้ด้วย AWS Athena
- Athena อนุญาตให้คุณเรียกใช้แบบสอบถามหลายรายการพร้อมกัน
ข้อจำกัดของ AWS Athena
- ขนาดแถว: ขนาด แถวในตาราง AWS Athena เสมือนไม่ควรเกิน 32 เมกะไบต์ ขีดจำกัดนี้สามารถเพิ่มได้ในกรณีที่จำกัดมากสำหรับไฟล์ CSV และ JSON สูงสุด 100 เมกะไบต์ แต่ขอแนะนำอย่างยิ่งให้จำกัดขนาดแถวไว้ที่ 32 เมกะไบต์เพื่อหลีกเลี่ยงข้อผิดพลาดที่ไม่ต้องการ
- ไฟล์ที่ ซ่อน: ไฟล์ที่มีชื่อขึ้นต้นด้วยเครื่องหมายขีดล่าง (_) หรือจุด (.) จะถือว่าถูกซ่อนโดยบริการ Athena สามารถใช้เป็นคุณลักษณะเพื่อหลีกเลี่ยงการประมวลผลไฟล์ที่ไม่ต้องการ
- Athena ไม่สามารถประมวลผลข้อมูลใน S3 Glacier หรือ S3 Glacier Deep Archive คลาสพื้นที่จัดเก็บเหล่านี้มีไว้สำหรับตัวเลือกการเก็บถาวรข้อมูลเท่านั้น และมีเวลาดึงข้อมูลจากนาทีเป็นชั่วโมง ดังนั้นจึงเป็นที่เข้าใจกันว่า AWS Athena ไม่สามารถดึงข้อมูลจากคลาสเหล่านี้ได้
- Athena ไม่สนับสนุนกระบวนงานที่ เก็บไว้
- Athena เวอร์ชัน 1 ไม่รองรับการสืบค้นแบบกำหนดพารามิเตอร์ รองรับใน Athena เวอร์ชัน 2
- ไม่รองรับคำสั่งเช่น MERGE, UPDATE, CREATE TABLE LIKE,
DESCRIBE INPUT
และDESCRIBE OUTPUT
บทสรุป
ในบทความนี้ เราได้พูดถึงเครื่องมือวิเคราะห์ข้อมูลจาก AWS the AWS Athena คุณลักษณะ ข้อดี และข้อจำกัดบางประการ Athena เป็นหนึ่งในเครื่องมือที่ทรงพลังที่สุดสำหรับการประมวลผลและวิเคราะห์ข้อมูลในบัคเก็ต S3 แม้แต่ข้อจำกัดของบริการก็ค่อนข้างเรียบง่ายและสามารถแก้ไขได้หากจำเป็น
คุณอาจดูแนวทางปฏิบัติที่ดีที่สุดในการรักษาความปลอดภัย AWS S3 Storage