ما هي طريقة الوصول المتسلسل المفهرسة ISAM

اقرأ في هذا المقال


إنّ طريقة (ISAM) هي منظمة ملفات متسلسلة متقدمة، حيث في هذه الوسيلة يتم تخزين السجلات في الملف باستخدام المفتاح الأساسي، كما يتم إنشاء قيمة فهرس لكل مفتاح أساسي وتعيينها مع السجل في علم البيانات ويتضمن هذا الفهرس على عنوان السجل في الملف.

ما هي طريقة الوصول المتسلسل المفهرسة ISAM

طريقة الوصول المتسلسل المفهرسة (ISAM): هي بنية فهرس ثابتة وهرمية وقائمة على القرص تتيح كلاً من النطاق أحادي البعد واستعلامات العضوية في ملف بيانات مرتب.

ملاحظة:“ISAM” هي اختصار لـ “Indexed Sequential Access Method”.

مبدأ معالجة البيانات في ISAM

لمعالجة ملف يتطلب (ISAM) أن تحتوي سجلات الملف على مفاتيح بطول ثابت، ويحتفظ (ISAM) بفهرس من مستويين أو ثلاثة لأعلى مفاتيح التسجيل على المسارات التي يستخدمها الملف، كما يمكن لـ (ISAM) معالجة تجاوز الملف ضمن حدود النطاقات المتاحة كالتالي:

  • التعامل مع السجلات ذات الطول المتغير.
  • التعامل مع ملف غير متصل بالكامل.

لأسباب تتعلق بالأداء، يجب إعادة تنظيم الملف الذي تم الوصول إليه بواسطة (ISAM) من وقت لآخر، بحيث يتطلب ذلك الاحتفاظ بضعف حجم الملف عبر الإنترنت أو استخدام شريط كتخزين وسيط، وهي طريقة تنظيم ملفات متسلسلة متقدمة.

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

يتم تخزين سجلات ملف البيانات بترتيب تسلسلي وفقًا لبعض سمات البيانات، ونظرًا لأنّ (ISAM) ثابت فإنّه لا يغير هيكله إذا تمت إضافة السجلات أو حذفها من ملف البيانات، وفي حالة إدراج سجلات جديدة في ملف البيانات يتم حفظها في منطقة تجاوز السعة، كما تتم إزالة السجلات المحذوفة من الملف ومع ترك مساحة فارغة.

إيجابيات طريقة الوصول ISAM

  • يُعد البحث عن سجل أسرع في منظمة ملفات (ISAM) مقارنة بأساليب تنظيم الملفات الأخرى، حيث يمكن استخدام المفتاح الأساسي؛ لتحديد السجل وبما أن المفتاح الأساسي يتضمن أيضًا على عنوان السجل فيمكنه قراءة البيانات وجلبها من الذاكرة.
  • هذه الطريقة أكثر مرونة مقارنة بالطرق الأخرى لأنّها تسمح بإنشاء حقل الفهرس (حقل العنوان) لأي عمود من السجل وهذا يجعل البحث أسهل وفعال، حيث يمكن إجراء عمليات البحث باستخدام حقول أعمدة كثيرة.
  • يتيح ذلك إمكانية استرداد نطاق السجلات، حيث يتم تخزين ملف العنوان باعتماد المفتاح الأساسي للسجل، ويمكن استرداد السجل بناءً على نطاق معين من أعمدة المفاتيح الأساسية.
  • تسمح هذه الطريقة بالبحث الجزئي.

سلبيات طريقة الوصول ISAM

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

أسباب ظهور طريقة الوصول التسلسلي ISAM

1- الحاجة لمعالجة السجلات

مع الوصول المباشر كانت هناك حاجة لمعالجة السجلات بناءً على أكثر من مفتاح واحد، وأدت الحاجة إلى فهرسة إضافية إلى تطوير طريقتين جديدتين للوصول، وكانت طريقة الوصول التسلسلي المفهرس (ISAM) وطريقة الوصول إلى التخزين الافتراضي (VSAM) هُما المعتمدتان.

يحتوي الفهرس دائمًا على حقلين، أحدهما هو المفتاح الرمزي والثاني هو عنوان التخزين المقابل للسجل والفهرس هو ملف منفصل عن الملف الرئيسي الذي يشير إليه، ويحتوي فقط على مفتاح التسجيل وعنوان التخزين، وللعثور على سجل سيقوم البرنامج بمسح الفهرس ثم استرداد السجل من الملف في الموقع المحدد بواسطة الفهرس.

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

ومع ذلك على عكس التسلسل المادي يجب تخزين ملفات (ISAM) على القرص؛ لأنّ عناوين القرص مطلوبة لإنشاء الفهارس، كما لا يُعد الموقع الفعلي للسجلات داخل (ISAM) مهمًا لأنّ الفهارس تهتم بالوصول إلى السجلات، وقد يحتوي ملف (ISAM) الفردي على عشرات الفهارس، وكل منها يسمح باسترجاع الملفات بترتيب محدد مسبقًا وفي بعض الحالات سيتجاوز حجم الفهارس حجم الملف الأساسي.

ملاحظة:“VSAM” هي اختصار لـ “Virtual Storage Access Method”.

2- أوجه القصور في الملفات المسطحة

كان هناك العديد من المشاكل والصعوبات وأوجه القصور في أنظمة الملفات الثابتة، وشملت هذه مشاركة البيانات وبشكل عام طور كل قسم أنظمته الخاصة، بحيث سيكون لكل قسم هياكل ملفات خاصة به ولغات برمجة، ولهذا السبب كان من الصعب جدًا على الإدارات مشاركة البيانات والمعلومات.

كان تكرار البيانات يمثل مشكلة، حيث أن العديد من الإدارات داخل الشركة غالبًا ما تكرر نفس المعلومات ممّا يؤدي إلى ارتفاع تكاليف التخزين، وأيضًا إذا قام قسم ما بتحديث البيانات ولم يقم قسم آخر بتحديث البيانات فسوف ينتج عن ذلك تناقضات، ولن تكون القيم موحدة في كل موقع.

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

وكان على المبرمجين كتابة برامج لعمل نسخة احتياطية للنظام قبل بدء التحديثات، وفي حالة حدوث فشل تكون الملفات تالفة كان عليهم الاستعادة من شريط أو قرص النسخ الاحتياطي والبدء من جديد، وكانت هناك مشكلة محيرة أخرى تتمثل في عدم وجود طريقة قياسية للوصول إلى البيانات.

خصائص طريقة الوصول المتسلسل المفهرس ISAM

  • كانت بنية قاعدة بيانات (ISAM) الموجهة نحو التسجيل موجودة منذ سنوات عديدة.
  • طريقة الوصول المتسلسل المفهرس (ISAM) هي بنية قاعدة بيانات موجهة نحو التسجيل تسمح بالوصول السريع للغاية إلى البيانات.
  • يتم تنظيم بيانات (ISAM) في سجلات مخزنة في ملفات البيانات.
  • تُستخدم ملفات الفهرس المنفصلة لتخزين قيم المفاتيح (NoSQL) التي تحدد كل سجل، جنبًا إلى جنب مع المؤشرات التي تحدد موقع السجل المطابق في ملف البيانات.
  • يتيح الفهرس إمكانية استرداد السجلات الفردية بسرعة دون الحاجة إلى البحث في مجموعة بيانات كاملة.

ملاحظة:“NoSQL” هي اختصار لـ “Not Only Structured Query Language”.

طريقة الوصول التسلسلي المفهرس هي تقنية لتكوين ملفات بيانات الكمبيوتر وحفظها وتعديلها بحيث يمكن الوصول إلى الإدخالات بشكل تسلسلي أو عشوائي باستخدام مفتاح واحد أو أكثر.

المصدر: Introducing Data Science: Big data, machine learning, and more, using Python tools By Davy Cielen, Arno Meysman / First EditionFoundations of Data Science By Avrim Blum, John Hopcroft, Ravindran Kannan / First EditionAn Introduction to Data Science By Jeffrey S. Saltz, Jeffrey M. Stanton / First EditionData Science from Scratch: First Principles with Python by Joel Grus / 2nd Edition


شارك المقالة: