الخلاصة

  • تعيد التجربة المسبقة للاستعلام على الجداول المحمية على مستوى الصفوف صفراً من البايتات لمنع تسريب المعلومات. هذا الرقم لا يصلح لتقدير تكلفة التنفيذ الفعلي.
  • تبقى بعض إحصاءات الفوترة محجوبة بعد التنفيذ أيضاً. تحويل قيمها الفارغة إلى أصفار يمكن أن يصنع وفورات وهمية في الحسابات الداخلية.

من السهل أن تطلب من مدير قسم خفض فاتورة الحوسبة. الأصعب أن تشرح له لماذا لا يحق له رؤية بعض المعلومات التي تساعده على فهمها. هنا تصبح عبارة «كل فريق مسؤول عن إنفاقه» أقل اكتمالاً مما تبدو في عرض الإدارة.

تتيح حماية الصفوف في BigQuery أن يعمل مستخدمون على جدول واحد، بينما يرى كل منهم الصفوف المسموح له بها فقط. لكن المعلومات المحمية قد تظهر آثارها خارج النتائج نفسها، ومنها مقدار البيانات التي يحتاج الاستعلام إلى معالجتها. ولهذا تعيد التجربة المسبقة، المعروفة باسم dry run، صفراً من البايتات عند تطبيق هذه الحماية.

يوضح دليل تنفيذ الاستعلامات أن الغرض منع الاستدلال على البيانات المحجوبة، وأن نتيجة التجربة في هذه الحالة لا يُعتمد عليها لتقدير التكلفة. التجربة نفسها مجانية ولا تستخدم وحدات تنفيذ الاستعلامات. أما تشغيل الاستعلام فعلياً فيخضع لنموذج الفوترة المطبق عليه. الصفر هنا يحرس باباً؛ ولم يُعيَّن محاسباً للشركة.

ينتهي الاستعلام ولا تنتهي الفجوة

لا يقتصر الحجب على التقدير السابق للتنفيذ. تذكر إرشادات Google لحماية الصفوف أن BigQuery يخفي إحصاءات تشمل البايتات والأقسام المعالجة، والبايتات المحتسبة في الفوترة، ومراحل خطة الاستعلام، عندما تكون الجداول المعنية محمية بهذه الآلية.

وفي عرض INFORMATION_SCHEMA.JOBS تصبح قيمتا total_bytes_billed وtotal_bytes_processed فارغتين للاستعلامات التي تقرأ جداول ذات سياسات للوصول إلى الصفوف. ويعرض التوثيق الرسمي مثالاً لتقدير التكلفة يحصي الأعمال التي ربما تأثرت بالحماية، ثم يقرّ بأنه لا يستطيع الوصول إلى استخدام تلك الأعمال القابل للفوترة. معرفة عدد الأظرف المغلقة لا تكشف مجموع المبالغ داخلها.

لنفترض أن شركة تعدّ تقريراً لتوزيع الإنفاق بين الفرق، وتستبدل كل قيمة مفقودة بصفر قبل الجمع. سيبدو العمل الذي حُجبت إحصاءاته أقل كلفة في الجزء الذي سقط من الحساب. المثال افتراضي، لكن موضع الخطأ محدد: الشركة حوّلت غياب المعلومة إلى غياب الاستهلاك.

قد تكون الحماية قد أدّت مهمتها كاملة، بينما يوزع التقرير الداخلي المكافآت على أساس ناقص. والأسوأ أن الأصفار المرتبة لا تبدو ناقصة؛ إنها تمنح الجدول مظهراً واثقاً جداً.

الاطلاع على الفاتورة صلاحية بيانات أيضاً

طلب صلاحية أعلى هو الرد المعتاد على خانة مغلقة. إلا أن الوثائق تفرّق بين مسارات الاطلاع.

تقول Google إن مالك المشروع يستطيع رؤية البايتات المعالجة في سجلات التدقيق المرتبطة. لكن ذلك لا يفتح بيانات الفوترة الوصفية المحجوبة في تفاصيل العمل، ولا توجد صلاحية أو وظيفة محددة تتيح عرضها هناك. في المقابل، يسمح دور Cloud Billing Viewer بالاطلاع على معلومات الفوترة.

ولهذا تحديداً تنصح Google بتجنب منح هذا الاطلاع للمستخدمين الذين ينبغي أن يروا الصفوف المصفاة وحدها؛ فقد تكشف معلومات الفوترة دلائل على بيانات حساسة. الشفافية المالية تستطيع أن توسّع نافذة البيانات من دون أن تغيّر صفاً واحداً في الجدول.

تحتاج الشركة إذاً إلى تعيين من يملك تفويض مراجعة الحساب الإجمالي، وتحديد مقدار المعلومات التي يعيدها إلى كل فريق. من يدفع ثمن الاستخدام يحتاج إلى إشارات تساعده على الاختيار، لكنه لا يحتاج تلقائياً إلى جميع التفاصيل التي يراها المحاسب المفوّض. تصميم هذه العلاقة عمل تشغيلي له وقت وتكلفة، وليس خياراً تجميلياً في لوحة المتابعة.

الصفوف القليلة ليست قسيمة خصم

ثمة التباس آخر بين ما يستطيع المستخدم رؤيته وما يحتاج النظام إلى معالجته. توضح Google أن مرشحات سياسات الوصول إلى الصفوف لا تشارك في تقليص الأقسام أو كتل الجداول المجمعة التي تُقرأ. إدراج عمود التقسيم داخل سياسة الوصول لا يمنح وحده فائدة استبعاد الأقسام من المعالجة. أما شروط الاستعلام نفسه فهي آلية مختلفة.

إذن لا يمكن تحويل نسبة الصفوف المرئية مباشرة إلى نسبة مماثلة من التكلفة. إذن الوصول يحدد المحتوى المتاح، ولا يكتب جدول الأسعار.

وتفصل صفحة أسعار BigQuery بين الدفع حسب الطلب، المرتبط بالبايتات المعالجة، والدفع وفق السعة الحاسوبية ووقتها. وعند الاستعلام عن بيانات مشتركة، تتحمل حسابات الفوترة المرتبطة بالمشروع الذي ينفذ الاستعلام تكلفته. ملكية الجدول لا تجعل مالكه ممولاً تلقائياً لكل من يستخدمه.

الاطلاع والمعالجة والدفع ثلاث دوائر مختلفة. الصفر الذي يحمي إحداها لا يشرح الدائرتين الأخريين.

تقدم إرشادات ضبط التكلفة حصصاً يومية وحداً أقصى للبايتات المفوترة لكل استعلام في نموذج الدفع حسب الطلب. الوثائق التي فُحصت لا تفصّل جميع أوجه التفاعل بين ذلك الحد والتقدير الصفري الناتج عن حماية الصفوف؛ يلزم تحقق مفوّض للحالة المعنية. لا يكفي الصفر لإثبات أن الحد سيسمح بكل شيء أو أنه سيحمي الميزانية تلقائياً.

لا تتوافر في هذا البحث فاتورة عميل وسجلات توزيعه الداخلي لحساب خسارة محددة؛ قياسها يحتاج إلى تلك السجلات. أما الفرق بين الاستخدام المجهول والاستخدام المعدوم فتثبته قواعد المنتج نفسها.

البداية بسيطة: اترك القيمة المجهولة مجهولة. ثم حدّد من يطابق الإنفاق مع المعلومات المتاحة له بتفويض، ومن يتحمل التكلفة التي لا يمكن إسنادها بدقة، وما التغذية الراجعة التي يتلقاها المستخدم ضمن حدود صلاحياته. يمكن للخصوصية أن تحجب العداد. لا ينبغي أن تحجب صاحب المسؤولية عنه.