إدارة خدمات وقواعد بيانات "ربط البيانات"

تتألف مشاريع Data Connect من عنصرَين أساسيَين من عناصر البنية التحتية:

  • Data Connect مثيل خدمة واحد أو أكثر
  • مثيل واحد أو أكثر من Cloud SQL for PostgreSQL

يتناول هذا الدليل كيفية إعداد وإدارة مثيلات الخدمة، ويقدّم معلومات حول كيفية إدارة مثيلات Cloud SQL المرتبطة.Data Connect

ضبط المناطق في Firebase Data Connect

تتطلّب المشاريع التي تستخدم Data Connect إعدادات الموقع الجغرافي.

عند إنشاء مثيل خدمة Data Connect جديد، سيُطلب منك اختيار موقع الخدمة.

المواقع الجغرافية التي يتوفّر فيها التطبيق

يمكن إنشاء خدمات Data Connect في المناطق التالية.

  • asia-east1
  • asia-east2
  • asia-northeast1
  • asia-northeast2
  • asia-northeast3
  • asia-south1
  • asia-southeast1
  • asia-southeast2
  • australia-southeast1
  • australia-southeast2
  • europe-central2
  • europe-north1
  • europe-southwest1
  • europe-west1
  • أوروبا الغربية 2
  • europe-west3
  • europe-west4
  • europe-west6
  • europe-west8
  • europe-west9
  • me-west1
  • northamerica-northeast1
  • northamerica-northeast2
  • southamerica-east1
  • southamerica-west1
  • us-central1
  • us-east1
  • us-east4
  • us-south1
  • us-west1
  • us-west2
  • us-west3
  • us-west4
لا تتوافق عملية دمج

إدارة مثيلات الخدمة Data Connect

إنشاء الخدمات

لإنشاء خدمة جديدة، استخدِم وحدة تحكّم Firebase أو شغِّل عملية تهيئة المشروع المحلي باستخدام واجهة سطر الأوامر Firebase. تنشئ مسارات العمل هذه Data Connectخدمة جديدة.

تساعدك هذه المسارات أيضًا في:

  • توفير مثيل Cloud SQL جديد (الفئة بدون تكلفة)
  • ربط مثيل Cloud SQL حالي بخطة Data Connect (Blaze)

إدارة المستخدمين

توفّر Data Connect أدوات لإدارة وصول المستخدمين تتّبع مبدأ الحدّ الأدنى من الأذونات المميزة (منح كل مستخدم أو حساب خدمة الحدّ الأدنى من الأذونات اللازمة لدعم الوظائف المطلوبة) ومفهوم التحكّم في الوصول المستند إلى الدور (RBAC) (مع أدوار محدّدة مسبقًا لإدارة أذونات قاعدة البيانات، ما يسهّل إدارة الأمان).

لإضافة أعضاء المشروع كمستخدمين يمكنهم تعديل Data Connect الآلات الافتراضية في مشروعك، استخدِم وحدة تحكّم Firebase لاختيار أدوار المستخدمين المحدّدة مسبقًا المناسبة.

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

اختيار الأدوار لتفعيل سير عمل محدّد

تتيح أدوار إدارة الهوية وإمكانية الوصول (IAM) استخدام سير عمل واجهة سطر الأوامر (CLI) لإدارة مشاريعك على Data Connect.Firebase

أمر واجهة سطر الأوامر، سير عمل آخر الأدوار المطلوبة
firebase init dataconnect
  • ما مِن أذونات (عند عدم ربط مثيل Cloud SQL)
  • roles/cloudsql.admin (عند إنشاء مثيل Cloud SQL)
firebase deploy -–only dataconnect
  • firebasedataconnect.connectors.*
  • firebasedataconnect.services.*
  • firebasedataconnect.schemas.*
  • roles/cloudsql.admin
firebase dataconnect:sql:diff
  • firebasedataconnect.services.*
  • firebasedataconnect.schemas.*
firebase dataconnect:sql:migrate
  • roles/cloudsql.admin على مثيل Cloud SQL المستهدف
firebase dataconnect:sql:grant
  • roles/cloudsql.admin على مثيل Cloud SQL المستهدف

مراقبة أداء خدمة Data Connect

فهم أداء الخدمة

يمكن أن يؤثر أداء كل من خدمة Data Connect وخدمة Cloud SQL for PostgreSQL في تجربتك.

  • بالنسبة إلى خدمة Cloud SQL for PostgreSQL، يُرجى الرجوع إلى الإرشادات العامة في مستندات الحصص والحدود.
  • بالنسبة إلى خدمة Data Connect، هناك حصة لطلبات GraphQL، ما يؤثر في المعدّل الذي يمكنك من خلاله طلب وتنفيذ طلبات البحث:

    • حصة إجمالية لكل مشروع تبلغ 6,000 طلب في الدقيقة من أدوات ربط تطبيقات العميل.
    • حصة إجمالية لكل مشروع تبلغ 6,000 طلب في الدقيقة من Firebase Admin SDK ومن واجهة REST API
    • حصة تبلغ 1200 طلب في الدقيقة لكل مستخدم في هذه الحالة، يعني الحد الأقصى لكل مستخدم أنّ الحد ينطبق على الطلبات التي يتم إرسالها من عنوان IP واحد، سواء من تطبيق عميل أو من Firebase Admin SDK أو من واجهة REST API.

    إذا واجهت حدود الحصة هذه، يُرجى التواصل مع فريق دعم Firebase لتعديل الحصة ذات الصلة.

مراقبة أداء الخدمة واستخدامها وفوترتها

يمكنك مراقبة الطلبات والأخطاء ومعدّلات العمليات على مستوى العالم ولكل عملية في وحدة تحكّم Firebase.

إدارة مثيلات Cloud SQL

قيود الفترة التجريبية المجانية

لا تتوفّر ميزات Cloud SQL for PostgreSQL التالية في الفترة التجريبية المجانية لمدة 3 أشهر:

  • إصدارات PostgreSQL غير 15.x
  • استخدام مثيلات Cloud SQL for PostgreSQL الحالية
  • فئة آلة مختلفة عن db-f1-micro
  • تغيير موارد الجهاز الافتراضي، مثل مساحة التخزين والذاكرة ووحدة المعالجة المركزية
  • نسخ طبق الأصل للقراءة
  • عنوان IP الخاص بالجهاز الافتراضي
  • إتاحة عالية (مناطق متعدّدة)؛ لا تتوفّر سوى مثيلات المنطقة الواحدة
  • إصدار Enterprise Plus
  • الاحتفاظ بنسخ احتياطية تلقائيًا
  • زيادة مساحة التخزين تلقائيًا

إدارة مثيلات Cloud SQL

بشكل عام، يمكنك إدارة مثيلات Cloud SQL باستخدام Google Cloudوحدة التحكّم لتنفيذ مهام سير العمل التالية.

  • إيقاف مثيلات Cloud SQL وإعادة تشغيلها
  • إنشاء قواعد بيانات Cloud SQL وحذفها (داخل المثيلات)
  • بدء مثيلات قاعدة بيانات PostgreSQL باستخدام العلامات واستخدام مجموعة متنوعة من الإضافات
  • تتبُّع الأداء باستخدام ميزات المراقبة في Cloud SQL في وحدة تحكّمGoogle Cloud
  • إدارة إمكانية الوصول إلى Cloud SQL وأمانه باستخدام ميزات مثل "إدارة الهوية وإمكانية الوصول" وSecret Manager وتشفير البيانات والخادم الوكيل للمصادقة
  • إضافة مستخدمي Cloud SQL وحذفهم وإدارتهم

بالنسبة إلى سير العمل هذا وغيره، يُرجى الرجوع إلى مستندات Cloud SQL for PostgreSQL.

منح أدوار مستخدمي PostgreSQL

توفّر Data Connect أدوات لإدارة وصول المستخدمين تتّبع مبدأ الحدّ الأدنى من الأذونات المميزة (منح كل مستخدم أو حساب خدمة الحدّ الأدنى من الأذونات اللازمة لدعم الوظائف المطلوبة) ومفهوم التحكّم في الوصول المستند إلى الدور (RBAC) (مع أدوار محدّدة مسبقًا لإدارة أذونات قاعدة البيانات، ما يسهّل إدارة الأمان).

في بعض الحالات، قد تحتاج إلى الاتصال مباشرةً بقاعدة بيانات Cloud SQL التي تديرها Data Connect من خلال برنامج SQL من اختيارك، وذلك باستخدام Cloud Run أو Cloud Functions أو GKE مثلاً.

لتفعيل عمليات الربط هذه، عليك منح أذونات SQL من خلال:

  • منح roles/cloudsql.client دور إدارة الهوية وإمكانية الوصول (IAM) للمستخدم أو حساب الخدمة الذي يحتاج إلى الاتصال بالجهاز الظاهري، إما من وحدة تحكّم Google Cloud أو باستخدام gcloud CLI
  • منح دور PostgreSQL اللازم باستخدام واجهة سطر الأوامر Firebase

إسناد دور Cloud SQL IAM

للحصول على معلومات حول استخدام Cloud SQL for PostgreSQL لتعيين دور roles/cloudsql.client في "إدارة الهوية وإمكانية الوصول"، راجِع الأدوار والأذونات.

منح أدوار PostgreSQL

باستخدام واجهة سطر الأوامر Firebase، يمكنك منح أدوار PostgreSQL محدّدة مسبقًا للمستخدمين أو حسابات الخدمة المرتبطة بمشروعك باستخدام الأمر firebase dataconnect:sql:grant.

على سبيل المثال، لمنح دور "الكاتب"، نفِّذ الأمر التالي في واجهة سطر الأوامر:

firebase dataconnect:sql:grant --role writer

للحصول على التفاصيل، يُرجى الرجوع إلى دليل مرجع واجهة سطر الأوامر.

دمج قواعد بيانات Cloud SQL for PostgreSQL الحالية

يفترض سير العمل التلقائي لتوفير قواعد البيانات وإدارتها أنّ مشروعك يستخدم قواعد بيانات جديدة (لم يتم إنشاؤها من قبل)، وعندما تستدعي firebase deploy، ستعرض Data Connect تغييرات مخطط قاعدة البيانات التي سيتم إجراؤها، وستنفّذ أي عمليات نقل بيانات بعد موافقتك.

بالنسبة إلى قواعد البيانات الحالية (القديمة)، قد يكون لديك سير عمل خاص بك لإدارة المخططات ولا يمكنك استخدام أدوات Data Connect لعمليات نقل البيانات، ولكنك تريد استخدام قاعدة البيانات في مشروع Data Connect للاستفادة من إنشاء حزمة SDK للأجهزة الجوّالة والويب، وإذن الوصول المستند إلى طلب البحث، وإدارة اتصال العميل، وغير ذلك.

يقدّم هذا القسم إرشادات حول الحالة الأخيرة، أي دمج قواعد البيانات الحالية مع Data Connect.

.

دمج قاعدة بيانات حالية في مشروع Data Connect

تتضمّن خطوات دمج قاعدة بيانات حالية عادةً ما يلي:

  1. أثناء Data Connect إعداد المشروع في وحدة تحكّم Firebase، اختَر المثيل وقاعدة البيانات.
  2. باستخدام واجهة سطر الأوامر Firebase، شغِّل الأمر firebase dataconnect:sql:setup وارفض خيار السماح لأداة Data Connect بمعالجة عمليات نقل بيانات SQL.

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

  3. اكتب Data Connectمخطط GraphQL يطابق مخطط قاعدة البيانات.

    لا يمكنك نشر مخطط GraphQL والاستعلامات والتعديلات إلا عندما يكون مخطط GraphQL متوافقًا مع مخطط PostgreSQL.

    لتسهيل عملية مطابقة المخططَين، نوفّر الأمر firebase dataconnect:sql:diff الذي يزوّدك بعبارات SQL المطلوبة لنقل قاعدة البيانات. يمكنك استخدام ذلك لتحسين مخطّط GraphQL بشكل متكرّر ليتطابق مع مخطّط قاعدة البيانات الحالي.

  4. من الآن فصاعدًا، يمكنك تكرار عملية إنشاء مخطط GraphQL وطلبات البحث والتعديل بسرعة في بيئة التطوير المحلية. بعد ذلك، يمكنك استخدام firebase dataconnect:sql:diff للحصول على عبارات نقل بيانات SQL التي يمكنك تطبيقها على PostgreSQL باستخدام الأدوات والمسارات المخصّصة.

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