ISAM
طريقة الوصول التسلسلي المفهرس ( ISAM ) هي طريقة لإنشاء ملفات بيانات الحاسوب وصيانتها ومعالجتها، بحيث يمكن استرجاع السجلات بشكل تسلسلي أو عشوائي باستخدام مفتاح واحد أو أكثر. ويتم الاحتفاظ بفهارس لحقول المفاتيح لتحقيق استرجاع سريع لسجلات الملفات المطلوبة في الملفات المفهرسة . طورت شركة IBM في الأصل طريقة ISAM لأجهزة الحاسوب المركزية ، ولكن تتوفر تطبيقات لها لمعظم أنظمة الحاسوب.
يُستخدم مصطلح ISAM للإشارة إلى عدة مفاهيم ذات صلة:
- منتج IBM ISAM والخوارزمية التي يستخدمها. [ 1 ]
- نظام قاعدة بيانات يستخدم فيه مطور التطبيقات واجهة برمجة التطبيقات مباشرةً للبحث في الفهارس لتحديد مواقع السجلات في ملفات البيانات. في المقابل، تستخدم قاعدة البيانات العلائقية مُحسِّن الاستعلام الذي يختار الفهارس تلقائيًا. [ 2 ]
- خوارزمية فهرسة تسمح بالوصول إلى البيانات بشكل تسلسلي أو باستخدام المفاتيح. [ 3 ] تستخدم معظم قواعد البيانات شكلاً من أشكال شجرة B لهذا الغرض، على الرغم من أن تطبيقات IBM ISAM و VSAM الأصلية لم تفعل ذلك.
- بشكل عام، أي فهرس لقاعدة البيانات. تستخدم الفهارس من قبل جميع قواعد البيانات تقريبًا.
منظمة
في نظام ISAM، تُنظَّم البيانات في سجلات تتألف من حقول ذات طول ثابت، مُخزَّنة في الأصل بشكل تسلسلي وفقًا لتسلسل المفاتيح. تحتوي مجموعة ثانوية من السجلات، تُعرف بالفهارس ، على مؤشرات لموقع كل سجل، مما يسمح باسترجاع السجلات الفردية دون الحاجة إلى البحث في مجموعة البيانات بأكملها. يختلف هذا عن قواعد البيانات الملاحية المعاصرة ، حيث كانت مؤشرات السجلات الأخرى مُخزَّنة داخل السجلات نفسها. يتمثل التحسين الرئيسي في ISAM في أن الفهارس صغيرة الحجم ويمكن البحث فيها بسرعة، وربما بالكامل في الذاكرة، مما يسمح لقاعدة البيانات بالوصول فقط إلى السجلات التي تحتاجها. لا تتطلب التعديلات الإضافية على البيانات تغييرات في البيانات الأخرى، بل في الجدول والفهارس المعنية فقط.
عند إنشاء ملف ISAM، تُثبَّت عُقد الفهرس، ولا تتغير مؤشراتها أثناء عمليات الإضافة والحذف اللاحقة (يتغير محتوى عُقد الأوراق فقط). ونتيجةً لذلك، إذا تجاوزت عمليات الإضافة إلى إحدى عُقد الأوراق سعتها، تُخزَّن السجلات الجديدة في سلاسل فائضة. إذا كان عدد عمليات الإضافة في جدول ما يفوق بكثير عدد عمليات الحذف، فقد تتضخم هذه السلاسل الفائضة تدريجيًا، مما يؤثر على الوقت اللازم لاسترجاع سجل. [ 4 ]
يمكن بسهولة إنشاء قواعد البيانات العلائقية باستخدام إطار عمل ISAM مع إضافة منطق للحفاظ على صحة الروابط بين الجداول. عادةً ما يتم فهرسة الحقل المستخدم كرابط، وهو المفتاح الخارجي ، لتسهيل البحث السريع. على الرغم من أن هذه الطريقة أبطأ من تخزين مؤشر البيانات ذات الصلة مباشرةً في السجلات، إلا أنها تعني أيضًا أن التغييرات في البنية المادية للبيانات لا تتطلب أي تحديث للمؤشرات، حيث يظل الإدخال صالحًا.
يُعدّ ISAM سهل الفهم والتطبيق، إذ يعتمد أساسًا على الوصول المباشر إلى ملف قاعدة البيانات. لكنّ المقابل هو أن كل جهاز عميل يُدير اتصاله الخاص بكل ملف يصل إليه. وهذا بدوره يُؤدي إلى احتمالية إدخال بيانات متضاربة في تلك الملفات، ما يُؤدي إلى حالة غير متناسقة لقاعدة البيانات. ولمنع ذلك، تُوفّر بعض تطبيقات ISAM [ 5 ] [ 6 ] وظيفة قفل الملف بالكامل أو السجلات الفردية . ويُعرّض قفل سجلات متعددة لخطر حدوث حالة جمود ما لم يتم اتباع آلية صارمة لمنع الجمود . وعادةً ما تُحلّ مشكلات القفل والجمود بإضافة إطار عمل عميل-خادم يُنظّم طلبات العملاء ويُحافظ على ترتيبها. وتُوفّر بعض تطبيقات ISAM للعميل-الخادم أنظمة إدارة معاملات ACID كاملة. [ 5 ] هذه هي المفاهيم الأساسية لنظام إدارة قواعد البيانات (DBMS)، وهو طبقة عميل فوق مخزن البيانات الأساسي.
استُبدلت ISAM في شركة IBM بمنهجية تُسمى VSAM (طريقة الوصول إلى التخزين الافتراضي). وفي وقت لاحق، طورت IBM نظام SQL/DS ثم Db2 الذي تروج له كنظام إدارة قواعد البيانات الرئيسي لديها . VSAM هي طريقة الوصول المادي المستخدمة في Db2.
أوبن في إم إس
يستخدم نظام التشغيل OpenVMS نظام الملفات Files-11 بالتزامن مع خدمات إدارة السجلات (RMS). توفر RMS طبقة إضافية بين التطبيق والملفات الموجودة على القرص ، مما يضمن طريقة موحدة لتنظيم البيانات والوصول إليها عبر لغات البرمجة من الجيل الثالث والرابع. توفر RMS أربع طرق مختلفة للوصول إلى البيانات: الوصول التسلسلي، والوصول النسبي برقم السجل، والوصول إلى عنوان ملف السجل، والوصول المفهرس.
لا تُحقق طريقة الوصول المفهرس لقراءة البيانات أو كتابتها النتيجة المرجوة إلا إذا كان الملف مُنظمًا كملف ISAM باستخدام المفاتيح المُحددة مسبقًا. يتميز الوصول إلى البيانات عبر هذه المفاتيح بسرعة فائقة. يدعم النظام استخدام مفاتيح متعددة، ومفاتيح متداخلة، وضغط المفاتيح داخل جداول التجزئة. كما يُوفر أداةً لتعريف/إعادة تعريف المفاتيح في الملفات الموجودة. يُمكن حذف السجلات، مع العلم أن عملية "جمع البيانات المهملة" تتم عبر أداة منفصلة.
اعتبارات التصميم
صمّم مهندسو IBM نظام ISAM لاستخدام الحد الأدنى من ذاكرة الحاسوب . وكان المقابل هو زيادة انشغال قناة الإدخال/الإخراج ووحدة التحكم والقرص. يتكون ملف ISAM من مجموعة من سجلات البيانات ومستويين أو ثلاثة مستويات من الفهرسة. يحتوي فهرس المسار على أعلى مفتاح لكل مسار قرص على الأسطوانة التي يفهرسها. يخزن فهرس الأسطوانة أعلى مفتاح على الأسطوانة، وعنوان القرص لفهرس المسار المقابل. يحتوي الفهرس الرئيسي الاختياري ، والذي يُستخدم عادةً للملفات الكبيرة فقط، على أعلى مفتاح على مسار فهرس الأسطوانة وعنوان القرص لفهرس تلك الأسطوانة. بمجرد تحميل الملف، لا تُنقل سجلات البيانات؛ بل تُوضع السجلات المُدرجة في منطقة فائض منفصلة . لتحديد موقع سجل بواسطة مفتاح، يتم البحث في الفهارس على القرص بواسطة برنامج قناة معقد ذاتي التعديل . [ 7 ] أدى ذلك إلى زيادة وقت انشغال القناة ووحدة التحكم والقرص. مع زيادة أحجام الذاكرة الفعلية والافتراضية في الأنظمة اللاحقة، اعتُبر هذا غير فعال، وتم تطوير VSAM لتغيير المفاضلة بين استخدام الذاكرة ونشاط القرص.
تسبب استخدام ISAM لبرامج القنوات ذاتية التعديل لاحقًا في صعوبات لدعم CP-67 لنظام التشغيل OS/360 ، حيث كان CP-67 ينسخ برنامج القناة بالكامل إلى ذاكرة ثابتة عند بدء عملية الإدخال/الإخراج ويترجم العناوين الافتراضية إلى عناوين حقيقية. [ 8 ]
تطبيقات على نمط ISAM
- مدير قاعدة بيانات Advantage Database Server
- بيركلي دي بي
- استخلاص
- قاعدة بيانات FairCom [ 5 ]
- C-ISAM [ 9 ]
- قاعدة بيانات DataFlex الخاصة
- dBase والمنتجات ذات الصلة Clipper و FoxPro
- خدمات إدارة السجلات لشركة المعدات الرقمية
- Enscribe هي طريقة الوصول إلى الملفات المهيكلة من HP Tandem
- محرك تخزين قابل للتوسيع
- محرك قاعدة بيانات Access (ACE وكان يُعرف سابقًا باسم JET) المستخدم بواسطة Microsoft Access
- يقوم MySQL بتنفيذ وتوسيع ISAM باسم MyISAM
- مفارقة
- تنفيذ pblIsam GPL مكتوب بلغة C [ 10 ]
- عائلة قواعد البيانات الفائقة
- قواعد بيانات dbm DBM وقواعد البيانات ذات الملفات المسطحة تعمل جنبًا إلى جنب
انظر أيضاً
مراجع
- ↑ تشين، واي إتش (1975). "تحليل سلوك VSAM في المساحة الحرة". وقائع المؤتمر الدولي الأول حول قواعد البيانات الضخمة جدًا - VLDB '75 . الصفحات 514-515 . doi : 10.1145/1282480.1282529 . ISBN 9781450318181. S2CID 11082747 .
- ↑ بوغ، روبرت ل. (13 فبراير 2004). "استكشاف الاختلافات بين ISAM وقواعد البيانات العلائقية" . تم الاطلاع عليه بتاريخ 17 أكتوبر 2014 .
- ↑ لارسون، بير-أكي (1981). "تحليل الملفات المتسلسلة المفهرسة مع تسلسل تجاوز السعة" . معاملات ACM لأنظمة قواعد البيانات . 6 (4): 671-680 . doi : 10.1145/319628.319665 . S2CID 16261748 .
- ↑ راماكريشنان راغو، جيرك يوهانس - أنظمة إدارة قواعد البيانات، ماكجرو هيل للتعليم العالي (2000)، الطبعة الثانية (باللغة الإنجليزية) صفحة 252
- 1 2 3 "دليل مطوري FairCom ISAM API للغة C" .
- ↑ "دليل مبرمجي C-ISAM" (ملف PDF) . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 21-07-2021 . تم الاطلاع عليه بتاريخ 21-07-2021 .
- ↑ شركة آي بي إم ( 1973). DOS/VS LIOCS المجلد 3: منطق DAM وISAM . الصفحات 63-72 . تم الاطلاع عليه بتاريخ 30 ديسمبر 2018 .
- ↑ شركة آي بي إم (1972). دليل تخطيط مرفق الآلات الافتراضية من آي بي إم /370 (ملف PDF) . صفحة 45. مؤرشف من الأصل (ملف PDF) بتاريخ 25 أكتوبر 2022. تم الاطلاع عليه بتاريخ 8 يناير 2018 .
- ↑ "ورشة عمل حول قواعد البيانات العلائقية: إنفورميكس" (ملف PDF) (مقابلة). أجرت المقابلة لوان جونسون. متحف تاريخ الحاسوب. ١٢ يونيو ٢٠٠٧. تاريخ الاطلاع: ٣٠ مايو ٢٠٢٥ .
- ↑ غراف، بيتر. "تنفيذ ملف pblIsamFile" . mission-base.com . تم الاطلاع عليه في 8 سبتمبر 2017 .
- أنظمة ملفات الحاسوب
- تنسيقات ملفات الحاسوب
- برنامج IBM
