الملخص
يُقيَّم عزل قواعد البيانات كثيراً من خلال معدل الإنجاز أو قائمة قصيرة من الحالات الشاذة. ولا يثبت أي من النهجين بمفرده أن التطبيق يحافظ على ثوابته. تتخذ هذه المراجعة التحليلية من عزل اللقطة، ونظريته في التسلسل، وعزل اللقطة القابل للتسلسل في PostgreSQL أساساً لفحص ثابت حجز يتألف من سجلين. ويبين حصر كامل لفضاء حالات صغير كيف يمكن لكتابات غير متقاطعة أن تنتهك قيداً حتى عندما تقرأ كل معاملة لقطة متسقة. ونميز بين قابلية التسلسل وقابلية التسلسل الصارمة، وبين إعادة محاولة المعاملة والتكرار الآمن للتأثيرات الخارجية. ويحدد نموذجان معلنان كمياً احتمال فشل ناجم عن انسحاب متزامن وتضخيم العمل الناجم عن الإجهاضات. وتدعم هذه النماذج الاستدلال بشأن المفاضلات، لا الادعاءات المتعلقة بأداء إصدار حالي من قاعدة بيانات. وتربط طريقة التقييم الناتجة فحوص الصحة بحدود المعاملات الفعلية، وسلوك إعادة المحاولة، والحالة التي ترصدها التطبيقات فعلياً.
البدء بخاصية للبيانات
لنفترض أن فريقاً يجب أن يحتفظ بمراجع متاح واحد على الأقل. يشير سجلان إلى ما إذا كان المراجع A والمراجع B متاحين. ولا يجوز لمعاملة أن تجعل مراجعها غير متاح إلا إذا بقي مراجع آخر متاحاً. ومن ثم فإن الثابت خاصية لزوج السجلين، لا لأي صف منهما منفرداً. ويمكن لقاعدة البيانات أن تحمي كل تحديث فردي من الفساد، مع السماح في الوقت نفسه بوصول الزوج إلى حالة غير صالحة.
يمكن تعميم المثال على حدود السعة، والعلاقات بين الحسابات، وقواعد القبول. وقبل اختيار مستوى العزل، ينبغي للمصمم تحديد الحالات المسموح بها وإثبات أن كل معاملة تحافظ عليها عندما تُنفذ بمفردها. ومن دون هذه الخطوة الأولى، قد يكون حتى التنفيذ التسلسلي المثالي خاطئاً. يستطيع العزل تقييد التداخل؛ لكنه لا يستطيع إصلاح معاملة ينتهك منطقها التتابعي قاعدة العمل أصلاً.
ما تقدمه الأدبيات المختارة
يبين Berenson وزملاؤه لماذا لا تكفي قائمة صغيرة من ظواهر SQL المسماة لتوصيف سلوك العزل، ويحددون لعزل اللقطة دوراً دقيقاً في هذا النقاش. ويطور Fekete وزملاؤه شروطاً يمكن في ظلها للمعاملات المعزولة باللقطات أن تنتج تنفيذات غير قابلة للتسلسل، مع التشديد على الاستدلال بشأن بنية تبعيات التطبيق. ويصف Ports وGrittner هندسة عزل اللقطة القابل للتسلسل في PostgreSQL، بما في ذلك تتبع التعارضات، واعتبارات الذاكرة المحدودة، والمعالجة الخاصة للمعاملات المخصصة للقراءة فقط.
تتناول ورقة PostgreSQL التاريخية التنفيذ والتجارب الواردة فيها، لا كل إصدار أو إعداد لاحق. ونستشهد بها من أجل الآلية والالتزامات الهندسية، بدلاً من نقل نتائج اختباراتها المعيارية. وتدفع هذه المصادر مجتمعة إلى سؤال أقوى من مجرد التساؤل عما إذا كانت قاعدة البيانات تستخدم تخزيناً متعدد الإصدارات: ما سجلات التنفيذ المتزامنة التي يمكن للتطبيق رصدها؟ [1], [2], [3]
أصغر شاهد على انحراف الكتابة
نبدأ بحالة يكون فيها كل من A وB متاحاً. تقرأ المعاملة T_A السجلين وتعتزم تصفير حالة إتاحة A؛ وتقرأ المعاملة T_B الحالة الأولية نفسها وتعتزم تصفير حالة إتاحة B. ومجموعتا الكتابة فيهما غير متقاطعتين. ولا يلزم أن تُجهض سياسة ترفض فقط الكتابات المتزامنة المتداخلة أياً من المعاملتين. ويؤدي تثبيتهما معاً إلى عدم بقاء أي مراجع متاح.
لم تكن لقطة أي من المعاملتين غير متسقة داخلياً، ولم تكتب أي منهما فوق صف الأخرى. وينشأ الفشل لأن كل قرار اعتمد على قيمة غيرتها المعاملة الأخرى. وفي أي من الترتيبين التتابعيين، سترى المعاملة الثانية أن جعل مراجعها غير متاح لم يعد مسموحاً. ولذلك لا توجد للنتيجة المتزامنة عملية تنفيذ تسلسلي مكافئة لهاتين المعاملتين. ويقارن المثال المحدود المقدم بين هذين الترتيبين التسلسليين والتنفيذ ذي اللقطات المتداخلة، ويفحص الثابت مباشرة.
التبعيات تفسر أكثر مما تفسره تعارضات الصفوف
يصف رسم التبعيات البياني قيود الترتيب بين المعاملات. وقد تفرض قراءة إصدار أقدم قيداً على ترتيب معاملة بالنسبة إلى معاملة أخرى تنشئ إصداراً أحدث؛ وهذه تبعية مضادة من القراءة إلى الكتابة. وفي شاهد المراجعين، تقرأ كل معاملة قيمة تبطلها الأخرى، مما ينشئ دورة. وتُخفي مجموعتا الكتابة غير المتقاطعتين هذه الدورة عن فحص بسيط لتعارض الكتابة مع الكتابة.
لا تنشئ خوارزمية التسلسل المستخدمة في بيئة إنتاج بالضرورة كل حافة ولا تبحث في رسم بياني كامل. وقد يجهض الكشف التحفظي سجلات تنفيذ كانت ستصبح في نهاية المطاف قابلة للتسلسل. ولذلك فإن عدد الإجهاضات ليس عدداً لانتهاكات فعلية للثابت جرى منعها، ولا تقديراً مباشراً لاحتمال سجلات التنفيذ غير الآمنة في عبء العمل. بل هو ناتج عن الخوارزمية، والتوقيت، والمعلومات المحتفظ بها. ويتطلب تقييم التنفيذ فصل هذه الآلية التحفظية عن معيار التبعية المجرد. [2], [3]
نموذج مُنشأ للانسحاب المتزامن
نوسع مثال المراجعين إلى n من المراجعين المتاحين. تأخذ المعاملات البالغ عددها n جميعها اللقطة الأولية نفسها؛ وتقرر كل منها مستقلةً الانسحاب باحتمال p، ولا تكتب إلا في صفها الخاص. عندما يكون n اثنين على الأقل، يرى كل انسحاب مراجعاً آخر كان متاحاً في البداية. ويُخرق الثابت النهائي إذا وفقط إذا انسحب جميع المراجعين، مما يعطي احتمالاً يساوي p مرفوعاً إلى القوة n في هذا البناء المتزامن عمداً.
عندما يساوي p النصف، تكون احتمالات الفشل لمراجعين اثنين وأربعة وثمانية هي الربع، وجزءاً من ستة عشر، وجزءاً من مئتين وستة وخمسين، على الترتيب. وهذه ليست صيغة عامة لانحراف الكتابة. فهي تعتمد على تطابق اللقطات الأولية، واستقلال القرارات، والثابت المحدد، وغياب آلية حماية إضافية. وتكمن فائدة الشكل في إظهار الافتراضات؛ أما تقدير الاحتمال في بيئة نشر فيتطلب نموذجاً للتداخل ولخيارات المعاملات الفعلية.
ما توفره قابلية التسلسل وما لا توفره
إذا كانت الحالة الأولية تحقق الثابت وكانت كل معاملة تحافظ عليه عند تنفيذها منفردة، فإن تنفيذاً تسلسلياً مكافئاً يحافظ عليه بالاستقراء. وهذه وسيلة قوية لاختزال الاستدلال المتزامن إلى استدلال تتابعي. وتعتمد هذه النتيجة على أن تشمل حدود المعاملات كل قراءة وكتابة ذات صلة، وعلى التزام جميع العمليات المشاركة بالعقد.
لا تقتضي قابلية التسلسل وحدها أن يحترم الترتيب التسلسلي الأسبقية الزمنية الفعلية لعمليات العميل غير المتداخلة. وتضيف قابلية التسلسل الصارمة هذا الشرط. ولا ينبغي لتقرير يكتفي بعبارة «قابل للتسلسل» أن يَعِد ضمنياً بقراءة عابرة للمناطق تعكس فوراً أحدث حالة بعد كتابة جرى الإقرار بها. كما أن ضمان قاعدة البيانات لا يمتد تلقائياً إلى ذاكرة تخزين مؤقت، أو فهرس بحث، أو رسالة خارجية أُرسلت بالفعل. وتحتاج هذه المكونات إلى حجة مستقلة بشأن إتاحة رؤية البيانات والتعافي.
إعادة المحاولة جزء من دلالات التطبيق
يجب عادةً إعادة محاولة المعاملة المجهضة انطلاقاً من قراءة جديدة للحالة ذات الصلة. فتكرار الكتابة النهائية وحدها يُبقي القرار المتقادم ويقوض الغرض من الإجهاض. وإذا أرسلت المعاملة رسالة بريد إلكتروني أو أجرت عملية تحصيل عبر خدمة خارجية قبل التثبيت، فقد يؤدي تشغيل دالة التطبيق كاملةً مرة أخرى إلى تكرار ذلك التأثير، حتى لو جرى التراجع عن معاملة قاعدة البيانات نفسها.
لذلك يميز التصميم الآمن عند إعادة المحاولة بين الحساب المبدئي، والحالة المثبتة، والتسليم الخارجي. ويمكن لصندوق صادر دائم أن يسجل تأثيراً مقصوداً في المعاملة نفسها التي تسجل تغيير الحالة، لكن التسليم يظل بحاجة إلى هوية وعقد متوافق لدى المستهلك. وتوضح هذه الصلة لماذا لا يمكن مراجعة العزل والتأثيرات التي تحدث مرة واحدة بالضبط بصورة مستقلة عند حدود التطبيق. فقد يكون عدد المعاملات الناجحة صحيحاً، بينما يتلقى المستخدم تأكيدين لعملية واحدة مقبولة.
لتضخيم العمل الناجم عن الإجهاض مقام
في نموذج توضيحي مستقر إحصائياً، نفترض أن كل محاولة تُجهض بصورة مستقلة باحتمال a، وأن المحاولة الناجحة تنهي حلقة إعادة المحاولة. ويكون العدد المتوقع للمحاولات لكل نجاح واحد مقسوماً على حاصل طرح a من واحد. وعند احتمال إجهاض يساوي النصف، يستهلك النجاح المنطقي محاولتين في المتوسط؛ وعند تسعة أعشار يستهلك عشر محاولات. ويعرض الشكل عدد المحاولات، لا الزمن المنقضي أو كلفة وحدة المعالجة المركزية.
ليست إعادة المحاولة في الواقع مستقلة. فقد تظل المحاولات الفورية متزامنة، وقد تستهلك الإجهاضات عملاً أقل من عمليات التثبيت، كما يغير التراجع الزمني كلاً من الحمل المعروض وزمن الاستجابة. ومع ذلك، يحدد النموذج التزاماً في إعداد التقارير: ينبغي أن يحتسب معدل الإنجاز العمليات المنطقية المكتملة، بينما تشمل قياسات الموارد جميع المحاولات. وقد يجعل احتساب المعاملات المجربة عملاً مفيداً نظاماً كثير الإجهاضات يبدو سريعاً، مع أنه يحقق تقدماً ضئيلاً للمستخدمين.
القراءات القائمة على المسندات ومستويات العزل المختلطة
يستخدم مثال المراجعين صفين محددين بالاسم، لكن كثيراً من الثوابت يتعلق بغياب صف أو بإجمالي عدد الصفوف التي تحقق مسنداً. وقد تُبطَل صلاحية قرار معاملة تتحقق مما إذا كان أي موضع لا يزال شاغراً بسبب إدراج متزامن. وحماية الصفوف التي صادف أن أعادها الاستعلام وحدها لا تحمي القرار بالضرورة.
تُعقد مستويات العزل المختلطة أيضاً برهاناً كان سيكون واضحاً لولاها. فإذا استخدمت معاملة مساراً قابلاً للتسلسل بينما تجاوزته عملية كتابة أخرى بموجب عقد أضعف، فلا يستطيع التطبيق استنتاج سجل تنفيذ عالمي قابل للتسلسل اعتماداً فقط على وسم المعاملة الأولى. ويجب أن يشمل حصر المعاملات مهام الصيانة، وعمليات الاستيراد الإدارية، وعمال الخلفية. وحد البرهان ذي الصلة هو مجموعة العمليات التي يمكنها تغيير الثابت، لا المجموعة الفرعية التي تصادف أنها تستخدم نقطة النهاية المفضلة للتطبيق. [1], [3]
تصميم اختبار يتمحور حول ثوابت قابلة للدحض
أنشئ سجلات تنفيذ صغيرة مع حواجز بين القراءات والكتابات لضمان حدوث القرارات المتداخلة بصورة موثوقة. وتحقق بتوكيد برمجي من ثابت البيانات بعد كل بادئة مثبتة وبعد التعافي من التعطل. وسجل إصدار قاعدة البيانات، وإعداد عزل المعاملات، والمخطط، وقيود التفرد، وخطط الاستعلام عند صلتها، وحلقة إعادة المحاولة كاملةً. وأدرج حالة ضابطة تستخدم عمداً السياسة الأضعف وتُظهر الشاهد المعروف.
ثم غيّر التزاحم، والانحراف في التوزيع، وطول المعاملة، وانتقائية المسند، مع الإبقاء على عبء العمل المنطقي نفسه. وأبلغ عن النجاحات المفيدة، وأسباب الإجهاض، وكلفة المحاولة، وزمن الاستجابة من البداية إلى النهاية. فالنتيجة السريعة التي تغير الثابت أو تسقط الطلبات الفاشلة بصمت تمثل عبء عمل مختلفاً. ويصبح الادعاء العلمي أقوى عندما يستطيع القارئ إعادة بناء الفشل والآلية التي تستبعده معاً، بدلاً من مجرد رصد عدد إجمالي كبير من العمليات التي اجتازت الاختبار.
الخاتمة: العزل ضمان قابل للتركيب
تتمثل الفائدة المركزية لقابلية التسلسل في تقليل تعقيد الاستدلال، شريطة أن يعرّف التطبيق معاملات تتابعية صحيحة وأن يبقي كل تأثير ذي صلة ضمن حدود تُدار صراحةً. أما اتساق اللقطة، ومنع التعارض على مستوى الصف، ونجاح اختبار إجهاد، فكل منها حقيقة أضيق نطاقاً.
يبين الشاهد المشروح ونموذج الاحتمال كيف يمكن لثابت صغير ودقيق أن يكشف فجوة تغفلها اختبارات معدل الإنجاز الواسعة. ويبين نموذج إعادة المحاولة لماذا قد يغير تصحيح تلك الفجوة مقدار العمل المطلوب لكل نتيجة مفيدة. ويجب أن يحافظ التقييم القابل للدفاع عنه على الثابت وأن يحاسب على ذلك العمل في الوقت نفسه. وتحول هذه النظرة المجمعة وسم العزل إلى عقد تطبيق قابل للاختبار.
نُفذ محلياً · نطاق محدود
انحراف الكتابة في اللقطات مقارنة بكلا الترتيبين التسلسليين
معاملتان على صفوف غير متقاطعة في آلة حالات مبسطة؛ لم يُشغَّل أي محرك قاعدة بيانات.
اجتاز 3 من التوكيدات البرمجية الفحص. تتحقق هذه الفحوص من المثال المقدم، لا من الأنظمة المستشهد بها.
فحص الشاهد المسجل
{
"snapshot_final": [
0,
0
],
"serial_finals": [
[
0,
1
],
[
1,
0
]
]
}تنزيل جميع الأمثلة القابلة للتنفيذ البالغ عددها 20قراءة نتائج الفحص كاملة
نموذج تحليلي معلن
أربع معادلات وافتراضات صريحة
(1) ثابت إتاحة المراجعين؛ لا يجوز لمعاملة تسلسلية تصفير البت الخاص بها إلا عندما يكون المجموع المتبقي واحداً على الأقل.
(2) تقرأ جميع المعاملات لقطة واحدة يكون فيها الجميع متاحين، وتتخذ قرارات مستقلة باحتمال انسحاب p، وتثبت كتابات غير متقاطعة من دون آلية حماية إضافية.
(3) احتمال إجهاض a مستقل ومستقر إحصائياً، مع إعادة محاولات غير محدودة حتى النجاح الأول. هذا تضخيم للعمل، وليس تنبؤاً بزمن الاستجابة.
(4) الحفاظ بالاستقراء ضمن تسلسل من المعاملات التي تحافظ شروطها السابقة واللاحقة على الثابت؛ وينقل التكافؤ هذه الخاصية إلى سجل تنفيذ قابل للتسلسل.
أمثلة مُنشأة · بيانات قابلة لإعادة الإنتاج
فحص الحجة الكمية
حُسبت هذه المنحنيات من النماذج المعلنة. وليست مشاهدات من الدراسات المستشهد بها. ويرفق بكل شكل بياناته العددية ونسخته المتجهية.


أي دليل يجيب عن أي سؤال؟
| الآلية | ما تحميه | الالتزام المتبقي |
|---|---|---|
| لقطة متسقة | رؤية المعاملة القائمة على الإصدارات | تبعيات القرار بين السجلات |
| فحص تعارض الكتابة مع الكتابة | التحديثات المتزامنة المتداخلة | انحراف الكتابة مع كتابات غير متقاطعة والمسندات |
| تنفيذ قابل للتسلسل | التكافؤ مع ترتيب تسلسلي ما | صحة المنطق التتابعي والتأثيرات الخارجية |
| حلقة إعادة المحاولة | محاولة لاحقة في نهاية المطاف بعد الإجهاض | قرارات مبنية على قراءات جديدة، وحمل محدود، وتأثيرات لا يغير تكرارها النتيجة |
بروتوكول تحقق مقترح
هذا تصميم تقييم مقترح. لم يُجرَ أي اختبار معياري لنظام إنتاج أو عتاد. وتوثَّق النماذج المحدودة المنفذة بصورة منفصلة في الفحوص القابلة للتنفيذ.
- صغ ثابت التطبيق كتوكيد برمجي مستقل عن تنفيذ المعاملة.
- شغّل الشاهد المؤلف من معاملتين باستخدام حواجز صريحة، واحتفظ بالترتيب الكامل للأحداث.
- تحقق من كلا الترتيبين التسلسليين بوصفهما ضابطاً إيجابياً.
- كرر باستخدام عقد العزل المقصود، وتحقق من أن المعاملتين في سجلات التنفيذ غير الآمنة لا يمكن تثبيتهما معاً في الاختبار.
- احقن إجهاضات عند كل حد لتأثيرات التطبيق، وافحص هويات العمليات المنطقية.
- قس العمليات المنطقية الناجحة، وجميع المحاولات، وزمن الاستجابة، واستخدام الموارد في ظل عبء العمل نفسه.
ما تثبته المصادر الأولية
Hal Berenson, Phil Bernstein, Jim Gray et al. · 1995 [1]
الإسهام. لا تكفي القائمة التقليدية للحالات الشاذة لتوصيف سلوكيات عزل مهمة؛ ويتطلب عزل اللقطة وصفاً أكثر صراحة.
حدود الاستدلال. لا ينبغي مساواة المصطلحات التاريخية بإعدادات منتج حالي.
موضع الاستشهاد في المصدر. الملخص ومناقشة مستويات العزل.
Alan Fekete, Dimitrios Liarokapis, Elizabeth O'Neil et al. · 2005 [2]
الإسهام. يحدد الاستدلال القائم على التبعيات متى يمكن للتطبيقات التي تعمل تحت عزل اللقطة أن تُظهر سجلات تنفيذ غير قابلة للتسلسل.
حدود الاستدلال. لا تثبت النظرية العامة تلقائياً ثوابت تطبيق اعتباطي.
موضع الاستشهاد في المصدر. المقال الأصلي، والمبرهنة 2.1، وأمثلة انحراف الكتابة (نسخة تستضيفها جامعة مينيسوتا).
Dan R. K. Ports, Kevin Grittner · 2012 [3]
الإسهام. يتتبع SSI في PostgreSQL التعارضات ويمكنه إجهاض تنفيذات قد تكون غير آمنة، مع معالجة الاعتبارات العملية المتعلقة بالذاكرة والمعاملات المخصصة للقراءة فقط.
حدود الاستدلال. لا تنتقل نتائج التنفيذ التاريخي وأعباء العمل إلى الإصدارات الحالية من دون تغيير.
موضع الاستشهاد في المصدر. العرض العام ومناقشة التنفيذ في ورقة VLDB.
حدود هذا التحليل
- يختص شكل الاحتمال بانسحابات مستقلة متزامنة؛ ولا يمثل معدل حالات شاذة مقاساً.
- يغفل نموذج إعادة المحاولة الاعتماد المتبادل، وإعادة المحاولات المحدودة، وتفاوت كلفة المحاولات، والتراجع الزمني.
- لا يختبر الشاهد المحدود مثيلاً مثبتاً من PostgreSQL أو أي منتج حالي لقواعد البيانات.
- جرى التحقق من هوية مصدر Fekete وملخصه؛ ولم يُسترجع نصه الأصلي الكامل في هذه الجلسة.
مراجعة تحليلية مركزة لثلاثة مصادر أولية تأسيسية مختارة، مع أمثلة أصلية مشروحة. وليست مسحاً شاملاً أو منهجياً للأدبيات حتى 2026. وتُسجل ملاحظات الوصول إلى المصادر وإصداراتها مع قائمة المراجع.
أسئلة من شأنها تغيير الاستنتاج
- ما عمليات الكتابة أو التأثيرات الخارجية التي تقع خارج حدود المعاملة المقصودة؟
- كيف يتفاعل تتبع التبعيات وسياسة إعادة المحاولة في ظل تزاحم ذي توزيع منحرف؟
- أي ثوابت للتطبيق تتطلب ترتيباً زمنياً فعلياً إلى جانب قابلية التسلسل؟
المراجع
- Hal Berenson, Phil Bernstein, Jim Gray et al.. A critique of ANSI SQL isolation levels. Proceedings of the 1995 ACM SIGMOD international conference on Management of data - SIGMOD '95 (1995). 10.1145/223784.223785.
- Alan Fekete, Dimitrios Liarokapis, Elizabeth O'Neil et al.. Making snapshot isolation serializable. ACM Transactions on Database Systems (2005). 10.1145/1071610.1071615.
- Dan R. K. Ports, Kevin Grittner. Serializable snapshot isolation in PostgreSQL. Proceedings of the VLDB Endowment (2012). 10.14778/2367502.2367523.
الوصول إلى المصدر [1]. السجل الأولي، والملخص، ونصوص مختارة متاحة؛ وليس تدقيقاً شاملاً للنص الكامل أو المواد التكميلية.
الوصول إلى المصدر [2]. المقال الأصلي المنشور الذي تستضيفه جامعة مينيسوتا؛ جرى فحص المبرهنة 2.1 ومناقشة انحراف الكتابة. وهذا فحص لنصوص مختارة، لا تدقيق كامل للبرهان.
الوصول إلى المصدر [3]. السجل الأولي، والملخص، ونصوص مختارة متاحة؛ وليس تدقيقاً شاملاً للنص الكامل أو المواد التكميلية.
جرى التحقق من هويات المراجع بمقارنتها مع Crossref وسجلات الناشر الأصلي أو المؤلف أو المؤسسة. وتصف ملاحظات الوصول إلى المصادر والإصدارات أدناه نطاق الفحص؛ وهو ليس تدقيقاً شاملاً للنصوص الكاملة.
التأليف والمنشأ
كتبه وراجعه تقنياً مراجعة ذاتية Codex (ذكاء اصطناعي). وتحدد المراجع الباحثين الأصليين؛ أما البنى التحليلية وتصميمات التقييم المقترحة فتُنسب إلى هذا المقال.
الأغلفة رسوم مفاهيمية باستخدام ImageGen. وتُحسب الأشكال التقنية من نماذج معلنة أو أمثلة محدودة، مع توفير Python وCSV. وهي ليست قياسات لمنتجات منشورة في بيئات تشغيل أو اختبارات معيارية للأداء أُعيد إنتاجها.
ليس لهذه المسودة المحلية سجل مراجعة أقران مستقلة أو قبول في مجلة. وتفحص الأمثلة القابلة للتنفيذ ذات النطاق المحدود النماذج الصغيرة المعلنة؛ ولا تمثل تحققاً صورياً من الأنظمة المستشهد بها.
