جوهر
في مجال الحوسبة، تُعدّ GiST ، أو شجرة البحث المعممة، بنية بيانات وواجهة برمجة تطبيقات (API) تُستخدم لبناء أنواع مختلفة من أشجار البحث على القرص . تُعتبر GiST تعميمًا لشجرة B+ ، حيث توفر بنية تحتية متزامنة وقابلة للاسترداد لشجرة بحث متوازنة الارتفاع دون افتراض أي شيء عن نوع البيانات المخزنة أو الاستعلامات المُنفذة. يُمكن استخدام GiST لتنفيذ مجموعة من الفهارس المعروفة بسهولة، بما في ذلك أشجار B+ ، وأشجار R ، وأشجار hB ، وأشجار RD ، وغيرها الكثير؛ كما تُتيح تطوير فهارس مُخصصة لأنواع البيانات الجديدة بسهولة. لا يُمكن استخدامها مباشرةً لتنفيذ أشجار غير متوازنة الارتفاع مثل الأشجار الرباعية أو أشجار البادئات (الأشجار)، مع أنها، مثل أشجار البادئات، تدعم الضغط، بما في ذلك الضغط مع فقدان البيانات . يُمكن استخدام GiST مع أي نوع بيانات يُمكن ترتيبه بشكل طبيعي في تسلسل هرمي من المجموعات الفائقة . لا يقتصر الأمر على قابليته للتوسيع من حيث دعم أنواع البيانات وتخطيط الشجرة، بل يسمح أيضًا لكاتب الامتداد بدعم أي شروط استعلام يختارها.
يُعدّ GiST مثالًا على قابلية توسيع البرمجيات في سياق أنظمة قواعد البيانات، إذ يُتيح تطوير نظام قاعدة البيانات بسهولة لدعم الفهارس الشجرية الجديدة. ويتحقق ذلك من خلال فصل البنية التحتية الأساسية للنظام عن واجهة برمجة تطبيقات (API) محدودة ، تكفي لتغطية الجوانب الخاصة بالتطبيق لمجموعة واسعة من تصميمات الفهارس. يتولى كود البنية التحتية لـ GiST إدارة تخطيط صفحات الفهرس على القرص، وخوارزميات البحث والحذف من الفهارس، والتفاصيل المعقدة للمعاملات، مثل تأمين الصفحات لضمان التزامن العالي، وتسجيل عمليات الكتابة المسبقة لاستعادة البيانات في حالة الأعطال. وهذا يُتيح لمطوري الفهارس الشجرية الجديدة التركيز على تنفيذ الميزات المبتكرة لهذا النوع من الفهارس ، مثل كيفية وصف مجموعات البيانات الفرعية للبحث ، دون الحاجة إلى التخصص في تفاصيل أنظمة قواعد البيانات الداخلية.
على الرغم من أن GiST صُممت في الأصل للإجابة على استعلامات الاختيار المنطقي، إلا أنها تدعم أيضًا البحث عن أقرب جار ، وأشكالًا مختلفة من التقريب الإحصائي على مجموعات البيانات الكبيرة.
التطبيقات
إن أكثر تطبيقات GiST استخدامًا هي تلك الموجودة في قاعدة البيانات العلائقية PostgreSQL ؛ كما تم تنفيذها أيضًا في خادم Informix Universal Server، وكمكتبة مستقلة، libgist.
PostgreSQL
يتضمن تطبيق GiST الخاص بـ PostgreSQL دعمًا للمفاتيح ذات الأطوال المتغيرة، والمفاتيح المركبة، والتحكم في التزامن، والاسترداد؛ وتُورَث هذه الميزات لجميع امتدادات GiST. يوجد العديد من الوحدات البرمجية المُساهم بها والمطورة باستخدام GiST والموزعة مع PostgreSQL. على سبيل المثال:
- rtree_gist، btree_gist - تطبيق GiST لشجرة R وشجرة B
- intarray - دعم الفهرسة لمصفوفة أحادية البعد من نوع int4
- tsearch2 - نوع بيانات قابل للبحث (نص كامل) مع إمكانية الوصول المفهرس
- ltree - أنواع البيانات، وطرق الوصول المفهرسة، والاستعلامات عن البيانات المنظمة على شكل هياكل شبيهة بالشجرة
- hstore - مخزن لبيانات (المفتاح، القيمة)
- مكعب - نوع بيانات، يمثل مكعبات متعددة الأبعاد
يوفر تطبيق PostgreSQL GiST دعم الفهرسة لنظام المعلومات الجغرافية PostGIS ونظام المعلوماتية الحيوية BioPostgres .
مراجع
- جوزيف م. هيلرستين ، وجيفري ف. نوتون، وآفي فايفر. أشجار البحث المعممة لأنظمة قواعد البيانات . وقائع المؤتمر الدولي الحادي والعشرين حول قواعد البيانات الكبيرة جدًا، زيورخ، سبتمبر 1995، 562-573.
- مارسيل كورناكر، سي. موهان وجوزيف إم. هيلرستين. التزامن والاسترداد في أشجار البحث المعممة . وقائع مؤتمر ACM SIGMOD حول إدارة البيانات، توسون، أريزونا، مايو 1997، 62-72.
- بول م. أوكي. تعميم "البحث" في أشجار البحث المعممة . وقائع المؤتمر الدولي الرابع عشر لهندسة البيانات، أورلاندو، فلوريدا، فبراير 1998، 380-389.
- مارسيل كورناكر. أشجار البحث المعممة عالية الأداء ، وقائع المؤتمر الدولي الرابع والعشرين حول قواعد البيانات الكبيرة جدًا، إدنبرة، اسكتلندا، سبتمبر 1999.
- بول م. أوكي. كيفية تجنب بناء شفرات البيانات التي تعرف قيمة كل شيء وتكلفة لا شيء ، وقائع المؤتمر الدولي الحادي عشر لإدارة قواعد البيانات العلمية والإحصائية، كليفلاند، أوهايو، يوليو 1999، 122-133.
روابط خارجية
- موقع مشروع بحثي حول تقنية المعلومات الجغرافية
- تطوير PostgreSQL GiST
- وثائق دعم GiST في PostgreSQL
- تطوير إضافة PostgreSQL باستخدام GiST (باللغة الروسية)
- GiST في ويكي PostgreSQL
- بوست جي آي إس
- BioPostgres
- الأشجار (هياكل البيانات)
- PostgreSQL
