تتألف مشاريعك SQL Connect من عنصرَين أساسيَّين في البنية التحتية:
- مثيل خدمة واحد أو أكثرSQL Connect
- مثيل واحد أو أكثر من Cloud SQL لقاعدة بيانات PostgreSQL
يشرح هذا الدليل كيفية إعداد مثيلات خدمة SQL Connect وإدارتها، ويقدّم كيفية إدارة مثيلات Cloud SQL المرتبطة بها.
ضبط المناطق في Firebase SQL Connect
تتطلب المشاريع التي تستخدم SQL Connect إعداد موقع جغرافي.
عند إنشاء مثيل خدمة جديد من SQL Connect، يُطلب منك اختيار موقع جغرافي للخدمة.
المواقع الجغرافية المتاحة
SQL Connect يمكن إنشاء خدمات في المناطق التالية .
- asia-east1
- asia-east2
- asia-northeast1
- asia-northeast2
- asia-northeast3
- asia-south1
- asia-southeast1 (غير متاحة للفترات التجريبية في خطة Spark)
- asia-southeast2 (غير متاحة للفترات التجريبية في خطة Spark)
- australia-southeast1
- australia-southeast2
- europe-central2
- europe-north1
- europe-southwest1
- europe-west1
- europe-west2
- 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
إدارة مثيلات الخدمة SQL Connect
إنشاء الخدمات
لإنشاء خدمة جديدة، استخدِم وحدة تحكّم Firebase أو شغِّل عملية تهيئة المشروع المحلي باستخدام Firebase CLI. تنشئ عمليات سير العمل هذه خدمة جديدة من SQL Connect
توجّهك هذه العمليات أيضًا خلال:
- توفير مثيل جديد من Cloud SQL (المستوى المجاني)
- ربط مثيل حالي من Cloud SQL بـ SQL Connect (خطة Blaze)
إدارة المستخدمين
SQL Connect توفّر أدوات لإدارة وصول المستخدمين تتّبع مبدأ الحد الأدنى من الأذونات المميّزة (منح كل مستخدم أو حساب خدمة الحد الأدنى من الأذونات اللازمة لدعم الوظائف المطلوبة) ومفهوم التحكّم في الوصول المستند إلى الدور (RBAC) (باستخدام أدوار محدّدة مسبقًا لإدارة أذونات قاعدة البيانات، ما يسهّل إدارة الأمان).
لإضافة أعضاء المشروع كمستخدمين يمكنهم تعديل SQL Connect مثيلات في مشروعك، استخدِم وحدة تحكّم Firebase لاختيار أدوار المستخدمين المناسبة المحدّدة مسبقًا.
تمنح هذه الأدوار الأذونات باستخدام "إدارة الهوية وإمكانية الوصول" (IAM). الدور هو مجموعة من الأذونات. عندما تسند دورًا إلى أحد أعضاء المشروع، فإنك تمنحه جميع الأذونات التي يتضمّنها الدور. يمكنك الاطّلاع على مزيد من المعلومات في:
- نظرة عامة على أدوار IAM في Firebase
- القائمة التفصيلية لـ SQL Connect أدوار
اختيار الأدوار لتفعيل عمليات سير عمل معيّنة
تتيح أدوار IAM عمليات سير عمل Firebase CLI لإدارة مشاريع SQL Connect.
| أمر CLI، عملية سير عمل أخرى | الأدوار المطلوبة |
|---|---|
firebase init dataconnect
|
|
firebase deploy -–only dataconnect
|
|
firebase dataconnect:sql:diff
|
|
firebase dataconnect:sql:migrate
|
|
firebase dataconnect:sql:grant
|
|
مراقبة أداء خدمة SQL Connect
معرفة أداء الخدمة
يمكن أن يؤثر أداء كل من خدمة SQL Connect وخدمة Cloud SQL لقاعدة بيانات PostgreSQL في تجربتك.
- بالنسبة إلى خدمة Cloud SQL لقاعدة بيانات PostgreSQL، يُرجى الرجوع إلى الإرشادات العامة في مستندات الحصص والحدود.
بالنسبة إلى خدمة SQL Connect، هناك حصة لطلبات GraphQL، ما يؤثر في المعدّل الذي يمكنك من خلاله طلب الاستعلامات وتنفيذها:
- حصة تبلغ 24,000 طلب GraphQL في الدقيقة لكل مشروع ولكل منطقة
إذا واجهت حدود الحصص هذه، يُرجى التواصل مع فريق دعم Firebase لتعديل الحصة ذات الصلة.
مراقبة أداء الخدمة واستخدامها وفوترتها
يمكنك مراقبة الطلبات والأخطاء ومعدّلات العمليات، على المستوى العالمي وعلى مستوى كل عملية في Firebase وحدة تحكّم.
إدارة مثيلات Cloud SQL
قيود الفترة التجريبية المجانية
لا تتوافق الميزات التالية من Cloud SQL لقاعدة بيانات PostgreSQL مع الفترات التجريبية المجانية في خطتَي Spark أو Blaze:
- مستوى آلة مختلف عن db-f1-micro
- تغيير موارد مثيلك، مثل المنطقة ومساحة التخزين والذاكرة ووحدة المعالجة المركزية
- إصدارات PostgreSQL بخلاف 15.x
- النسخ المتماثلة للقراءة
- عنوان IP الخاص بالمثيل
- الإتاحة العالية (متعددة المناطق): لا تتوافق إلا المثيلات أحادية المنطقة
- إصدار Enterprise Plus
- الاحتفاظ بنسخ احتياطية تلقائيًا
- زيادة مساحة التخزين تلقائيًا
قيود قواعد بيانات الإعداد المؤقتة
عند إضافة SQL Connect إلى مشروعك على Firebase، يمكنك البدء في إنشاء نموذج أولي لنموذج البيانات وتحميل البيانات على الفور، لأنّه سيتم تخزين البيانات في قاعدة بيانات مؤقتة. يُرجى العِلم أنّ توفير مثيل Cloud SQL لقاعدة بيانات PostgreSQL الدائم سيستغرق من 5 إلى 20 دقيقة. سيتم تلقائيًا نقل أي بيانات أولية تحمّلها إلى قاعدة بيانات PostgreSQL الدائمة بعد توفيرها.
تُعدّ قاعدة البيانات المؤقتة هذه رائعة لاستكشاف المخطط وعمليات CRUD.
إذا كنت لا تريد استخدام قاعدة البيانات المؤقتة، انتظِر إلى أن يتم توفير مثيل Cloud SQL.
ليست قاعدة البيانات المؤقتة قاعدة بيانات PostgreSQL ولا توفّر جميع ميزات PostgreSQL.
في ما يلي القيود المهمة:
- يجب أن يكون حجم قاعدة البيانات أقل من 1 ميغابايت
- يجب أن يكون عدد الصفوف لكل جدول أقل من 1,000
- أقل من طلب بحث واحد في الثانية
- لا تتوافق ميزة البحث بملء النص
- لا تتوافق ميزة إنشاء تضمين المتجهات
- لا تتوافق ميزات SQL، مثل
@viewأو@col(dataType)أو SQL الأصلي.
إدارة مثيلات Cloud SQL
بشكل عام، يمكنك إدارة مثيلات Cloud SQL باستخدام Google Cloud Console لتنفيذ عمليات سير العمل التالية.
إيقاف مثيلات Cloud SQL وإعادة تشغيلها
إنشاء قواعد بيانات Cloud SQL وحذفها (ضمن المثيلات)
بدء مثيلات قاعدة بيانات PostgreSQL باستخدام العلامات واستخدام مجموعة متنوعة من الإضافات
مراقبة الأداء باستخدام Cloud SQL ميزات إمكانية الملاحظة في Google Cloud وحدة التحكم
إدارة إمكانية الوصول إلى Cloud SQL وأمانه باستخدام ميزات مثل IAM، Secret Manager، تشفير البيانات ووكيل المصادقة
إضافة مستخدمي Cloud SQL وحذفهم وإدارتهم
بالنسبة إلى عمليات سير العمل هذه وغيرها، يُرجى الرجوع إلى الـ Cloud SQL لمستندات PostgreSQL.
منح أدوار مستخدمي PostgreSQL
SQL Connect توفّر أدوات لإدارة وصول المستخدمين تتّبع مبدأ الحد الأدنى من الأذونات المميّزة (منح كل مستخدم أو حساب خدمة الحد الأدنى من الأذونات اللازمة لدعم الوظائف المطلوبة) ومفهوم التحكّم في الوصول المستند إلى الدور (RBAC) (باستخدام أدوار محدّدة مسبقًا لإدارة أذونات قاعدة البيانات، ما يسهّل إدارة الأمان).
في بعض الحالات، قد تريد الاتصال مباشرةً بقاعدة بيانات SQL Connect التي تديرها Cloud SQL من خلال عميل SQL من اختيارك باستخدام، على سبيل المثال، Cloud Run أو Cloud Functions أو GKE.
لتفعيل عمليات الربط هذه، عليك منح أذونات SQL من خلال:
- إسناد دور IAM
roles/cloudsql.clientإلى المستخدم أو حساب الخدمة اللذين يحتاجان إلى الاتصال بالمثيل، إما من Google Cloud Console أو باستخدام gcloud CLI - منح دور PostgreSQL اللازم باستخدام Firebase CLI
إسناد دور IAM في Cloud SQL
للحصول على معلومات حول استخدام Cloud SQL لقاعدة بيانات PostgreSQL لإسناد دور IAM
roles/cloudsql.client، يُرجى الاطّلاع على
الأدوار والأذونات.
منح أدوار PostgreSQL
باستخدام Firebase CLI، يمكنك منح أدوار PostgreSQL المحدّدة مسبقًا للمستخدمين
أو حسابات الخدمة المرتبطة بمشروعك باستخدام الـ
firebase dataconnect:sql:grant command.
على سبيل المثال، لمنح دور الكاتب، شغِّل هذا الأمر باستخدام الـ Firebase CLI:
firebase dataconnect:sql:grant --role writerللحصول على التفاصيل، يُرجى الرجوع إلى Firebase دليل مرجع CLI.
دمج قواعد بيانات Cloud SQL لقاعدة بيانات PostgreSQL الحالية
يفترض سير عمل توفير قاعدة البيانات وإدارتها التلقائي أنّ مشروعك
يستخدم قواعد بيانات جديدة (greenfield)، وعند استدعاء firebase deploy,
SQL Connect ستعرض تغييرات مخطط قاعدة البيانات التي سيتم إجراؤها و
تنفّذ أي عمليات نقل بعد الموافقة عليها.
بالنسبة إلى قواعد البيانات الحالية (brownfield)، قد يكون لديك سير عمل خاص لإدارة المخططات ولا يمكنك استخدام SQL Connect أدوات لعمليات النقل، ولكنك تريد استخدام قاعدة بياناتك في مشروع SQL Connect للاستفادة من إنشاء حزمة تطوير البرامج (SDK) للأجهزة الجوّالة والويب، والمصادقة المستندة إلى الاستعلام، وإدارة اتصالات العميل، والمزيد.
يقدّم هذا القسم إرشادات حول الحالة الأخيرة: دمج قواعد البيانات الحالية مع SQL Connect.
دمج قاعدة بيانات حالية في مشروع SQL Connect
يتضمّن سير عمل دمج قاعدة بيانات حالية الخطوات التالية بشكل عام:
أثناء إعداد مشروع SQL Connect في وحدة تحكّم Firebase، اختر المثيل وقاعدة البيانات.
باستخدام Firebase CLI، شغِّل الأمر
firebase dataconnect:sql:setupوارفُض خيار السماح لـ SQL Connect بالتعامل مع عمليات نقل SQL.لمنع إجراء تغييرات على مخطط قاعدة البيانات لا يتم تنفيذها من خلال أدواتك المخصّصة، سيُسنِد الأمر
setupأدوار القارئ والكاتب المناسبة، ولكن ليس دورownerيتوفّر مزيد من المعلومات حول الأمرsetupو أدوار PostgreSQL في Firebase دليل مرجع CLI.اكتب مخطط GraphQL لـ SQL Connect يطابق مخطط قاعدة البيانات.
لا يمكنك نشر مخطط GraphQL والاستعلامات والتعديلات إلا عندما يكون مخطط GraphQL متوافقًا مع مخطط PostgreSQL.
لتسهيل مواءمة كلا المخططَين، نوفّر الأمر
firebase dataconnect:sql:diff، الذي سيقدّم لك عبارات SQL المطلوبة لنقل قاعدة بياناتك. يمكنك استخدام هذا الأمر لتحسين مخطط GraphQL بشكل متكرّر ليطابق مخطط قاعدة البيانات الحالي.من الآن فصاعدًا، يمكنك إجراء تغييرات متكرّرة بسرعة على مخطط GraphQL والاستعلامات والتعديلات في بيئة التطوير المحلية. بعد ذلك، عندما تكون راضيًا، يمكنك استخدام
firebase dataconnect:sql:diffللحصول على عبارات نقل SQL التي يمكنك تطبيقها على PostgreSQL باستخدام أدواتك وعمليات سير العمل المخصّصة.بدلاً من ذلك، يمكنك إجراء تغييرات مباشرةً على قاعدة بيانات PostgreSQL أولاً، ثم محاولة نقلها مرة أخرى إلى مخطط GraphQL. ننصحك باتّباع نهج GraphQL أولاً، لأنّه قد تكون هناك حالات لا تتوافق فيها تغييرات المخطط. بالإضافة إلى ذلك، إذا نشرت تغييرات تجعل مخطط PostgreSQL غير متوافق مع استعلامات الموصّل أو التعديل اللذين تم نشرهما، قد تتوقف هذه الموصّلات عن العمل أو تتصرف بشكل غير صحيح.