عمليات Firestore Pipeline هي ميزة أساسية في إصدار Firestore Enterprise، وهي تستند إلى محرّك طلبات بحث جديد لتوسيع نطاق طلبات البحث الممكنة بشكل كبير. تستخدم عمليات Firestore Pipeline بنية طلب بحث مرنة وطريقة فهرسة مميزة تكون فيها الفهارس اختيارية ولا يتم إنشاؤها تلقائيًا، ما يتيح عمليات استرجاع البيانات المتقدّمة للتطبيقات.
ميزات عمليات Firestore Pipeline
يستخدم إصدار Firestore Enterprise وعمليات Pipeline الجديدة محرّك بحث جديدًا ومتقدّمًا يزيل العديد من القيود الحالية في إصدار Firestore Standard. توفّر عمليات Firestore Pipeline أكثر من 120 ميزة جديدة للاستعلام. تتضمّن عمليات Firestore Pipeline الإمكانات التالية:
بنية قابلة للإنشاء تستند إلى مراحل
يتم إنشاء طلبات البحث في مسار البيانات من خلال تحديد سلسلة من المراحل المتسلسلة التي يتم تنفيذها بالترتيب. يتيح ذلك إجراء عمليات معقّدة، مثل الفلترة حسب نتيجة تجميع، وهو ما لم يكن ممكنًا في السابق.
يعرض المثال التالي طلب بحث في مسار بيانات يعثر على عدد معرّفات المنتجات الفريدة التي تم عرضها خلال الشهر الماضي:
guard let cutoffDate = Calendar.current.date(byAdding: .month, value: -1, to: Date()) else {
return
}
let snapshot = try await db.pipeline()
.collection("productViews")
.where(Field("viewedAt").greaterThan(cutoffDate.timeIntervalSince1970))
.aggregate([Field("productId").countDistinct().as("uniqueProductViews")])
.execute()
إمكانات موسّعة
تقدّم طلب البحث "خطوط الإنتاج" عددًا كبيرًا من الإمكانات الجديدة، بما في ذلك:
- عمليات التجميع: إتاحة دوال تجميع جديدة (مثل
sum(...)وmin(...)وcount_distinct(...)) مع حقول تجميع عشوائية - الفلترة المعقّدة: إتاحة أكثر من 120 دالة جديدة للتعبير عن عبارات
where(...)معقّدة بشكل عشوائي، بما في ذلكregex_match(...)وadd(...)وstr_contains(...)، وكل ذلك بدون متطلبات فهرس ثابتة - عمليات القراءة الجزئية / عمليات العرض: يمكنك استرداد مجموعات فرعية ديناميكية من المستندات باستخدام
select(...)وremove_fields(...)والعديد من مراحل معالجة المستندات الأخرى.
التوافق مع ميزة "التعاون في الوقت الفعلي" و"التعديل بلا إنترنت"
لاستخدام ميزتَي "التعاون في الوقت الفعلي" و"التعاون بلا إنترنت"، يمكن للمطوّرين الاستفادة من عمليات Firestore Core في إصدار Firestore Enterprise.
دمج العميل والأدوات
يتضمّن إصدار Enterprise ميزات متخصّصة للتفاعل مع "طلبات بحث المسار" وإدارتها:
- شرح طلب البحث وتوصيفه: يمكنك استخدام نتائج "شرح طلب البحث" لمعرفة عدد وحدات القراءة أو الكتابة التي يستهلكها طلب البحث وتحليل تنفيذه.
- إحصاءات طلبات البحث: يتيح إصدار Enterprise ميزة "إحصاءات طلبات البحث" التي تساعدك في تحديد الأماكن التي يمكن إنشاء الفهارس فيها لتحسين الأداء والتكلفة من خلال توفير إمكانية الاطّلاع على خصائص أداء طلبات البحث.
- أنواع فهارس جديدة: يمكنك إنشاء فهارس متخصّصة لإصدار Enterprise، بما في ذلك الفهارس المتفرّقة. يتيح أيضًا إنشاء فهارس البحث المتّجه وتعديلها لقواعد بيانات Enterprise.
الاختلافات بين Firestore Standard وFirestore Enterprise
يتمثل الاختلاف التشغيلي الرئيسي بين عمليات Core وPipeline في إدارة الفهرسة، ما يؤثر بشكل مباشر في الأداء والتكلفة.
| Firestore Standard - العمليات الأساسية | Firestore Enterprise - عمليات Core وPipeline | |
| متطلبات الفهرسة | يجب توفّر فهارس لطلبات البحث.
يتم إنشاء فهارس للحقول الفردية تلقائيًا، بينما تعتمد طلبات البحث الأكثر تعقيدًا على الفهارس المركّبة أو فهارس مجموعات المجموعات التي يجب إعدادها يدويًا. |
لا تكون الفهارس مطلوبة، وبالتالي تكون اختيارية لطلبات البحث.
يمكنك تحديد الفهارس حسب الحاجة. يتوافق إصدار Enterprise أيضًا مع مجموعة أكبر من أنواع الفهارس، بما في ذلك الفهارس غير المتفرقة/المتفرقة والفهارس الفريدة. |
| مخاطر الأداء | طلبات البحث المفهرسة: يتناسب الأداء والتكلفة مع حجم مجموعة النتائج. |
طلبات البحث غير المفهرسة: يتناسب الأداء والتكلفة مع حجم مجموعة البيانات. طلبات البحث المفهرسة: يتناسب الأداء والتكلفة مع حجم مجموعة النتائج. ننصحك باستخدام أداتَي "شرح طلب البحث" و"إحصاءات طلب البحث" لإنشاء فهارس وتحسين أداء طلبات البحث وتكلفتها. |
| تأثير تكلفة التخزين | تتحمّل تكلفة إضافية لمساحة التخزين بسبب الفهارس التلقائية والفهارس المركّبة. | يمكنك توفير تكاليف التخزين لأنّه لا يتم إنشاء فهارس تلقائيًا لكل حقل. |
| أساس التكلفة | يتم تحصيل الرسوم مقابل كل عملية قراءة وكتابة وحذف مستند. | يتم تحصيل الرسوم لكل وحدة قراءة (شرائح 4 كيلوبايت) ووحدة كتابة (شرائح 1 كيلوبايت). يؤدي إنشاء إدخالات الفهرس إلى استهلاك وحدات الكتابة.
يمكنك الاطّلاع على الأسعار الجديدة مع بعض الأمثلة. |
| قواعد الأمان | توفّر قواعد الأمان الحماية للمجموعات من خلال التحقّق من أذونات القراءة والكتابة. | توفّر قواعد الأمان الحماية للمجموعات من خلال التحقّق من أذونات القراءة والكتابة. يمكنك الاطّلاع على دليل نموذج البيانات لمعرفة كيفية تصميم بياناتك لتتوافق مع طلبات البحث في المسار. |