تتوفّر البيانات الأوّلية لتقرير تجربة المستخدِم في Chrome (CrUX) على BigQuery، وهي قاعدة بيانات على Google Cloud. يتطلب استخدام BigQuery مشروعًا على Google Cloud Platform ومعرفة أساسية بلغة SQL.
في هذا الدليل، تعرَّف على كيفية استخدام BigQuery لكتابة طلبات بحث في مجموعة بيانات CrUX لاستخراج نتائج مفيدة عن حالة تجارب المستخدِمين على الويب:
- فهم كيفية تنظيم البيانات
- كتابة طلب بحث أساسي لتقييم أداء مصدر
- كتابة طلب بحث متقدّم لتتبُّع الأداء بمرور الوقت
تنظيم البيانات
ابدأ بالاطّلاع على طلب بحث أساسي:
SELECT COUNT(DISTINCT origin) FROM `chrome-ux-report.all.202206`
لتشغيل الاستعلام، أدخله في محرر الاستعلام واضغط على الزر "Run query" (تشغيل الاستعلام):
هناك جزءان لهذا الاستعلام:
SELECT COUNT(DISTINCT origin)
تعني طلب عدد مصادر البيانات في الجدول. بوجهٍ عام، يكون عنوانا URL جزءًا من المصدر نفسه إذا كانا يتضمّنان المخطّط والمضيف والمنفذ نفسهما.يحدِّد
FROM chrome-ux-report.all.202206
عنوان الجدول المصدر الذي يتألّف من ثلاثة أجزاء:- اسم مشروع Cloud
chrome-ux-report
الذي يتم تنظيم جميع بيانات CrUX ضمنه - مجموعة البيانات
all
، التي تمثل البيانات في جميع البلدان - الجدول
202206
، السنة والشهر للبيانات بالتنسيق YYYYMM
- اسم مشروع Cloud
تتوفّر أيضًا مجموعات بيانات لكل بلد. على سبيل المثال، لا يمثّل chrome-ux-report.country_ca.202206
سوى بيانات تجربة المستخدِم التي نشأت في كندا.
ضمن كل مجموعة بيانات، تتوفّر جداول لكل شهر منذ تشرين الأول (أكتوبر) 2017. يتم نشر الجداول الجديدة للشهر التقويمي السابق بانتظام.
يحتوي هيكل جداول البيانات (المعروف أيضًا باسم المخطّط) على ما يلي:
- المصدر، مثل
origin = 'https://www.example.com'
، الذي يمثّل التوزيع المجمَّع لتجربة المستخدم لكل الصفحات على هذا الموقع الإلكتروني - سرعة الاتصال في وقت تحميل الصفحة، على سبيل المثال،
effective_connection_type.name = '4G'
- نوع الجهاز، على سبيل المثال
form_factor.name = 'desktop'
- مقاييس تجربة المستخدم ذاتها
يتم تنظيم بيانات كل مقياس على شكل صفيف من العناصر. في أسلوب JSON، سيظهر الرمز first_contentful_paint.histogram.bin
على النحو التالي:
[
{"start": 0, "end": 100, "density": 0.1234},
{"start": 100, "end": 200, "density": 0.0123},
...
]
يحتوي كلّ فاصل على وقتَي بدء وانتهاء بالمللي ثانية وكثافة تمثّل النسبة المئوية لتجارب المستخدِمين خلال هذا النطاق الزمني. بعبارة أخرى، فإنّ نسبة% 12.34 من تجارب FCP لهذا المصدر والسرعة والجهاز الافتراضيين تقل عن 100 ملي ثانية. مجموع كل كثافات الحاويات هو %100.
تصفّح بنية الجداول في BigQuery
تقييم الأداء
يمكننا استخدام معرفتنا بمخطط الجدول لكتابة استعلام يستخرج بيانات الأداء هذه.
SELECT
fcp
FROM
`chrome-ux-report.all.202206`,
UNNEST(first_contentful_paint.histogram.bin) AS fcp
WHERE
origin = 'https://web.dev' AND
effective_connection_type.name = '4G' AND
form_factor.name = 'phone' AND
fcp.start = 0
النتيجة هي 0.01115
، ما يعني أنّ نسبة% 1.115 من تجارب المستخدمين على هذا المصدر تتراوح بين 0 و100 ملي ثانية على شبكة الجيل الرابع وعلى الهاتف. إذا أردنا تعميم طلب البحث على أي اتصال وأي نوع جهاز، يمكننا حذفه من عبارة WHERE
واستخدام دالة التجميع SUM
لجمع كل كثافات السلة الخاصة بها:
SELECT
SUM(fcp.density)
FROM
`chrome-ux-report.all.202206`,
UNNEST(first_contentful_paint.histogram.bin) AS fcp
WHERE
origin = 'https://web.dev' AND
fcp.start = 0
والنتيجة هي 0.05355
، أو% 5.355 على جميع الأجهزة وأنواع الاتصال. يمكننا تعديل الطلب قليلاً وإضافة كثافات جميع الحِزم التي تقع ضمن نطاق "الوقت القصير" لوقت عرض اللقطة الذي يتراوح بين 0 و1000 ملي ثانية:
SELECT
SUM(fcp.density) AS fast_fcp
FROM
`chrome-ux-report.all.202206`,
UNNEST(first_contentful_paint.histogram.bin) AS fcp
WHERE
origin = 'https://web.dev' AND
fcp.start < 1000
يمنحنا هذا 0.6977
. بعبارة أخرى، تُعتبر نسبة% 69.77 من تجارب المستخدمين في FCP على web.dev "سريعة" وفقًا لتعريف نطاق FCP.
تتبع الأداء
بعد أن استخرجنا بيانات الأداء عن مصدر معيّن، يمكننا مقارنتها بالبيانات السابقة المتوفّرة في الجداول القديمة. لإجراء ذلك، يمكننا إعادة كتابة عنوان الجدول لشهر سابق، أو يمكننا استخدام بنية أحرف البدل للاستعلام عن جميع الأشهر:
SELECT
_TABLE_SUFFIX AS yyyymm,
SUM(fcp.density) AS fast_fcp
FROM
`chrome-ux-report.all.*`,
UNNEST(first_contentful_paint.histogram.bin) AS fcp
WHERE
origin = 'https://web.dev' AND
fcp.start < 1000
GROUP BY
yyyymm
ORDER BY
yyyymm DESC
نرى هنا أنّ النسبة المئوية لتجارب "التحميل إلى ذاكرة التخزين المؤقت للفيديو" السريعة تختلف ببضعة نقاط مئوية كل شهر.
yyyymm | fast_fcp |
---|---|
202206 | 69.77% |
202205 | 70.71% |
202204 | 69.04% |
202203 | 69.82% |
202202 | 67.75% |
202201 | 58.96% |
202112 | 41.69% |
... | ... |
باستخدام هذه التقنيات، يمكنك البحث عن أداء مصدر معيّن واحتساب النسبة المئوية للتجارب السريعة وتتبُّعها بمرور الوقت. كخطوة تالية، حاوِل البحث عن مصدرَين أو أكثر ومقارنة أدائهما.
الأسئلة الشائعة
في ما يلي بعض الأسئلة الشائعة حول مجموعة بيانات CrUX في BigQuery:
متى يمكنني استخدام BigQuery بدلاً من أدوات أخرى؟
لا تحتاج إلى BigQuery إلا عندما يتعذّر عليك الحصول على المعلومات نفسها من أدوات أخرى، مثل لوحة بيانات CrUX و"إحصاءات سرعة الصفحة". على سبيل المثال، يتيح لك BigQuery تقسيم البيانات بطرق مفيدة، بل يمكنك أيضًا دمجها مع مجموعات بيانات عامة أخرى، مثل HTTP Archive لإجراء بعض عمليات التنقيب في البيانات المتقدّمة.
هل هناك أيّ قيود على استخدام BigQuery؟
نعم، يتمثل أهم قيد في أنّه لا يمكن للمستخدمين تلقائيًا طلب بيانات بسعة 1 تيرابايت في الشهر فقط. وبعد ذلك، سيتم تطبيق السعر العادي الذي يبلغ 5 دولار أمريكي لكل تيرابايت.
أين يمكنني الاطّلاع على مزيد من المعلومات عن BigQuery؟
اطّلِع على مستندات BigQuery للحصول على مزيد من المعلومات.