الحد الأقصى لأداء قاعدة البيانات المفهرسة عند استخدام مجموعات التخزين

أجرى فريق Chrome عددًا من التحسينات المتعلقة بالأداء في تنفيذ IndexedDB (IDB). ومن بين هذه التحسينات نقل المتجر الاحتياطي لكل مثيل إلى تسلسل منفصل (يمكنك اعتباره تقريبًا سلسلة محادثات منفصلة). وهذا يعني أنّ الاستخدام المتزامن لـ IDB أصبح أسرع الآن، سواء من الموقع الإلكتروني نفسه أو من مواقع إلكترونية أخرى. تقدّم هذه المشاركة كل التفاصيل وتوضّح الإجراءات التي يجب اتّخاذها للاستفادة من هذه الميزة، التي تتوفّر من الإصدار 126 من Chrome.

على مستوى المواقع الإلكترونية

إذا كان استخدامك لـ IDB على مستوى مواقع إلكترونية متعددة، ليس عليك اتّخاذ أي إجراء. بعد إجراء عملية التنقّل هذه على مستوى المتصفّح، ونقل ملف التخزين الاحتياطي لكل مثيل من مثيلات قاعدة بيانات IDB إلى تسلسل منفصل، ستلاحظ تحسُّنًا في الأداء بدون الحاجة إلى تنفيذ أي إجراء.

الموقع نفسه

للحصول على هذا التحسين في الأداء لاستخدام الموقع الإلكتروني نفسه، عليك فصل استخدامك لـ IDB إلى عمليات مختلفة، أي مجموعات التخزين. يوضِّح نموذج الرمز البرمجي التالي كيفية تنفيذ ذلك:

const request = indexedDB.open('main', 1);
request.onsuccess = (event) => {
  /* Do stuff with the main instance. */
};

// By default, just use the regular IDB instance.
let idb = indexedDB;
// Open a separate storage bucket if the API is supported.
if ('storageBuckets' in navigator) {
  const bucket = await navigator.storageBuckets.open('logs-bucket');
  // Get access to the storage bucket's IDB instance.
  idb = bucket.indexedDB;
}
const bucketRequest = idb.open('logs', 1);
bucketRequest.onsuccess = (event) => {
  /* Do stuff with the separate instance. */
};

دعم المتصفح

إنّ التحسين في الأداء المذكور في هذه المشاركة هو تحسين تدريجي يمكنك الاستفادة منه عند توفّر واجهة برمجة التطبيقات Storage Buckets API في المتصفّح (بدءًا من الإصدار 122 من Chrome) وعند تقسيم نُسخ قاعدة بيانات IDB، بدءًا من الإصدار 126 من Chrome.

عرض توضيحي

يمكنك الاطّلاع على العرض التوضيحي لهذه الميزة على Glitch. يعرض رمز المصدر المفهوم المستخدَم في مقتطف الرمز السابق. احرص على اتّباع التعليمات الواردة في العرض الترويجي بعناية. في حال فحص نُسخ قاعدة بيانات IDB باستخدام Chrome DevTools، يمكنك الاطّلاع على حزمة التخزين المستخدَمة في قسم اسم الحزمة، والتي تم تمييزها بمربّع أحمر في لقطة الشاشة التالية.

أدوات مطوّري البرامج في Chrome تفحص قسم IndexedDB هناك قاعدتا بيانات للسجلّات، وهما اسم حزمة التخزين

الشكر والتقدير

تمت مراجعة هذه المشاركة من قِبل إيفان ستاد و راشيل أندرو.