حجم مساحة التخزين

توضّح هذه الصفحة حجم التخزين للمستندات والحقول وإدخالات الفهرس في Cloud Firestore.

يمكنك الاطّلاع على تكاليف مساحة التخزين هذه في صفحة الأسعار.

حجم السلسلة

يتم احتساب أحجام السلاسل النصية على أنّها عدد بايتات ترميز UTF-8 + 1.

يتم تخزين ما يلي كسلاسل:

  • اسم المجموعة
  • أسماء الحقول
  • قيم حقل السلسلة (بما في ذلك _id)

على سبيل المثال:

  • يستخدم اسم المجموعة tasks 5 بايت + 1 بايت، أي ما مجموعه 6 بايت.
  • يستخدم اسم الحقل description 11 بايت + 1 بايت، أي ما مجموعه 12 بايت.

حجم قيمة الحقل

يوضّح الجدول التالي حجم قيم الحقول حسب النوع.

النوع الحجم
مصفوفة مجموع أحجام قيمه
قيمة منطقية ‫1 بايت
البيانات الثنائية طول البايت + 1 للنوع الفرعي غير العام (غير 0)
التاريخ 8 بايت
مزدوج 8 بايت
Double128 16 بايت
عدد صحيح 32 بت 4 بايت
عدد صحيح 64 بت (طويل) 8 بايت
عنصر مجموع أحجام السلاسل لكل اسم حقل وأحجام كل قيمة حقل في العنصر المضمّن
مفتاح الحد الأدنى ‫1 بايت
Max Key ‫1 بايت
خالية ‫1 بايت
تعبير عادي (طول النمط + 1) + (طول الخيارات + 1)
الطابع الزمني 8 بايت
سلسلة عدد وحدات البايت المرمّزة بترميز UTF-8 + 1

على سبيل المثال، سيستخدم حقل منطقي باسم done 6 بايتات:

  • ‫5 بايتات لاسم الحقل done
  • بايت واحد للقيمة المنطقية

حجم المستند

حجم المستند هو مجموع ما يلي:

هذا المثال مخصّص لمستند في المجموعة tasks:

{
  "_id": "my_task_id",
  "type": "Personal",
  "done": false,
  "priority": 1,
  "description": "Learn Cloud Firestore"
}

يبلغ إجمالي حجم الحقول 78 بايت:

اسم الحقل وقيمته حجم الحقل بالبايت
"_id": "my_task_id" ‫11 لقيمة السلسلة الخاصة بالحقل
"type": "Personal" ‫14
5 لاسم الحقل + 9 لقيمة السلسلة الخاصة بالحقل
"done": false ‫6
5 لاسم الحقل + 1 للقيمة المنطقية للحقل
"priority": 1 ‫17
9 لاسم الحقل + 4 لقيمة العدد الصحيح 32 بت للحقل
"description": "Learn Cloud Firestore" ‫34
12 لاسم الحقل + 22 لقيمة السلسلة الخاصة بالحقل

إذًا، يبلغ حجم المستند 6 + 78 + 48 = 132 بايت:

  • ‫6 لاسم المجموعة
  • ‫78 بايت للحقول
  • 48 بايت إضافيًا

حجم إدخال الفهرس

حجم إدخال الفهرس في الفهرس هو مجموع ما يلي:

لنفترض أنّ لديك مستندًا في المجموعة tasks:

{
  "_id": "my_task_id",
  "type": "Personal",
  "done": false,
  "priority": 1,
  "description": "Learn Cloud Firestore"
}

بالنسبة إلى فهرس في الحقلَين done وpriority (كلاهما تصاعدي)، يبلغ الحجم الإجمالي لإدخال الفهرس في هذا الفهرس 70 بايت:

  • ‫6 بايتات لاسم المجموعة tasks
  • ‫11 بايت لقيمة الحقل _id
  • بايت واحد لقيمة الحقل المنطقي
  • 4 بايتات لقيمة حقل العدد الصحيح 32 بت
  • 48 بايت إضافيًا

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

تغيير حجم إدخال حدث تغيير البث

حجم حدث تغيير البيانات هو مجموع ما يلي:

  • مجموع حجم السلسلة لاسم المجموعة (x2).
  • بالنسبة إلى أحداث الإدراج والتعديل لمستند:
    • مجموع حجم السلسلة لكل اسم حقل في fullDocument أو updateDescription (باستثناء _id)
    • مجموع حجم كل قيمة حقل في fullDocument أو updateDescription (بما في ذلك _id)
  • في حال انطباق ذلك على المعاملات التي تتضمّن مستندات متعدّدة، سيتمّ إضافة 24 بايت إلى lsid وtxnNumber.
  • 92 بايت إضافيًا

إليك مثال على حدث إدراج لمستند في مجموعة المهام:

{
  "_id": { <Resume Token> },
  "operationType": "insert",
  "clusterTime": <Timestamp>,
  "wallTime": <ISODate>,
  "ns": {
     "db": "db",
     "coll": "tasks"
  },
  "documentKey": {
     "_id": "my_task_id"
  },
  "fullDocument": {
     "_id": "my_task_id",
     "description": "Learn Cloud Firestore"
  },
}

يبلغ إجمالي حجم حدث تغيير البيانات 149 بايت:

  • ‫92 بايت للبيانات الوصفية العامة
  • ‫12 بايت استنادًا إلى اسم المجموعة tasks (6 بايت) * 2
  • ‫11 بايت لقيمة الحقل _id
  • ‫12 بايت لاسم الحقل description
  • ‫22 بايت لقيمة الحقل description

حجم إدخال فهرس البحث النصي

حجم إدخال فهرس البحث النصي في الفهرس هو مجموع ما يلي:

  • حجم السلسلة لاسم المجموعة
  • حجم قيمة _id
  • مجموع البايتات من قيم الحقول المفهرسة (x2)
  • ‫48 بايت إضافية للبيانات الوصفية العامة

إليك مثالاً على حدث إدراج لمستند يحتوي على _id my_task_id في المجموعة tasks:

{
    "_id": "my_place",
     "type": "Restaurant",
     "visited": false,
     "priority": 1,
     "location": GeoPoint(longitude, latitude)
}

يبلغ إجمالي حجم إدخال فهرس البحث النصي على description 105 بايت استنادًا إلى ما يلي:

  • ‫6 بايتات لاسم المجموعة tasks
  • ‫11 بايت لقيمة _id
  • ‫44 بايت، استنادًا إلى 22 بايت لحقل description مضروبًا في 2
  • ‫48 بايت إضافية للبيانات الوصفية العامة

حجم إدخال الفهرس الجغرافي المكاني

حجم إدخال فهرس جغرافي مكاني في الفهرس هو مجموع ما يلي:

  • حجم السلسلة لاسم المجموعة
  • حجم قيمة _id
  • ‫128 بايت لكل نقطة جغرافية مفهرسة
  • ‫48 بايت إضافية للبيانات الوصفية العامة

إليك مثالاً على حدث إدراج لمستند يحتوي على _id my_place في المجموعة places:

{
    "_id": "my_place",
     "type": "Restaurant",
     "visited": false,
     "priority": 1,
     "location": GeoPoint(longitude, latitude)
}

يبلغ الحجم الإجمالي لإدخال فهرس جغرافي مكاني على location 192 بايت استنادًا إلى ما يلي:

  • ‫7 بايتات لاسم المجموعة places
  • ‫9 بايتات لمعرّف المستند
  • ‫128 بايت لحقل location
  • ‫48 بايت إضافية للبيانات الوصفية العامة

الخطوات التالية

مزيد من المعلومات حول الأسعار