تتألف مشاريعك 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). الدور هو مجموعة من الأذونات. عندما تسند دورًا إلى أحد أعضاء المشروع، فإنك تمنح هذا العضو جميع الأذونات التي يتضمّنها الدور. يمكنك الاطّلاع على مزيد من المعلومات في:
- نظرة عامة على أدوار "إدارة الهوية وإمكانية الوصول" في Firebase
- القائمة التفصيلية لـ SQL Connect أدوار
اختيار الأدوار لتفعيل عمليات سير عمل معيّنة
تتيح أدوار "إدارة الهوية وإمكانية الوصول" Firebase عمليات سير عمل لإدارة مشاريعك 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، ما يؤثر في المعدّل الذي يمكنك من خلاله طلب الاستعلامات وتنفيذها:
- حصة تبلغ 24000 طلب 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 ميغابايت
- يجب أن يكون عدد الصفوف لكل جدول أقل من 1000
- أقل من طلب بحث واحد في الثانية
- لا تتوافق ميزة البحث بملء النص
- لا تتوافق ميزة إنشاء تضمين المتجهات
- لا تتوافق ميزات SQL، مثل
@viewأو@col(dataType)أو SQL الأصلي.
إدارة مثيلات Cloud SQL
بشكل عام، يمكنك إدارة مثيلات Cloud SQL باستخدام Google Cloud Console لتنفيذ عمليات سير العمل التالية.
إيقاف مثيلات Cloud SQL وإعادة تشغيلها
إنشاء قواعد بيانات Cloud SQL وحذفها (ضمن المثيلات)
بدء مثيلات قاعدة بيانات PostgreSQL باستخدام العلامات واستخدام مجموعة متنوعة من الإضافات
مراقبة الأداء باستخدام Cloud SQL ميزات إمكانية الملاحظة في Google Cloud وحدة التحكم
إدارة الوصول إلى Cloud SQL وأمانه باستخدام ميزات مثل "إدارة الهوية وإمكانية الوصول" "مدير الأسرار" تشفير البيانات ووكيل المصادقة
إضافة مستخدمي Cloud SQL وحذفهم وإدارتهم
بالنسبة إلى عمليات سير العمل هذه وغيرها، يُرجى الرجوع إلى الـ Cloud SQL لمستندات PostgreSQL.
منح أدوار مستخدم PostgreSQL
SQL Connect توفّر أدوات لإدارة وصول المستخدمين تتّبع مبدأ الحد الأدنى من الأذونات المميّزة (منح كل مستخدم أو حساب خدمة الحد الأدنى من الأذونات اللازمة لدعم الوظائف المطلوبة) ومفهوم التحكّم في الوصول المستند إلى الدور (RBAC) (باستخدام أدوار محدّدة مسبقًا لإدارة أذونات قاعدة البيانات، ما يسهّل إدارة الأمان).
في بعض الحالات، قد تريد الاتصال مباشرةً بقاعدة بيانات SQL Connect التي تديرها Cloud SQL من خلال عميل SQL من اختيارك باستخدام، على سبيل المثال، Cloud Run أو Cloud Functions أو GKE.
لتفعيل عمليات الربط هذه، عليك منح أذونات SQL من خلال:
- إسناد دور "إدارة الهوية وإمكانية الوصول"
roles/cloudsql.clientإلى المستخدم أو حساب الخدمة اللذين يحتاجان إلى الاتصال بالمثيل، إما من وحدة التحكم Google Cloud أو باستخدام gcloud CLI - منح دور PostgreSQL اللازم باستخدام Firebase CLI
إسناد دور "إدارة الهوية وإمكانية الوصول" في Cloud SQL
للحصول على معلومات حول استخدام Cloud SQL لقاعدة بيانات PostgreSQL لإسناد دور 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.اكتب مخطط SQL Connect GraphQL الذي يتطابق مع مخطط قاعدة البيانات.
لا يمكنك نشر مخطط GraphQL والاستعلامات والتعديلات إلا عندما يكون مخطط GraphQL متوافقًا مع مخطط PostgreSQL.
لتسهيل مواءمة كلا المخططَين، نوفّر الأمر
firebase dataconnect:sql:diff، الذي سيقدّم لك عبارات SQL المطلوبة لنقل قاعدة البيانات. يمكنك استخدام هذا الأمر لتحسين مخطط GraphQL بشكل متكرّر ليتطابق مع مخطط قاعدة البيانات الحالي.من الآن فصاعدًا، يمكنك إجراء عمليات تكرار سريعة على مخطط GraphQL والاستعلامات والتعديلات في بيئة التطوير المحلية. بعد ذلك، عندما تكون راضيًا، يمكنك استخدام
firebase dataconnect:sql:diffللحصول على عبارات نقل SQL التي يمكنك تطبيقها على PostgreSQL باستخدام الأدوات والعمليات المخصّصة.بدلاً من ذلك، يمكنك إجراء تغييرات مباشرةً على قاعدة بيانات PostgreSQL أولاً، ثم محاولة نقلها مرة أخرى إلى مخطط GraphQL. ننصحك باتّباع نهج GraphQL أولاً، لأنّه قد تكون هناك حالات لا تتوافق فيها تغييرات المخطط. بالإضافة إلى ذلك، إذا نشرت تغييرات تجعل مخطط PostgreSQL غير متوافق مع طلبات البحث أو التعديلات المنشورة للموصل، فقد تتوقف هذه الموصلات عن العمل أو تتصرف بشكل غير صحيح.