شجرة B+
شجرة B + هي شجرة من الرتبة m ذات عدد متغير، ولكنه غالبًا ما يكون كبيرًا، من الأبناء لكل عقدة. تتكون شجرة B+ من جذر وعقد داخلية وأوراق. [ 1 ] قد يكون الجذر ورقة أو عقدة لها ابنان أو أكثر.
يمكن اعتبار شجرة B+ بمثابة شجرة B تحتوي كل عقدة فيها على مفاتيح فقط (وليس أزواج مفتاح-قيمة)، ويتم إضافة مستوى إضافي في الأسفل مع أوراق مرتبطة.
تكمن القيمة الأساسية لشجرة B+ في تخزين البيانات لاسترجاعها بكفاءة في سياق تخزين موجه نحو الكتل ، وتحديدًا في أنظمة الملفات . ويعود ذلك أساسًا إلى أن أشجار B+، على عكس أشجار البحث الثنائية ، تتميز بتفرع عالٍ جدًا (عدد المؤشرات إلى العقد الفرعية في العقدة، [ 1 ] عادةً ما يكون في حدود 100 أو أكثر)، مما يقلل من عدد عمليات الإدخال/الإخراج المطلوبة للعثور على عنصر في الشجرة.
تاريخ
لا توجد ورقة بحثية واحدة تُعرّف مفهوم شجرة B+. بدلاً من ذلك، يُطرح مفهوم الاحتفاظ بجميع البيانات في العقد الطرفية بشكل متكرر كنوع مثير للاهتمام من شجرة B، التي قدمها ر. باير وإ. مكريت. [ 2 ] ويشير دوغلاس كومر في دراسة استقصائية مبكرة لأشجار B (والتي تشمل أيضًا أشجار B+) إلى أن شجرة B+ استُخدمت في برنامج الوصول إلى البيانات VSAM من IBM ، ويشير إلى مقال نشرته IBM عام 1973. [ 3 ]
بناء
بنية المؤشر

كما هو الحال مع الأشجار الأخرى، يمكن تمثيل أشجار B+ كمجموعة من ثلاثة أنواع من العقد: الجذر ، والعقد الداخلية ، والأوراق . في أشجار B+، تُحفظ الخصائص التالية لهذه العقد:
- لوإذا كان k موجودًا في أي عقدة في شجرة B+، فإن k i -1 موجود في تلك العقدة حيث.
- جميع العقد الورقية لها نفس عدد الأسلاف (أي أنها جميعها على نفس العمق).
تم تلخيص خصائص المؤشر للعقد في الجداول أدناه:
- K : الحد الأقصى لعدد مفاتيح البحث المحتملة لكل عقدة في شجرة B+. (هذه القيمة ثابتة على كامل الشجرة).
- p i : المؤشر عند فهرس العقدة i الذي يبدأ من الصفر .
- k i : مفتاح البحث عند فهرس العقدة i الذي يبدأ من الصفر .
| ص ٠ | باي | |||
|---|---|---|---|---|
| متى | k 0 موجود | k i -1 و k i موجودان | k i -1 موجود، و k i غير موجود | k i -1 و k i غير موجودين |
| P : يشير إلى الشجرة الفرعية التي تحتوي على جميع مفاتيح البحث | P < k 0 . | k i -1 ≤ P < k i . | P ≥ k i -1 . | p i فارغ. |
| p i عندما k i موجود | p i عندما لا يكون k i موجودًا و | pK |
|---|---|---|
| يشير إلى سجل بقيمة تساوي k i . | هنا، p i فارغ. | يشير إلى الورقة التالية في الشجرة. |
حدود العقدة
تم تلخيص حدود العقدة في الجدول أدناه: [ 4 ] [ 5 ]
| نوع العقدة | عدد المفاتيح | عدد العقد الفرعية | ||
|---|---|---|---|---|
| مين | الأعلى | مين | الأعلى | |
| العقدة الجذرية (عندما تكون عقدة طرفية) | 0 | ك | 0 | 0 |
| العقدة الجذرية (عندما تكون عقدة داخلية) | 1 | ك | 2 [ 1 ] | |
| العقدة الداخلية | ك | |||
| عقدة الورقة | ك | 0 | 0 | |
الفترات الزمنية في العقد الداخلية

بحسب التعريف، كل قيمة في شجرة B+ هي مفتاح موجود في عقدة طرفية واحدة فقط. يجب أن يكون كل مفتاح قابلاً للمقارنة مباشرةً مع جميع المفاتيح الأخرى، مما يُشكّل ترتيبًا كليًا . [ 6 ] يُمكّن هذا كل عقدة طرفية من الحفاظ على ترتيب جميع مفاتيحها باستمرار، مما يُمكّن كل عقدة داخلية من إنشاء مجموعة مُرتبة من الفترات التي تُمثّل النطاق المتصل للقيم الموجودة في عقدة طرفية مُعينة. بعد ذلك، تستطيع العقد الداخلية الأعلى في الشجرة إنشاء فتراتها الخاصة، والتي تُجمّع بدورها الفترات الموجودة في عقدها الداخلية الفرعية. في النهاية، يُمثّل جذر شجرة B+ النطاق الكامل للقيم في الشجرة، حيث تُمثّل كل عقدة داخلية فترة فرعية.
لكي يتم الاحتفاظ بمعلومات الفاصل الزمني المتكرر هذه، يجب أن تحتوي العقد الداخلية أيضًا علىنسخ من المفاتيحليمثل أصغر عنصر ضمن الفترة التي يغطيها الابن ذو الفهرس i (والذي قد يكون بدوره عقدة داخلية أو ورقة). حيث يمثل m العدد الفعلي للأبناء لعقدة داخلية معينة.
صفات
يقيس عامل التفرع b في شجرة B+ سعة العقد الداخلية، أي الحد الأقصى المسموح به لعدد العقد الفرعية المباشرة. هذه القيمة ثابتة في جميع أنحاء الشجرة. بالنسبة لشجرة B+ من الرتبة b ذات h مستوى من الفهرسة:
- الحد الأقصى لعدد السجلات المخزنة هو{يتم طرحها لحساب المؤشرات التالية التي لا تشير إلى سجلات البيانات ولكنها تشير بدلاً من ذلك إلى عقدة الورقة التالية}
- الحد الأدنى لعدد السجلات المخزنة هو
- الحد الأدنى لعدد المفاتيح هو
- الحد الأقصى لعدد المفاتيح هو
- المساحة المطلوبة لتخزين الشجرة هي
- يتطلب إدخال سجلالعمليات
- يتطلب العثور على سجلالعمليات
- يتطلب حذف سجل (موجود مسبقًا)العمليات
- يتطلب إجراء استعلام نطاقي مع وجود k عنصرًا ضمن النطاقالعمليات
- يتوسع هيكل شجرة B+ أو يتقلص تبعًا لزيادة أو نقصان عدد السجلات . ولا توجد قيود على حجم أشجار B+، مما يزيد من سهولة استخدام نظام قاعدة البيانات .
- لا يؤثر أي تغيير في البنية على الأداء بسبب خصائص الشجرة المتوازنة. [ 7 ]
- تُخزَّن البيانات في العقد الطرفية، ويساهم تفرّع العقد الداخلية في تقليل ارتفاع الشجرة، وبالتالي تقليل وقت البحث. ونتيجةً لذلك، تعمل هذه الطريقة بكفاءة في أجهزة التخزين الثانوية. [ 8 ]
- يصبح البحث بسيطًا للغاية لأن جميع السجلات يتم تخزينها فقط في العقدة الطرفية ويتم فرزها بالتسلسل في القائمة المرتبطة.
- يمكننا استرجاع نطاق البحث أو استرجاع جزء منه باستخدام شجرة B+. ويُسهّل اجتياز بنية الشجرة هذه العملية ويجعلها أسرع. هذه الميزة تجعل بنية شجرة B+ قابلة للتطبيق في العديد من طرق البحث. [ 7 ]
الخوارزميات
يبحث
نبحث عن القيمة k في شجرة B+. هذا يعني أننا نبدأ من الجذر، ونبحث عن الورقة التي قد تحتوي على القيمة k . عند كل عقدة، نحدد العقدة الداخلية التي يجب أن نتبعها. تحتوي عقدة شجرة B+ الداخلية على أكثر من لدينا مجموعة من الأبناء، حيث يمثل كل واحد منهم فترة فرعية مختلفة. نختار الابن المناسب من خلال بحث خطي بين المدخلات m ، ثم عندما نصل أخيرًا إلى ورقة، نجري بحثًا خطيًا بين عناصرها n للعثور على المفتاح المطلوب. ولأننا نجتاز فرعًا واحدًا فقط من جميع الأبناء في كل درجة من درجات الشجرة، فإننا نحققوقت التشغيل، حيث N هو العدد الإجمالي للمفاتيح المخزنة في أوراق شجرة B+. [ 4 ]
دالة البحث ( k ، الجذر ) هي: let leaf = leaf_search(k، الجذر) for leaf_key in leaf.keys(): if k = leaf_key: return true return false
دالة leaf_search( k , node ) هي: إذا كانت node ورقة: تُرجع node let p = node.children() let l = node.left_sided_intervals() assertليكن m = p.len() لـ i من 1 إلى m - 1: إذا: return leaf_search(k, p[i]) return leaf_search(k, p[m])
لاحظ أن هذه الشفرة الزائفة تستخدم فهرسة المصفوفات بدءًا من 1.
الإدخال
- قم بإجراء بحث لتحديد العقدة التي يجب أن يوضع فيها السجل الجديد.
- إذا لم تكن العقدة ممتلئة (على الأكثر(بعد الإدخالات)، أضف السجل.
- وإلا، قبل إدراج السجل الجديد
- قسّم العقدة.
- تحتوي العقدة الأصلية علىأغراض
- العقدة الجديدة لديهاأغراض
- ينسخقم بإضافة المفتاح رقم -th إلى الأصل، ثم قم بإدراج العقدة الجديدة في الأصل.
- كرر العملية حتى يتم العثور على أحد الوالدين الذي لا يحتاج إلى الانقسام.
- أدخل السجل الجديد في العقدة الجديدة.
- قسّم العقدة.
- إذا انقسم الجذر، فتعامل معه كما لو كان له أصل فارغ وقم بتقسيمه كما هو موضح أعلاه.
تنمو أشجار B+ من الجذور وليس من الأوراق. [ 1 ]
التحميل بالجملة
لدينا مجموعة من سجلات البيانات، ونريد إنشاء فهرس شجرة B+ بناءً على حقل رئيسي. إحدى الطرق هي إدراج كل سجل في شجرة فارغة. إلا أن هذه الطريقة مكلفة للغاية، لأن كل إدخال يتطلب البدء من الجذر والنزول إلى صفحة الورقة المناسبة. البديل الفعال هو استخدام التحميل المجمع.
- تتمثل الخطوة الأولى في فرز إدخالات البيانات وفقًا لمفتاح البحث بترتيب تصاعدي.
- نقوم بتخصيص صفحة فارغة لتكون بمثابة الجذر، وندرج مؤشرًا إلى الصفحة الأولى من الإدخالات فيها.
- عندما يمتلئ الجذر، نقوم بتقسيم الجذر، وإنشاء صفحة جذر جديدة.
- استمر في إدخال المدخلات في صفحة الفهرس الموجودة في أقصى اليمين فوق مستوى الورقة، حتى يتم فهرسة جميع المدخلات.
ملحوظة:
- عندما تمتلئ صفحة الفهرس الموجودة في أقصى اليمين فوق مستوى الورقة، يتم تقسيمها؛
- قد يؤدي هذا الإجراء بدوره إلى انقسام صفحة الفهرس الموجودة في أقصى اليمين خطوة واحدة أقرب إلى الجذر؛
- لا تحدث الانقسامات إلا على المسار الأيمن من الجذر إلى مستوى الورقة. [ 9 ]
الحذف
تهدف خوارزمية الحذف إلى إزالة عقدة الإدخال المطلوبة من بنية الشجرة. نستدعي خوارزمية الحذف بشكل متكرر على العقدة المناسبة حتى لا نجد أي عقدة. في كل استدعاء للدالة، نتنقل على طول الشجرة، مستخدمين الفهرس للتنقل حتى نجد العقدة، ثم نزيلها، ثم نعود إلى الجذر.
المدخل L الذي نرغب في إزالته:
- إذا كان الوعاء L ممتلئًا إلى النصف على الأقل، فقد تم الأمر.
- إذا كان لدى L عدد d-1 من المدخلات فقط، فحاول إعادة التوزيع، مع الاستعارة من العقدة الشقيقة (العقدة المجاورة التي لها نفس الأصل مثل L).بعد إعادة توزيع عقدتين شقيقتين، يجب تحديث العقدة الأصلية لتعكس هذا التغيير. يجب أن يأخذ مفتاح الفهرس الذي يشير إلى العقدة الشقيقة الثانية أصغر قيمة لتلك العقدة ليكون هو مفتاح الفهرس.
- في حال فشل إعادة التوزيع، يتم دمج العقدة L مع العقدة الشقيقة. بعد الدمج، يتم تحديث العقدة الأصلية بحذف مفتاح الفهرس الذي يشير إلى الإدخال المحذوف. بعبارة أخرى، إذا تم الدمج بنجاح، يجب حذف الإدخال (الذي يشير إلى L أو العقدة الشقيقة) من العقدة الأصلية للعقدة L.
ملاحظة: قد ينتشر الدمج إلى الجذر، مما يعني انخفاض الارتفاع. [ 10 ]

تطبيق
غالبًا ما تُربط أوراق شجرة B+ (كتل الفهرس السفلية) ببعضها البعض في قائمة مرتبطة؛ مما يُسهّل استعلامات النطاق أو التكرار (المرتب) عبر الكتل ويجعلها أكثر كفاءة (مع العلم أنه يمكن تحقيق الحد الأعلى المذكور حتى بدون هذه الإضافة). ولا يؤدي ذلك إلى زيادة كبيرة في استهلاك المساحة أو الصيانة على الشجرة. وهذا يُوضح إحدى المزايا الهامة لشجرة B+ مقارنةً بشجرة B-؛ ففي شجرة B-، نظرًا لعدم وجود جميع المفاتيح في الأوراق، لا يُمكن إنشاء قائمة مرتبطة مرتبة كهذه. ولذلك، تُعد شجرة B+ مفيدة بشكل خاص كفهرس لنظام قاعدة البيانات ، حيث توجد البيانات عادةً على القرص، لأنها تسمح لشجرة B+ بتوفير بنية فعالة لتخزين البيانات نفسها (وُصف هذا في [ 11 ] : 238 باسم بنية الفهرس "البديل 1").
إذا كان حجم كتلة نظام التخزين B بايت، وكان حجم المفاتيح المراد تخزينها k، فمن الممكن القول إن شجرة B+ الأكثر كفاءة هي تلك التيعلى الرغم من أن إنشاء كتلة فهرس لمرة واحدة غير ضروري نظريًا، إلا أنه عمليًا غالبًا ما تشغل مساحة إضافية (على سبيل المثال، مراجع القوائم المرتبطة في كتل الأوراق). إن وجود كتلة فهرس أكبر قليلًا من حجم كتلة التخزين الفعلية يُؤدي إلى انخفاض ملحوظ في الأداء؛ لذا يُفضّل توخي الحذر.
إذا نُظِّمت عُقد شجرة B+ على شكل مصفوفات من العناصر، فقد يستغرق إدراج عنصر أو حذفه وقتًا طويلاً، إذ سيتعين إزاحة نصف المصفوفة في المتوسط. وللتغلب على هذه المشكلة، يمكن تنظيم العناصر داخل العقدة في شجرة ثنائية أو شجرة B+ بدلاً من المصفوفة.
يمكن استخدام أشجار B+ أيضًا للبيانات المخزنة في ذاكرة الوصول العشوائي (RAM). في هذه الحالة، يُعد حجم سطر ذاكرة التخزين المؤقت للمعالج خيارًا مناسبًا لحجم الكتلة.
يمكن تحسين كفاءة استخدام المساحة في أشجار B+ باستخدام بعض تقنيات الضغط. إحدى هذه التقنيات هي استخدام ترميز دلتا لضغط المفاتيح المخزنة في كل كتلة. بالنسبة للكتل الداخلية، يمكن توفير المساحة إما عن طريق ضغط المفاتيح أو المؤشرات. بالنسبة لمفاتيح السلاسل النصية، يمكن توفير المساحة باستخدام التقنية التالية: عادةً ما يحتوي المدخل رقم i في الكتلة الداخلية على المفتاح الأول لتلك الكتلة .بدلاً من تخزين المفتاح الكامل، يمكننا تخزين أقصر بادئة للمفتاح الأول في الكتلة .أي أكبر تمامًا (بالترتيب المعجمي) من المفتاح الأخير للكتلة i . وهناك أيضًا طريقة بسيطة لضغط المؤشرات: إذا افترضنا أن بعض الكتل المتتاليةإذا تم تخزينها بشكل متجاور، فسيكفي تخزين مؤشر إلى الكتلة الأولى وعدد الكتل المتتالية.
جميع تقنيات الضغط المذكورة أعلاه لها بعض العيوب. أولًا، يجب فك ضغط كتلة كاملة لاستخراج عنصر واحد. إحدى التقنيات للتغلب على هذه المشكلة هي تقسيم كل كتلة إلى كتل فرعية وضغطها بشكل منفصل. في هذه الحالة، لن يتطلب البحث عن عنصر أو إدراجه سوى فك ضغط كتلة فرعية أو ضغطها بدلًا من كتلة كاملة. عيب آخر لتقنيات الضغط هو أن عدد العناصر المخزنة قد يختلف اختلافًا كبيرًا من كتلة إلى أخرى، وذلك تبعًا لجودة ضغط العناصر داخل كل كتلة.
التطبيقات
أنظمة الملفات
تستخدم أنظمة الملفات ReiserFS و NSS و XFS و JFS و ReFS و BFS هذا النوع من الأشجار لفهرسة البيانات الوصفية؛ كما يستخدم BFS أشجار B+ لتخزين الدلائل. ويستخدم NTFS أشجار B+ لفهرسة الدلائل والبيانات الوصفية المتعلقة بالأمان. ويستخدم EXT4 أشجار الامتداد (وهي بنية بيانات معدلة من أشجار B+) لفهرسة امتدادات الملفات. [ 12 ] ويستخدم APFS أشجار B+ لتخزين عمليات الربط بين معرّفات كائنات نظام الملفات ومواقعها على القرص، ولتخزين سجلات نظام الملفات (بما في ذلك الدلائل)، على الرغم من أن عقد الأوراق في هذه الأشجار تفتقر إلى مؤشرات العقد الشقيقة. [ 13 ]
أنظمة قواعد البيانات
تدعم أنظمة إدارة قواعد البيانات العلائقية ، مثل IBM Db2 [ 11 ] و Informix [ 11 ] و Microsoft SQL Server [ 11 ] و Oracle 8 [ 11 ] و Sybase ASE [ 11 ] و SQLite [ 14 ] ، هذا النوع من بنية الشجرة لفهارس الجداول، مع العلم أن كل نظام منها يُطبّق بنية شجرة B+ الأساسية مع بعض الاختلافات والتوسعات. كما تدعم العديد من أنظمة إدارة قواعد بيانات NoSQL ، مثل CouchDB [ 15 ] [ a ] و Tokyo Cabinet [ 16 ] ، هذا النوع من بنية الشجرة للوصول إلى البيانات وتخزينها.
يُعدّ البحث عن كائنات في قاعدة بيانات متعددة الأبعاد تُشابه كائن استعلام مُحدد من أكثر الإجراءات استخدامًا، ولكنه في الوقت نفسه مُكلف في هذه الأنظمة. في مثل هذه الحالات، يكون البحث عن أقرب جار باستخدام شجرة B+ مُجديًا. [ 17 ]
المسافة
تُستخدم شجرة B+ بكفاءة لإنشاء طريقة بحث مُفهرسة تُسمى iDistance. تبحث iDistance عن أقرب k جار (kNN) في فضاءات مترية عالية الأبعاد. تُقسّم البيانات في هذه الفضاءات عالية الأبعاد بناءً على استراتيجيات الفضاء أو التقسيم، ولكل قسم قيمة فهرس قريبة من القسم. من هنا، يمكن تنفيذ هذه النقاط بكفاءة باستخدام شجرة B+، وبالتالي، تُحوّل الاستعلامات إلى بحث نطاقي أحادي البعد. بعبارة أخرى، يمكن اعتبار تقنية iDistance وسيلة لتسريع المسح التسلسلي. فبدلاً من مسح السجلات من بداية ملف البيانات إلى نهايته، تبدأ iDistance المسح من المواضع التي يمكن فيها الحصول على أقرب الجيران مبكرًا باحتمالية عالية جدًا. [ 18 ]
ذاكرة NVRAM
تستخدم ذاكرة الوصول العشوائي غير المتطايرة (NVRAM) بنية شجرة B+ كتقنية رئيسية للوصول إلى الذاكرة في أنظمة إنترنت الأشياء (IoT) نظرًا لاستهلاكها المستقر للطاقة ومتانة خلاياها العالية. تستطيع B+ تنظيم نقل البيانات إلى الذاكرة بكفاءة. علاوة على ذلك، تُظهر شجرة B+، من خلال استراتيجيات متقدمة لترددات بعض الأوراق أو نقاط المرجعية الأكثر استخدامًا، نتائج ملموسة في زيادة قدرة أنظمة قواعد البيانات على التحمل. [ 19 ]
انظر أيضاً
ملحوظات
- ↑ انظر الملاحظة بعد الفقرة الثالثة.
مراجع
- ↑ باير، ر.؛ مكريت، إ. (نوفمبر 1970). "تنظيم وصيانة الفهارس المرتبة الكبيرة" . وقائع ورشة عمل ACM SIGFIDET (الآن SIGMOD) لعام 1970 حول وصف البيانات والوصول إليها والتحكم فيها - SIGFIDET '70 . الصفحات 107-141 . doi : 10.1145/1734663.1734671 . ISBN 978-1-4503-7941-0.
- ↑ كومر، دوغلاس (1979). "شجرة B المنتشرة" . مجلة ACM Computing Surveys . 11 (2): 121–137 . doi : 10.1145/356770.356776 . S2CID 101673 .
- 1 2 بولاري-مالمي، كيرتو. "أشجار "ب+"( ملف PDF) . علوم الحاسوب، كلية العلوم، جامعة هلسنكي . ص 3. مؤرشف من الأصل (ملف PDF) في 14 أبريل 2021.
- ↑ سيلبرشاتز، أبراهام؛ كورث، هنري ف.؛ سودارشان، س. (2020). مفاهيم نظم قواعد البيانات ( الطبعة السابعة). نيويورك، نيويورك: ماكجرو هيل للتعليم. ISBN 978-1-260-08450-4.
- ^ تورستن جراست (صيف 2013). ""الفهرسة ذات البنية الشجرية: ISAM وأشجار B+"( ملف PDF) . شعار قسم علوم الحاسوب بجامعة توبنغن: أنظمة قواعد البيانات . صفحة 84. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 31 أكتوبر 2020.
- 1 2 زيتلر، إريك؛ ريش، توري (2010). "تقسيم قابل للتوسع لتدفقات البيانات الضخمة" . أنظمة قواعد البيانات للتطبيقات المتقدمة . سلسلة محاضرات في علوم الحاسوب. المجلد 5982. الصفحات 184-198 . doi : 10.1007/978-3-642-12098-5_15 . ISBN 978-3-642-12097-8.
- ↑ شو، تشانغ؛ شو، ليدان؛ تشن، غانغ؛ يان، تشنغ؛ هو، تيانلي (2010). "تحديث الترحيل: شجرة B+ فعالة لتخزين الفلاش". أنظمة قواعد البيانات للتطبيقات المتقدمة . سلسلة محاضرات في علوم الحاسوب. المجلد 5982. الصفحات 276-290 . doi : 10.1007/978-3-642-12098-5_22 . ISBN 978-3-642-12097-8.
- ↑ "ECS 165B: تطبيق نظام قاعدة البيانات - المحاضرة 6" (ملف PDF) . قسم علوم الحاسوب، جامعة كاليفورنيا في ديفيس . 9 أبريل 2010. الصفحات 21-23 .
- ^ راماكريشنان، راغو. يوهانس جيركي (2003). أنظمة إدارة قواعد البيانات (الطبعة الثالثة ). بوسطن: ماكجرو هيل. رقم ISBN 0-07-246563-8. OCLC 49977005 .
- 1 2 3 4 5 6 راغو، راماكريشنان؛ يوهانس، جيرك (2000). أنظمة إدارة قواعد البيانات ( الطبعة الثانية). ماكجرو هيل للتعليم العالي. ص 267. رقم الكتاب المعياري الدولي (ISBN) 978-0-07-245052-1
- ↑ جيامباولو، دومينيك (1999). تصميم نظام الملفات العملي باستخدام نظام ملفات Be (ملف PDF) . مورغان كوفمان. ISBN 1-55860-497-9أُرشف من النسخة الأصلية (PDF) بتاريخ 13 فبراير 2017. تم الاطلاع عليه بتاريخ 29 يوليو 2014 .
- ↑ "أشجار B". مرجع نظام ملفات أبل (ملف PDF) . شركة أبل. 22 يونيو 2020. ص 122. تم الاطلاع عليه في 10 مارس 2021 .
- ↑ نظرة عامة على SQLite الإصدار 3
- ↑ دليل CouchDB
- ↑ مرجع مجلس طوكيو، مؤرشف في 12 سبتمبر 2009، في أرشيف الإنترنت
- ↑ أنظمة قواعد البيانات للتطبيقات المتقدمة . اليابان. 2010.
{{cite book}}: CS1 maint: موقع الناشر مفقود ( رابط ) - ↑ جاغاديش، إتش في؛ أوي، بينغ تشين؛ تان، كيان لي؛ يو، تسوي؛ تشانغ، روي (يونيو 2005). "iDistance: طريقة فهرسة تكيفية قائمة على شجرة B+ للبحث عن أقرب جار" . معاملات ACM لأنظمة قواعد البيانات . 30 (2): 364-397 . doi : 10.1145/1071610.1071612 . ISSN 0362-5915 . S2CID 967678 .
- ↑ دارامجيت؛ تشين، تسينغ-يي؛ تشانغ، يوان-هاو؛ وو، تشون-فينغ؛ لي، تشي-هينغ؛ شيه، وي-كوان (ديسمبر 2021). "ما وراء اعتبار تقليل الكتابة: مخطط فهرسة شجرة B⁺ مُفعّل لتسوية التآكل على بنية NVRAM". معاملات IEEE في التصميم بمساعدة الحاسوب للدوائر والأنظمة المتكاملة . 40 (12): 2455-2466 . Bibcode : 2021ITCAD..40.2455D . doi : 10.1109/TCAD.2021.3049677 . ISSN 0278-0070 . S2CID 234157183 .
روابط خارجية
- شجرة B+ في بايثون، تُستخدم لتنفيذ قائمة
- ملاحظات فهرس شجرة B+ للدكتور مونج
- شجرة B
- 1972 في مجال الحوسبة
- مقدمات متعلقة بالحاسوب في عام 1972
