مستودعات Snowflake الخاملة: كيف تكتشفها وكم تكلّفك
تحتسب Snowflake تكلفة المستودع العامل سواء كان مشغولًا أم لا. إليك كيف تكتشف المستودعات التي تعمل دون حاجة، وتحسب تكلفة ذلك، وتعالجه بأمان.
بقلم فريق RootSpend. حُدّث في
تحتسب Snowflake كل ثانية يعمل فيها المستودع، سواء كان ينجز عملًا أم لا. فالمستودع الذي يستيقظ لاستعلام مدته 20 ثانية ثم يبقى يعمل عشر دقائق أخرى، يحتسب عليك تلك الدقائق العشر أيضًا.
لماذا تتراكم التكلفة
خذ مستودعًا يخدم أداة ذكاء أعمال. تتحدّث لوحات المعلومات كل بضع دقائق خلال النهار، ويستغرق كل استعلام ثواني معدودة. ومع ضبط الإيقاف التلقائي على عشر دقائق، لا ينام هذا المستودع تقريبًا بين التاسعة صباحًا والسادسة مساءً.
اضرب ذلك في عدد من المستودعات وعدد من الأشهر، فيصبح وقت الخمول حصة حقيقية من الفاتورة.
كيف تكتشفها
تحتاج إلى رقمين لكل مستودع: المدة التي احتُسبت عليه، والمدة التي نفّذ فيها استعلامات فعلًا.
المدة المحتسبة موجودة في SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_METERING_HISTORY، وتعطيك الأرصدة المستهلكة لكل مستودع في كل ساعة.
مدة الانشغال موجودة في SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY. اجمع مدة التنفيذ لكل مستودع في كل ساعة.
ضع الرقمين جنبًا إلى جنب. فالمستودع الذي تُحتسب عليه كل ساعة من ساعات العمل، لكنه لا ينشغل إلا بضع دقائق في كل ساعة، هو المرشّح.
ثم تحقّق ممّن يستخدمه. فالمستودع الذي تتشاركه أداة ذكاء أعمال ومهمة ELT ليلية قد يحتاج إلى إعدادات مختلفة، أو إلى أن يُقسَم إلى مستودعين.
الحل
في معظم مستودعات المعالجة الدفعية و ELT، يكفي سطر واحد.
ALTER WAREHOUSE BI_WH SET AUTO_SUSPEND = 60;
ثم راقب تكلفة ذلك المستودع في الأسبوع التالي ضمن WAREHOUSE_METERING_HISTORY. فإن انخفضت الأرصدة ولم يشتكِ أحد، فقد انتهيت.
أين يأتي دور RootSpend
يجري RootSpend هذه المقارنة نيابةً عنك كل يوم. فيوزّع فاتورة Snowflake لكل مستودع ولكل مستخدم، ويحسب حصة الخمول في كل مستودع. وحين يبقى مستودع خاملًا جزءًا كبيرًا من اليوم، تصلك توصية مع الدليل وتوفير تقديري. ولا يغيّر الإعداد بنفسه أبدًا، فتبقى صاحب القرار.
اكتشف مستودعاتك الخاملة
انضم إلى قائمة الانتظار وسنخبرك فور إمكانية ربط Snowflake.
الأسئلة الشائعة
يعتمد ذلك على نوع العمل. فالمستودعات التي تخدم لوحات المعلومات تستفيد غالبًا من البقاء قيد التشغيل بضع دقائق ليبقى تخزينها المؤقت جاهزًا. أما مستودعات المعالجة الدفعية و ELT فيمكنها عادةً التوقّف بعد 60 ثانية. انظر إلى الفواصل بين الاستعلامات قبل أن تغيّر أي شيء.
أحيانًا، وبقدر طفيف. فالمستودع المتوقّف يحتاج إلى الاستئناف، ويفقد تخزينه المؤقت المحلي. وفي المعالجة الدفعية لن تلاحظ ذلك عادةً، أما لوحات المعلومات التي يتصفّحها الناس طوال اليوم فاختبرها أولًا.
نعم. يوزّع RootSpend حوسبة كل يوم على المستودعات انطلاقًا من WAREHOUSE_METERING_HISTORY، ويحسب الجزء الخامل منها. وحين يقضي مستودع جزءًا كبيرًا من وقته خاملًا، يظهر كتوصية مع توفير شهري تقديري.