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 في مجموعتك.
- بدون خادم: لا يتعين عليك الاحتفاظ بالبنية التحتية لتشغيل AWS Athena. خدمة Athena بدون خادم وهي مُحسّنة لاستخدام موارد حوسبة متعددة تلقائيًا وفقًا لمتطلباتك.
- سريع ومحسّن: تم تحسين أثينا لاستخدام عدد فعال من الموارد لتقديم نتائج استعلامك في أقرب وقت ممكن. إنه يعمل بشكل رائع مع التحليلات الصغيرة والمعقدة لبيانات S3.
- فعالة من حيث التكلفة: أثينا هي خدمة الدفع حسب الاستخدام. هذا يعني أنه لا توجد تكلفة أساسية لاستخدام AWS Athena ؛ أنت تدفع فقط مقابل الاستعلامات التي تجريها في خدمة أثينا.
- متانة البيانات وتوفرها: نظرًا لأن Athena تعتمد على البيانات الموجودة في حاويات S3 الخاصة بك ، يمكنك أن تطمئن إلى أن البيانات متاحة بدرجة عالية ودائمة.
- الدعم: تدعم Athena العديد من تنسيقات الملفات مثل JSON و CSV و Avro و ORC والمزيد.
- الأمان: تستخدم أثينا ميزات الأمان مثل IAM وسياسات الحاوية وقوائم التحكم في الوصول (ACL) ، مما يجعلها آمنة للغاية.
- Athena Backend: تستخدم أثينا برنامج Presto مفتوح المصدر كخلفية. Presto هو محرك SQL موزع للاستعلام عن أعباء عمل البيانات الضخمة وتحليلها.
تسعير AWS Athena وتحسينه
عند استخدام AWS Athena ، ستتحمل رسومًا قدرها 5 دولارات لكل تيرابايت تم مسحها ضوئيًا عند استخدام AWS Athena. قد يختلف هذا السعر قليلاً بالنسبة لبعض مناطق AWS.
- استعلامات فعالة : إذا كنت معتادًا على SQL ، فيجب أن تعلم أنه يمكن أن يكون هناك أكثر من طريقة للحصول على نتائج معينة من البيانات باستخدام SQL. لتحسين أثينا ، يمكنك استخدام الاستعلامات الفعالة التي يجب أن تستغرق وقتًا أقل لتشغيل استعلاماتك.
- تحويل البيانات: إذا كنت ترغب في تحسين استعلاماتك بشكل أكبر ، فيمكنك ضغط بياناتك أو تقسيمها أو تحويلها إلى مجموعة بيانات أصغر ، مما يقلل من وقت تشغيل الاستعلام. باستخدام تحويل البيانات ، يمكنك تحسين استعلامك بنسبة تصل إلى 90٪.
- ربط الجداول الافتراضية: يعد ربط الجداول ميزة مهمة جدًا في SQL. على الرغم من أنها قد تبدو عملية بسيطة ، إلا أنها قد تكون معقدة للغاية. من المستحسن الاحتفاظ بالجداول الأكبر حجمًا إلى اليسار والجداول التي تحتوي على بيانات أقل إلى اليمين.
الفرق بين AWS Athena و Redshift Spectrum
Redshift Spectrum هي خدمة أخرى يمكن استخدامها لتشغيل الاستعلامات على حاويات AWS S3. كل من Redshift Spectrum و Athena بلا خوادم ، ويمكنهما تشغيل استعلامات معقدة على S3 ، وبسعر 5٪ لكل Terrabyte من البيانات التي تتم معالجتها ، فما الفرق؟

أداء
تستخدم AWS Athena موارد حسابية من مجموعة من الموارد التي توفرها AWS. في المقابل ، يستخدم طيف الانزياح الأحمر الموارد المخصصة وفقًا لحجم كتلة الانزياح الأحمر. يتيح لك هذا مزيدًا من التحكم في الموارد التي تستخدمها خدمة Redshift Spectrum ، وإذا كنت تريد أداءً محسنًا ، فيمكنك دائمًا زيادة حجم مجموعة Redshift الخاصة بك.
تحميل البيانات للمعالجة
تستخدم كلتا الخدمتين جداول افتراضية لتشغيل استعلامات SQL على بياناتك. يتم إجراء الجداول الافتراضية باستخدام كتالوج بيانات الغراء لإدارة المخطط. يمكن أن تستخدم Athena البيانات مباشرة من مخطط Glue Data Catalog ، بينما عند استخدام Redshift Spectrum ، ستحتاج إلى تكوين جداول خارجية من مخطط Glue Data Catalog.
هذه هي الاختلافات الرئيسية بين الخدمتين ، لذلك عند الاختيار بين طيف الانزياح الأحمر وأثينا. يجب عليك استخدام Redshift Spectrum إذا كنت تريد الاستعلام عن البيانات في S3 جنبًا إلى جنب مع البيانات المخزنة في مستودع بيانات Redshift أو إذا كنت على استعداد لدفع تكاليف أعلى لتحسين أداء الاستعلام في S3. يمكن أن تكون أثينا مفيدة عندما تكون جميع بياناتك في حاويات S3 فقط.
الفرق بين AWS Athena و S3 Select
S3 select هي خدمة أخرى بدون خادم من AWS للاستعلام عن البيانات في S3 باستخدام SQL. ومع ذلك ، فإن الاختلاف الرئيسي بين S3 Select و Athena هو أنه يمكنك فقط استخدام استعلامات SQL SELECT عند استخدام S3 Select ، بينما يمكن استخدام Athena لجميع أنواع استعلامات SQL. قيد آخر لـ S3 select هو أنه يمكنك فقط إجراء عملية SELECT على كائن واحد في كل مرة.
لذلك ، إذا كان مطلبك هو فقط سحب البيانات أو مجموعة فرعية من البيانات من كائن S3 ، فيجب عليك استخدام S3 Select. للاستعلامات والعمليات المعقدة مثل JOIN أو لمعالجة البيانات في حاوية S3 بأكملها ، يجب عليك استخدام AWS Athena.
مزايا استخدام AWS Athena
- تلغي أثينا الحاجة إلى تطوير أداة تحليل بيانات معقدة ومكلفة لبياناتك.
- أثينا ليست خادمًا ، مما يجعلها خدمة سهلة الاستخدام إلى حد ما. ليست هناك حاجة لصيانة البنية التحتية.
- قامت AWS بتحسين Athena لتتمكن من استرداد نتائج الاستعلام في غضون ثوانٍ من تشغيل استعلام Athena.
- نظرًا لأن أثينا بلا خوادم ، فلن تضطر إلى الدفع مقابل خدمة أثينا. أنت تدفع فقط مقابل الاستعلامات التي تختار تشغيلها. حتى إذا قمت بإلغاء استعلام ، فسيتم محاسبتك فقط على البيانات التي تمت معالجتها وليس الاستعلام بالكامل.
- يمكن دمج أثينا مع خدمات AWS الأخرى بسهولة. تعد خدمة AWS Glue من أهم عمليات الدمج وأكثرها قيمة لـ AWS Athena. AWS Glue هي خدمة ETL يمكن استخدامها لتحويل البيانات إلى نموذج أكثر كفاءة وقابلية للقراءة ، والذي يمكن بعد ذلك تحليله باستخدام AWS Athena.
- تسمح لك أثينا بتشغيل استعلامات متعددة في وقت واحد.
حدود AWS Athena
- حجم الصف: يجب ألا يتجاوز حجم الصف في جدول AWS Athena الافتراضي 32 ميغا بايت. يمكن زيادة هذا الحد في حالات محدودة جدًا لملفات CSV و JSON حتى 100 ميغا بايت ، ولكن يوصى بشدة بتحديد حجم الصف إلى 32 ميغا بايت لتجنب الأخطاء غير المرغوب فيها.
- الملفات المخفية: يتم التعامل مع الملفات ذات الأسماء التي تبدأ بشرطة سفلية (_) أو نقطة (.) على أنها مخفية بواسطة خدمة أثينا. يمكن استخدام هذا كميزة لتجنب معالجة الملفات غير المرغوب فيها.
- يتعذر على Athena معالجة البيانات في S3 Glacier أو S3 Glacier Deep Archive. فئات التخزين هذه مخصصة فقط لخيارات أرشفة البيانات ولها وقت استرداد من دقائق إلى ساعات ، لذلك من المفهوم ما إذا كان AWS Athena لا يمكنه استرداد البيانات من هذه الفئات.
- لا تدعم أثينا الإجراءات المخزنة .
- لا يدعم الإصدار 1 من Athena الاستعلامات ذات المعلمات . هذا مدعوم في الإصدار 2 من أثينا.
- لا يتم دعم عبارات مثل MERGE و UPDATE و CREATE TABLE LIKE و
DESCRIBE INPUT
وDESCRIBE OUTPUT
.
استنتاج
في هذه المقالة ، ناقشنا أداة تحليل البيانات من AWS و AWS Athena وميزاتها ومزاياها وبعض القيود. تعد Athena واحدة من أقوى الأدوات لمعالجة البيانات وتحليلها في حاويات S3. حتى حدود الخدمة بسيطة جدًا ويمكن حلها إذا لزم الأمر.
يمكنك أيضًا الاطلاع على بعض أفضل الممارسات لتأمين تخزين AWS S3.