شارد (بنية قاعدة البيانات)

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

قد تبقى بعض البيانات في قاعدة البيانات موجودة في جميع الأجزاء، [ أ ] بينما تُخزَّن بيانات أخرى في جزء واحد فقط. في مثل هذه الحالات، يعمل كل جزء كمصدر وحيد لمجموعة البيانات الخاصة به. [ 1 ]

بنية قاعدة البيانات

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

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

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

عند استخدام الحوسبة الموزعة لتوزيع الحمل بين عدة خوادم (سواءً لأسباب تتعلق بالأداء أو الموثوقية)، قد يكون أسلوب التجزئة مفيدًا أيضًا. في العقد الثاني من الألفية، برزت تجزئة سعة التنفيذ ، بالإضافة إلى تجزئة البيانات التقليدية ، كنهج محتمل لمعالجة تحديات الأداء وقابلية التوسع في تقنية سلاسل الكتل . [ 4 ] [ 5 ]

اقترحت أعمال أكاديمية حديثة بروتوكولات مثل سيربيروس لمعالجة مسألة الذرية عبر الأجزاء من خلال دمج الإجماع عبر أجزاء متعددة، مما يسمح للمعاملات بالتأثير على أقسام متعددة في وقت واحد دون الحاجة إلى قفل عالمي. [ 6 ]

بالمقارنة مع التقسيم الأفقي

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

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

يتطلب تقسيم البيانات على عدة خوادم معزولة أكثر من مجرد تقسيم أفقي بسيط. ستنخفض المكاسب المتوقعة في الكفاءة إذا تطلب الاستعلام عن قاعدة البيانات الوصول إلى عدة خوادم لمجرد استرجاع جدول أبعاد بسيط . لذا، يتجاوز التجزئة مجرد التقسيم، إذ يشمل توزيع الجداول الكبيرة القابلة للتقسيم على الخوادم، بينما تُنسخ الجداول الأصغر حجمًا بالكامل على كل خادم. [ 7 ]

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

يُسهّل هذا الأمر عملية النسخ عبر خوادم متعددة (على عكس التقسيم الأفقي البسيط). كما أنه مفيد للتوزيع العالمي للتطبيقات، حيث قد تُصبح روابط الاتصال بين مراكز البيانات عائقًا في حال عدم القيام بذلك. [ 9 ]

هناك أيضًا حاجة إلى آلية إشعار ونسخ متماثل بين مثيلات المخطط، بحيث تظل الجداول غير المقسمة متزامنة قدر الإمكان وفقًا لمتطلبات التطبيق. يُعد هذا خيارًا معماريًا معقدًا في الأنظمة المجزأة: تتراوح الأساليب بين جعل هذه الجداول للقراءة فقط فعليًا (مع تحديثات نادرة ومجمعة)، إلى جداول مكررة ديناميكيًا (على حساب تقليل بعض مزايا التوزيع للتجزئة)، والعديد من الخيارات بينهما. [ 10 ]

التطبيقات

العيوب

قد يؤدي تجزئة جدول قاعدة البيانات قبل تحسينه محليًا إلى تعقيد غير ضروري. يُنصح عمومًا بالتجزئة عندما تثبت استراتيجيات التحسين الأخرى عدم كفايتها. [ 34 ] ويمكن أن ينتج عن التعقيد الإضافي لتجزئة قاعدة البيانات العديد من التحديات المحتملة. [ 35 ]

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

أصل الكلمة

في سياق قواعد البيانات، يُعتقد أن مصطلح "الشظية" مشتق من أحد مصدرين: نظام "البيانات المنسوخة عالية التوافر" التابع لشركة كمبيوتر كوربوريشن أوف أمريكا ، [ 36 ] والذي استخدم أجهزة زائدة لتسهيل نسخ البيانات بدلاً من التقسيم الأفقي، أو لعبة تقمص الأدوار الجماعية عبر الإنترنت Ultima Online الصادرة عام 1997. [ 37 ] [ 38 ]

تذكر ريتشارد غاريوت ، مبتكر لعبة Ultima Online ، أن مصطلح "البيئة الافتراضية" ظهر أثناء تطوير اللعبة، وتحديدًا عند إنشاء نظام بيئي افتراضي ذاتي التنظيم. كان بإمكان اللاعبين التفاعل وجمع موارد اللعبة عبر الإنترنت، مما أدى إلى اختلال توازن النظام. [ 38 ] ولمعالجة هذه المشكلة، قام فريق التطوير بتقسيم قاعدة اللاعبين العالمية إلى جلسات متعددة، وأضاف جزءًا من الربط الخيالي للعبة Ultima Online بنهاية الجزء الأول Ultima I: The First Age of Darkness ، حيث أدت هزيمة خصمها مونداين أيضًا إلى إنشاء "شظايا" من الكون المتعدد . وفر هذا التعديل لفريق غاريوت الأساس الخيالي اللازم لتبرير إنشاء نسخ من البيئة الافتراضية. تمت إزالة هذه الميزة لاحقًا بعد عدة أشهر من الاختبار. [ 38 ]

انظر أيضاً

ملحوظات

  1. عادةً ما تدعم البيانات مثل جداول الأبعاد .

مراجع

  1. سادالاج، برامود جيه؛ فاولر، مارتن (2012). "4: نماذج التوزيع". NoSQL Distilled . بيرسون للتعليم. ISBN 978-0321826626.
  2. راهول روي (28 يوليو 2008). "شارد - تصميم قاعدة البيانات" .
  3. ريس، إريك. "التجزئة للشركات الناشئة" .
  4. وانغ، غانغ؛ شي، تشيجي جيري؛ نيكسون، مارك؛ هان، سونغ (21 أكتوبر 2019). "SoK" . وقائع المؤتمر الأول لجمعية ACM حول التطورات في التقنيات المالية . الصفحات 41-61 . doi : 10.1145/3318041.3355457 . ISBN  9781450367325. S2CID 204749727 . 
  5. يو، مينغتشاو؛ صحرائي، سعيد؛ نيكسون، مارك؛ هان، سونغ (18 يوليو 2020). "SoK: التجزئة على سلسلة الكتل". وقائع المؤتمر الأول لجمعية ACM حول التطورات في التقنيات المالية . الصفحات 114-134 . doi : 10.1145/3318041.3355457 . ISBN  9781450367325. S2CID 204749727 . 
  6. هيلينغز، جيلي؛ سادوغي، محمد (2021). "سيربيروس: معالجة معاملات بسيطة متعددة الأجزاء ومقاومة للأخطاء البيزنطية" (ملف PDF) . وقائع مؤسسة VLDB . 14 (11): 2230-2243 . doi : 10.14778/3476249.3476274 .
  7. "تجزئة قواعد البيانات: مفاهيم وأمثلة" . MongoDB . تم الاطلاع عليه بتاريخ 20 مارس 2026 .
  8. "فهم تجزئة قواعد البيانات" . دروس مجتمع DigitalOcean . 16 مارس 2022. تاريخ الاطلاع: 9 أكتوبر 2025. تُجسّد أجزاء قواعد البيانات بنية "لا شيء مشترك". وهذا يعني أن الأجزاء مستقلة؛ فهي لا تتشارك أي بيانات أو موارد.
  9. "دليل التوسع الأفقي مقابل التوسع الرأسي" . MongoDB . تم الاطلاع عليه بتاريخ 20 مارس 2026 .
  10. "التجزئة - دليل قاعدة البيانات - وثائق MongoDB" . www.mongodb.com . تم الاطلاع عليه بتاريخ 20 مارس 2026 .
  11. "Apache HBase – Apache HBase™ Home" . hbase.apache.org .
  12. "تقديم معاينة Elastic Scale لقاعدة بيانات Azure SQL" . azure.microsoft.com . 2 أكتوبر 2014.
  13. " مركز مساعدة علي بابا كلاود - تعريف السحابة وشرح الخدمات السحابية - علي بابا كلاود" . www.alibabacloud.com
  14. " التركيز على قواعد البيانات الإلكترونية واسعة النطاق - علي بابا كلاود" . www.alibabacloud.com
  15. "تخصيص أجزاء الفهرس | دليل Elasticsearch [ 7.13 ] | Elastic" . www.elastic.co .
  16. "مستندات IBM" .
  17. "شظايا السبات" . 2007-02-08.
  18. "شظايا السبات" . مؤرشف من الأصل بتاريخ 16-12-2008 . تم الاطلاع عليه بتاريخ 30-03-2011 .
  19. "استعلامات الشبكة الجديدة لـ Informix" . مؤرشف من الأصل بتاريخ 10-06-2015 . تم الاطلاع عليه بتاريخ 07-10-2013 .
  20. "دعم قواعد بيانات NoSQL في Informix (تخزين JSON، واجهة برمجة تطبيقات Mongo DB)" . 24 سبتمبر 2013.
  21. "العنكبوت" . قاعدة معارف MariaDB . تم الاسترجاع في 2022-12-20 .
  22. "إصدار قاعدة بيانات المال (MonetDB) لشهر يوليو 2015" . 31 أغسطس 2015.
  23. "تجزئة MongoDB" . MongoDB . تم الاسترجاع في 20 مارس 2026 .
  24. "ميزات وفوائد مجموعة MySQL" . 2012-11-23.
  25. "دليل البدء السريع لتجزئة MySQL Fabric" .
  26. "تجزئة أوراكل" . أوراكل . 24-05-2018 . تم الاسترجاع في 10-07-2021 .
  27. "DistributedSearch - SOLR - Apache Software Foundation" . cwiki.apache.org .
  28. كوربيت، جيمس سي؛ دين، جيفري؛ إبستين، مايكل؛ فايكس، أندرو؛ فروست، كريستوفر؛ فورمان، جيه جيه؛ غيماوات، سانجاي؛ غوباريف، أندريه؛ هايزر، كريستوفر؛ هوتشيلد، بيتر؛ هسيه، ويلسون؛ كانثاك، سيباستيان؛ كوجان، يوجين؛ لي، هونغي؛ لويد، ألكسندر؛ ميلنيك، سيرجي؛ مواورا، ديفيد؛ ناغل، ديفيد؛ كوينلان، شون؛ راو، راجيش؛ روليغ، ليندسي؛ سايتو، ياسوشي؛ شيمانياك، ميشال؛ تايلور، كريستوفر؛ وانغ، روث؛ وودفورد، ديل. "سبانر: قاعدة بيانات جوجل الموزعة عالميًا" (ملف PDF) . وقائع مؤتمر OSDI 2012. تم الاطلاع عليه بتاريخ 24 فبراير 2014 .
  29. "sqlalchemy/sqlalchemy" . 9 يوليو 2021 عبر GitHub.
  30. "خيارات التقسيم والتجزئة لـ SQL Server و SQL Azure" . infoq.com .
  31. "عملة مشفرة أسرع وأكثر كفاءة" . أخبار معهد ماساتشوستس للتكنولوجيا . 24 يناير 2019. تاريخ الاسترجاع : 30 يناير 2019 .
  32. "Vitess" . vitess.io .
  33. "ShardingSphere" . shardingsphere.apache.org .
  34. كليمان، مارتن (2017). تصميم التطبيقات كثيفة البيانات . ISBN 9781449373320.
  35. "تجزئة قواعد البيانات: مفاهيم وأمثلة" . MongoDB . تم الاطلاع عليه بتاريخ 20 مارس 2026 .
  36. سارين، ديويت وروزنبرغ، نظرة عامة على نظام SHARD: نظام للبيانات المنسوخة عالية التوافر ، التقرير الفني CCA-88-01، شركة كمبيوتر كوربوريشن الأمريكية، مايو 1988
  37. كوستر، راف (2009-01-08). "هل جاءت "تجزئة" قواعد البيانات من جامعة أوريغون؟" . موقع راف كوستر الإلكتروني . تم الاطلاع عليه بتاريخ 2015-01-17 .
  38. 1 2 3 "ألتيما أونلاين: البيئة الافتراضية | قصص الحرب" . فيديوهات آرس تكنيكا . 21 ديسمبر 2017.