أساسيات GCP و Azure للسحابات المتعددة
خدمات البيانات والذكاء الاصطناعي في GCP: BigQuery، Pub/Sub و Vertex AI
تُعتبر خدمات البيانات والذكاء الاصطناعي من Google غالباً الأفضل في فئتها. فهم هذه الخدمات أمر بالغ الأهمية لمقابلات المهندسين المعماريين في الشركات المركزة على البيانات.
BigQuery: مستودع بيانات بدون خادم
BigQuery هي خدمة التحليلات الرائدة في GCP وعامل تمييز رئيسي.
الهندسة المعمارية والميزات الرئيسية
ما يجعل BigQuery فريداً:
- بدون خادم: لا إدارة للبنية التحتية
- فصل الحوسبة والتخزين: ادفع مقابل ما تستعلم عنه
- تخزين عمودي: محسّن للتحليلات
- محرك تنفيذ Dremel: تنفيذ استعلام متوازي بشكل هائل
- مقياس بيتابايت: التعامل مع مجموعات بيانات ضخمة
نماذج التسعير
| النموذج | الأفضل لـ | التسعير |
|---|---|---|
| عند الطلب | أحمال العمل المتغيرة | $6.25/TB ممسوح |
| معدل ثابت (Editions) | أحمال العمل المتوقعة | $2,000/100 slot/شهر |
| التوسع التلقائي | متغير مع خط أساس | خط أساس + slots دفعة |
سؤال المقابلة: BigQuery مقابل Redshift
س: "متى توصي بـ BigQuery على Amazon Redshift؟"
ج:
| العامل | BigQuery | Redshift |
|---|---|---|
| الإدارة | بدون خادم (لا كتل) | إدارة الكتل |
| التوسع | تلقائي، فوري | يدوي، توقف لتغيير الحجم |
| التسعير | لكل TB ممسوح | لكل ساعة عقدة |
| الأفضل لـ | استعلامات متغيرة/عشوائية | أحمال عمل متوقعة، ثابتة |
| البث | أصلي ($0.05/GB) | تكامل Kinesis مطلوب |
| تكامل ML | BigQuery ML مدمج | تكامل SageMaker |
اختر BigQuery عندما:
- أنماط استعلام غير معروفة أو متغيرة
- الفريق يريد صفر عبء تشغيل
- الحاجة لقدرات ML مدمجة
- تحليلات البث في الوقت الحقيقي مطلوبة
أفضل ممارسات BigQuery
تحسين التكلفة:
-- استخدم التقسيم لتقليل البيانات الممسوحة
CREATE TABLE myproject.mydataset.events
PARTITION BY DATE(event_timestamp)
CLUSTER BY user_id
AS SELECT * FROM raw_events;
-- معاينة تكلفة الاستعلام قبل التشغيل
-- انقر على "More" → "Query Settings" → "Maximum bytes billed"
تحسين الأداء:
- قسّم حسب أعمدة التاريخ/الطابع الزمني
- جمّع حسب أعمدة الترشيح عالية الكاردينالية
- تجنب SELECT * (حدد الأعمدة)
- استخدم العروض المادية للتجميعات الشائعة
Cloud Pub/Sub: الرسائل والبث
خدمة الرسائل المُدارة من Google، مشابهة لـ AWS SNS + SQS معاً.
الخصائص الرئيسية
| الميزة | Pub/Sub | مكافئ AWS |
|---|---|---|
| النموذج | نشر-اشتراك | SNS + SQS معاً |
| الترتيب | اختياري (لكل مفتاح) | SQS FIFO |
| الاحتفاظ | 7 أيام افتراضي (قابل للتكوين حتى 31) | 14 يوم كحد أقصى (SQS) |
| Dead Letter | مدعوم | مدعوم |
| Push/Pull | كلاهما | SNS push، SQS pull |
أنماط هندسة Pub/Sub
الهندسة المعمارية المدفوعة بالأحداث:
الناشرون → الموضوع → الاشتراكات → المشتركون
├── اشتراك Pull → Cloud Functions
├── اشتراك Push → Cloud Run
└── اشتراك BigQuery → BigQuery (مباشر)
اشتراكات BigQuery (فريدة لـ GCP): اكتب الرسائل مباشرة إلى BigQuery بدون كود.
سؤال المقابلة: ترتيب الرسائل
س: "كيف تضمن ترتيب الرسائل في Pub/Sub؟"
ج: استخدم مفاتيح الترتيب:
# الناشر
from google.cloud import pubsub_v1
publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path(project, topic)
# الرسائل بنفس ordering_key مرتبة
publisher.publish(
topic_path,
data=b"message",
ordering_key="user-123" # جميع رسائل user-123 مرتبة
)
مهم: الترتيب لكل اشتراك، لكل مفتاح ترتيب. الرسائل بمفاتيح مختلفة قد تصل بترتيب مختلف.
Dataflow: معالجة البث والدفعات
خدمة Apache Beam المُدارة من GCP.
متى تستخدم Dataflow
| السيناريو | Dataflow | BigQuery |
|---|---|---|
| التحويل في الوقت الحقيقي | نعم | محدود (إدراج البث) |
| النوافذ المعقدة | نعم | لا |
| ETL عبر الخدمات | نعم | محدود |
| خط أنابيب استدلال ML | نعم | BigQuery ML فقط |
| التكلفة على نطاق واسع | أعلى | أقل للتحليلات الصرفة |
أنماط Dataflow الشائعة
ETL البث:
Pub/Sub → Dataflow (تحويل، إثراء، نافذة) → BigQuery
معالجة الدفعات:
Cloud Storage (CSV/JSON) → Dataflow → BigQuery/Bigtable
Vertex AI: منصة ML الموحدة
منصة ML المُدارة من Google، منافسة لـ AWS SageMaker.
مكونات Vertex AI
| المكون | الغرض | مكافئ AWS |
|---|---|---|
| Workbench | دفاتر مُدارة | SageMaker Studio |
| Training | تدريب نموذج مخصص | SageMaker Training |
| Prediction | خدمة النموذج | SageMaker Endpoints |
| Pipelines | تنسيق سير عمل ML | SageMaker Pipelines |
| Feature Store | إدارة الميزات | SageMaker Feature Store |
| Model Garden | نماذج مدربة مسبقاً | SageMaker JumpStart |
| Gemini API | نماذج الأساس | Bedrock |
سؤال المقابلة: Vertex AI مقابل SageMaker
س: "ما هي نقاط قوة Vertex AI مقارنة بـ SageMaker؟"
ج:
نقاط قوة Vertex AI:
- تكامل أوثق مع BigQuery (تدريب مباشر من الجداول)
- AutoML أكثر نضجاً (إرث ML من Google)
- نماذج Gemini للذكاء الاصطناعي التوليدي
- نموذج تسعير أبسط
- تكامل أفضل مع مجموعة البيانات (BigQuery، Dataflow)
نقاط قوة SageMaker:
- نظام بيئي أكبر من الخوارزميات المدمجة
- المزيد من خيارات النشر (edge، batch، async)
- حوكمة متعددة الحسابات أفضل
- ميزات MLOps أكثر نضجاً
- تكامل طرف ثالث أوسع
شجرة قرار هندسة البيانات
حمل عمل تحليلات/BI؟
└── نعم → BigQuery (بدون خادم، فعال من حيث التكلفة)
└── تحتاج تحويل في الوقت الحقيقي؟ → Dataflow + BigQuery
الرسائل/الأحداث؟
└── pub/sub بسيط → Pub/Sub
└── تحتاج ترتيب قوي → Pub/Sub مع مفاتيح الترتيب
└── مباشر إلى BigQuery → اشتراك BigQuery
ML/AI؟
└── بيانات جدولية في BigQuery → BigQuery ML
└── تدريب مخصص → Vertex AI Training
└── نماذج الأساس → Gemini API / Model Garden
نصيحة احترافية: خدمات بيانات GCP متكاملة بعمق. النمط الشائع هو: Pub/Sub → Dataflow → BigQuery → Vertex AI. هذا التكامل أقوى من مكافئات AWS.
بعد ذلك، سنستكشف خدمات Azure الأساسية. :::