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