Amazon Athena هي خدمة تحليلات تفاعلية بلا خادم قائمة على أُطر مفتوحة المصدر تمكّنك من تحليل البيانات التي يصل حجمها إلى مجموعة من البيتابايت في مكان تخزينها. مع خدمة Athena، يمكنك استخدام SQL أو Apache Spark ولا توجد بنية تحتية لإعدادها أو إدارتها. التسعير بسيط: تدفع استنادًا إلى حجم البيانات المعالَجة أو الحوسبة المستخدَمة.
لبدء الاستخدام، تنشئ مجموعة عمل تتيح لك تحديد محرك الاستعلامات الخاص بك، ودليل العمل في خدمة التخزين البسيطة في Amazon Simple Storage Service (S3) للاحتفاظ بنتائج التنفيذ، وأدوار إدارة الهوية والوصول في AWS (AWS IAM) (إذا اقتضت الحاجة)، وعلامات الموارد. يمكنك استخدام مجموعات العمل لتقسيم المستخدمين أو الفرق أو التطبيقات أو أعباء العمل، ولوضع حدود على حجم البيانات التي يمكن لكل استعلام أو مجموعة عمل بأكملها معالجتها، ولتتبع التكاليف. بناءً على مجموعة العمل التي تنشئها، يمكنك إما (أ) تنفيذ استعلامات SQL والاعتماد على البيانات المفحوصة أو الحوسبة المستخدمة، وإما (ب) تشغيل تعليمة Apache Spark Python البرمجية وتُحاسب نظير تنفيذ تعليمتك البرمجية بسعر الساعة.
استعلامات 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 المستدعاة بواسطة الاستعلامات الموحدة للطبقة المجانية من Lambda. للاطلاع على المزيد من التفاصيل، يرجى زيارة صفحة تسعير Lambda.
أمثلة على التسعير
المثال 1 – استعلام SQL
افترض أن هناك جدولاً يحتوي على 4 أعمدة متساوية في الحجم، وهو مُخزَّن بتنسيق ملف نصي غير مضغوط بحجم إجمالي يبلغ 3 تيرابايت على Amazon S3. فإن تشغيل استعلام للحصول على بيانات من عمود واحد من الجدول يتطلب من Amazon Athena فحص الملف بالكامل لأن تنسيقات النصوص غير قابلة للفصل.
- وسيتكلف هذا الاستعلام: USD 15. (السعر مقابل فحص 3 تيرابايت يساوي 3 × USD 5/تيرابايت = 15 USD).
إذا ضغطت ملفك باستخدام GZIP، فقد تحقق مكاسب من الضغط بنسبة 3:1. وفي هذه الحالة، سيكون لديك ملف مضغوط بحجم 1 تيرابايت. يتكلف الاستعلام نفسه على هذا الملف USD 5. ويجب أن تفحص خدمة Athena الملف بالكامل مرة أخرى، ولكنه نظرًا إلى أنه أصغر في الحجم بمقدار ثلاث مرات، فستدفع ثلث ما دفعته من قبل. وإذا ضغطت ملفك وحولته أيضًا إلى تنسيق عمودي، مثل Apache Parquet، وبتحقيق ضغط بمقدار 3:1، فستحصل في نهاية المطاف على 1 تيرابايت من البيانات على S3. ولكن في هذه الحالة، بما أن Parquet بتنسيق عمودي، يمكن لخدمة Athena أن تكتفي بقراءة العمود ذي الصلة بالاستعلام قيد التشغيل. ولأن الاستعلام المقصود لا يشير إلا إلى عمود واحد، فلا تقرأ خدمة Athena سوى ذلك العمود ويمكن أن تتجنب قراءة ثلاثة أرباع الملف. وبما أن Athena لا تقرأ سوى ربع الملف، فإنها لا تفحص سوى 0.25 تيرابايت من البيانات من S3.
- وسيتكلف هذا الاستعلام: 1.25 USD. يحقق ضغط الملف وفورات بمقدار 3 أضعاف ويحقق قراءة عمود واحد فقط وفورات بمقدار 4 أضعاف.
(حجم الملف = 3 تيرابايت/3 = 1 تيرابايت. البيانات المفحوصة عند قراءة عمود واحد = 1 تيرابايت/4 = 0.25 تيرابايت. السعر مقابل 0.25 تيرابايت = 0.25 × 5 USD / تيرابايت = 1.25 USD)
مثال 2 – استعلامات SQL مع وضع "السعة الموفَّرة"
افترض أن فريقك يدعم تطبيق ويب يوفر تحليلات الخدمة الذاتية للمستخدمين الذين يرسلون الاستعلامات خلال ساعات العمل، ويتوقعون إتمام استعلاماتهم في فترة زمنية يمكن التنبؤ بها. في الأسبوع الماضي، أرسل مستخدمو التطبيق ما يصل إلى 10000 استعلام فحصت 500 تيرابايت من البيانات. إنك تريد استخدام "السعة الموفَّرة" لمساعدتك في الحفاظ على تجربة مستخدم متسقة مع زيادة عدد المستخدمين. من خلال تحليل استعلاماتك، قررت أن 96 وحدة معالجة بيانات كافية لعبء العمل الحالي.
- بالنسبة ليوم عمل واحد، تُحسب تكلفة دعم عبء العمل هذا مع "السعة الموفَّرة" كما يلي: 96 وحدة معالجة بيانات × 0.30 USD لكل وحدة معالجة بيانات في الساعة × 12 ساعة في اليوم = 345.60 USD.
في صباح أحد الأيام، علمت أن مجموعة جديدة من مستخدمي التطبيق قد أتمت الإعداد، ونتيجةً لذلك، تتوقع أن يكون حجم الاستعلام أعلى بمقدار مرتين مما كان عليه في اليوم السابق. إنك تريد التأكد من أن أداء المستخدمين مماثل لأداء الأمس، ولكنك لا تتوقع أن يرسل جميع المستخدمين طلبات بحث في الوقت نفسه. بعد ساعتين من اليوم، تزيد السعة بنسبة 50% لتصل إلى 144 وحدة معالجة بيانات.
- تكلفة عبء العمل اليوم تساوي تكلفة 96 وحدة معالجة بيانات لمدة ساعتين بالإضافة إلى 144 وحدة معالجة بيانات لمدة 10 ساعات، أو 96 وحدة معالجة بيانات * 0.30 USD لكل وحدة معالجة بيانات في الساعة * ساعتين + 144 وحدة معالجة بيانات * 0.30 USD لكل وحدة معالجة بيانات في الساعة * 10 ساعات = 489.60 USD.
المثال 3 – تطبيق Apache Spark
افترض أنك تستخدم دفتر ملاحظات في وحدة تحكم Athena لسحب أرقام المبيعات للربع السنوي السابق ورسمها بيانيًا لإنشاء تقرير. تبدأ جلسة باستخدام دفتر الملاحظات. تستمر جلستك لمدة ساعة، وتقدم 6 عمليات حسابية كجزء من الجلسة. يستغرق تشغيل كل عملية حسابية 20 عقدة عامل المخصص لكل منها وحدة معالجة بيانات واحدة وتستمر لمدة دقيقة واحدة.
- وحدة معالجة البيانات في الساعة للعامل = عدد العمليات الحسابية × وحدات معالجة البيانات المستخدَمة لكل العمليات الحسابية × وقت تنفيذ العملية الحسابية = 6 عمليات حسابية × 20 وحدة معالجة بيانات لكل عملية حسابية × (1/60) ساعة لكل عملية حسابية = 2.0 وحدة معالجة بيانات في الساعة
- وحدات معالجة البيانات في الساعة لبرنامج التشغيل = وحدات معالجة البيانات المستخدَمة لكل جلسة × وقت الجلسة = 1 وحدة معالجة بيانات لكل جلسة × 1 ساعة لكل جلسة = 1.0 وحدة معالجة بيانات في الساعة
- إجمالي وحدات معالجة البيانات في الساعة = وحدات معالجة البيانات في الساعة للعامل + وحدات معالجة البيانات في الساعة لبرنامج التشغيل = 2.0 وحدة معالجة بيانات في الساعة + 1.0 وحدة معالجة بيانات في الساعة = 3.0 وحدات معالجة بيانات في الساعة
- رسوم تطبيق Spark = 0.35 USD لكل وحدة معالجة بيانات في الساعة * 3.0 وحدات معالجة بيانات في الساعة = USD 1.05
ملاحظة: ستحاسبك S3 بشكل منفصل على تخزين بياناتك ونتائج التنفيذ وقراءتها.
موارد التسعير الإضافية
احتساب تكاليفك الشهرية لدى AWS بسهولة
التواصل مع متخصصي AWS للحصول على عرض أسعار مخصص
ابدأ الإنشاء باستخدام Amazon Athena في وحدة إدارة تحكم AWS.