التقسيم (قاعدة البيانات)

التقسيم هو فصل قاعدة بيانات منطقية أو عناصرها المكونة إلى أجزاء مستقلة ومنفصلة. يشير تقسيم قواعد البيانات إلى تقسيم قاعدة بيانات كبيرة إلى قواعد بيانات أصغر عمدًا لأغراض قابلية التوسع، وهو يختلف عن انقطاعات الشبكة التي تُعد نوعًا من أعطال الشبكة بين العُقد. [ 1 ] في قاعدة البيانات المُقسّمة، ينتمي كل جزء من البيانات إلى قسم واحد فقط، مما يجعل كل قسم بمثابة قاعدة بيانات صغيرة مستقلة. [ 1 ] يُجرى تقسيم قواعد البيانات عادةً لأسباب تتعلق بسهولة الإدارة أو الأداء أو التوافر [ 2 ] ، أو لتحقيق توازن الأحمال . وهو شائع في أنظمة إدارة قواعد البيانات الموزعة ، حيث يمكن توزيع كل قسم على عُقد متعددة، مع قيام المستخدمين في كل عُقدة بإجراء معاملات محلية على القسم. يُحسّن هذا من أداء المواقع التي تُجري معاملات منتظمة تتضمن طرق عرض مُحددة للبيانات، مع الحفاظ على التوافر والأمان.
يُمكّن التقسيم من توزيع مجموعات البيانات على أقراص متعددة وتوزيع أحمال الاستعلامات على معالجات متعددة. بالنسبة للاستعلامات التي تعمل على قسم واحد، تُنفّذ كل عقدة الاستعلامات بشكل مستقل على قسمها المحلي، مما يُتيح زيادة إنتاجية الاستعلامات بشكل خطي مع إضافة عقد أخرى. يمكن تنفيذ الاستعلامات الأكثر تعقيدًا بالتوازي على عدة عقد، على الرغم من أن هذا يطرح تحديات إضافية. [ 1 ]
تاريخ
ظهر تقسيم قواعد البيانات في ثمانينيات القرن الماضي مع أنظمة مثل Teradata و NonStop SQL . واعتمدت قواعد بيانات NoSQL ومستودعات البيانات القائمة على Hadoop هذا النهج لاحقًا . وبينما تختلف التطبيقات بين أحمال العمل التحليلية والمعاملاتية ، تظل المبادئ الأساسية للتقسيم ثابتة في كلا الحالتين. [ 1 ]
مصطلحات
تستخدم أنظمة إدارة قواعد البيانات المختلفة [ 3 ] مصطلحات متباينة للتقسيم:
التقسيم والنسخ
يُطبَّق التقسيم عادةً بالتزامن مع النسخ المتماثل ، حيث تُخزَّن نسخ الأقسام عبر عُقد متعددة. ينتمي كل سجل إلى قسم واحد، ولكنه قد يوجد على عُقد متعددة لضمان تحمل الأعطال. في أنظمة النسخ المتماثل ذات القائد والتابع ، يمكن للعُقد أن تعمل في الوقت نفسه كقادة لبعض الأقسام وتابعة لأقسام أخرى. [ 1 ]
موازنة الأحمال ونقاط الاتصال الساخنة
يهدف تقسيم البيانات إلى توزيع أحمال البيانات والاستعلامات بالتساوي على العُقد. في حالة التوزيع الأمثل، تتناسب سعة النظام طرديًا مع عدد العُقد المُضافة - إذ يُفترض أن تعالج عشر عُقد عشرة أضعاف البيانات والإنتاجية التي تعالجها عُقدة واحدة. أما التوزيع غير المتساوي، والذي يُسمى الانحراف ، فيُقلل من كفاءة التقسيم. وتُسمى الأقسام ذات الأحمال الزائدة بالنقاط الساخنة . [ 1 ]
تتصدى عدة استراتيجيات للمناطق الساخنة:
- تخصيص السجلات بشكل عشوائي للعقد، على حساب تعقيد الاسترجاع
- تقسيم نطاق المفاتيح بحدود محسّنة
- تقسيم البيانات باستخدام التجزئة لتوزيع الأحمال بالتساوي [ 1 ]
معايير التقسيم
تُتيح أنظمة إدارة قواعد البيانات العلائقية المتطورة الحالية معايير مختلفة لتقسيم قاعدة البيانات. فهي تعتمد على مفتاح التقسيم وتُعيّن قسمًا بناءً على معايير محددة. ومن بين المعايير الشائعة ما يلي:
- تقسيم النطاقات : يُخصص نطاقات مفاتيح متصلة للأقسام، على غرار مجلدات الموسوعة. تُمكّن حدود النطاقات المعروفة من توجيه الطلبات مباشرةً. يمكن ضبط الحدود يدويًا أو تلقائيًا لتحقيق توزيع متوازن. مع أن هذا يُتيح مسحًا فعالًا للنطاقات، إلا أن بعض أنماط الوصول تُنشئ نقاطًا ساخنة. على سبيل المثال، في شبكات الاستشعار التي تستخدم مفاتيح الطابع الزمني، تتركز عمليات الكتابة في قسم الفترة الزمنية الحالية. يُمكن استخدام المفاتيح المركبة - مثل إضافة مُعرّفات المستشعرات كبادئة للطوابع الزمنية - لتوزيع هذا الحمل. [ 1 ] مثال على ذلك هو قسم لجميع الصفوف التي تحتوي فيها قيمة عمود "الرمز البريدي" على ما بين 70000 و79999.
- تقسيم القوائم : يُخصص لكل قسم قائمة من القيم. إذا احتوى مفتاح التقسيم على إحدى هذه القيم، يتم اختيار القسم. على سبيل المثال، يمكن لجميع الصفوف التي
Countryيكون فيها العمود إماIceland، أوNorway، أوSweden،FinlandأوDenmarkأن تُشكل قسمًا لدول الشمال الأوروبي . - التقسيم المركب : يسمح بتطبيق تركيبات معينة من مخططات التقسيم المذكورة أعلاه، على سبيل المثال، من خلال تطبيق تقسيم النطاق أولاً ثم تقسيم التجزئة. يمكن اعتبار التجزئة المتسقة مزيجًا من التجزئة وتقسيم القائمة، حيث تُقلل التجزئة مساحة المفاتيح إلى حجم يمكن سرده.
- تقسيم البيانات بالتناوب : أبسط استراتيجية، تضمن توزيعًا متساويًا للبيانات. في هذه
nالاستراتيجية،iيُخصص الصف رقم في ترتيب الإدخال للقسم(i mod n). تُمكّن هذه الاستراتيجية من الوصول المتسلسل إلى الجدول بالتوازي. مع ذلك، يتطلب الوصول المباشر إلى الصفوف الفردية، بناءً على شرط، الوصول إلى الجدول بأكمله. - تجزئة البيانات باستخدام التجزئة : تُطبّق دالة تجزئة لتحويل البيانات غير المتوازنة إلى توزيعات منتظمة لتوزيع متساوٍ للأحمال عبر الأقسام. ورغم أن هذا يمنع بشكل فعال النقاط الساخنة، إلا أنه يُقلّل من كفاءة استعلامات النطاق نظرًا لتشتت المفاتيح المتجاورة عبر الأقسام. من التطبيقات الشائعة MD5 في كاساندرا ومونغو دي بي . بعض الأنظمة، مثل كاساندرا، تجمع بين أساليب استخدام المفاتيح الأساسية المركبة: تجزئة المكون الأول للتجزئة مع الحفاظ على ترتيب الفرز للمكونات المتبقية داخل الأقسام. [ 1 ]
في أي نظام تقسيم، تُرتّب البيانات عادةً بحيث ينتمي كل جزء منها (سجل، صف، أو مستند) إلى قسم واحد فقط. [ 1 ] مع أن بعض قواعد البيانات تدعم عمليات تمتد عبر أقسام متعددة، إلا أن هذا الارتباط بقسم واحد يُعدّ أساسيًا لمفهوم التقسيم.
أساليب التقسيم
يمكن إجراء التقسيم إما عن طريق إنشاء قواعد بيانات أصغر منفصلة (لكل منها جداولها وفهارسها وسجلات المعاملات الخاصة بها ) ، أو عن طريق تقسيم عناصر محددة، على سبيل المثال جدول واحد فقط .
التقسيم الأفقي
يتضمن التقسيم الأفقي وضع صفوف مختلفة في جداول مختلفة. على سبيل المثال، يتم تخزين بيانات العملاء الذين تقل رموزهم البريدية عن 50000 في جدول CustomersEast، بينما يتم تخزين بيانات العملاء الذين تزيد رموزهم البريدية عن 50000 أو تساويها في جدول CustomersWest. وبالتالي، يصبح جدولا التقسيم هما CustomersEast وCustomersWest، ويمكن إنشاء عرض موحد يجمع بياناتهما معًا لتوفير رؤية شاملة لجميع العملاء.
التقسيم الرأسي
يتضمن التقسيم الرأسي إنشاء جداول ذات أعمدة أقل، واستخدام جداول إضافية لتخزين الأعمدة المتبقية. [ 2 ] تُعرف هذه الممارسة عمومًا باسم التطبيع . مع ذلك، يتجاوز التقسيم الرأسي ذلك، فيُقسّم الأعمدة حتى بعد التطبيع. يُسمى هذا النوع من التقسيم أيضًا "تقسيم الصفوف"، حيث تُقسّم الصفوف حسب أعمدتها، وقد يتم ذلك صراحةً أو ضمنيًا. يمكن استخدام أجهزة مادية منفصلة لتحقيق التقسيم الرأسي: على سبيل المثال، يُعد تخزين الأعمدة قليلة الاستخدام أو ذات الأعمدة العريضة جدًا، والتي تشغل مساحة كبيرة من الذاكرة، على جهاز مختلف، طريقةً للتقسيم الرأسي. من الأشكال الشائعة للتقسيم الرأسي فصل البيانات الثابتة عن البيانات الديناميكية، لأن الوصول إلى الأولى أسرع من الثانية، خاصةً في الجداول التي لا تُستخدم فيها البيانات الديناميكية بنفس قدر استخدام البيانات الثابتة. يؤدي إنشاء عرض عبر الجدولين المُنشأين حديثًا إلى استعادة الجدول الأصلي مع انخفاض في الأداء، ولكن الوصول إلى البيانات الثابتة وحدها يُظهر أداءً أفضل. يمكن اعتبار قاعدة البيانات العمودية قاعدة بيانات تم تقسيمها عموديًا حتى يتم تخزين كل عمود في جدوله الخاص.
انظر أيضاً
- فهرس نطاق الكتلة
- نظرية CAP
- تجزئة البيانات في أنظمة RAID
مراجع
- 1 2 3 4 5 6 7 8 9 10 11 كليمان، مارتن (2017). تصميم التطبيقات كثيفة البيانات: الأفكار الرئيسية وراء الأنظمة الموثوقة والقابلة للتوسع والصيانة . دار نشر أورايلي. الصفحات 199-200 . ISBN 9781491903100.
- 1 2 "خوارزميات التقسيم الرأسي لتصميم قواعد البيانات" ، بقلم شامكانت نافاثي، وستيفانو سيري، وجيو ويدرهولد، وجينجلي دو، جامعة ستانفورد 1984
- ↑ لا ينبغي الخلط بينها وبين قاعدة البيانات ، وهي عبارة عن مستودع مستقل للبيانات على مستوى البايت (بدلاً من مجموعة من الاتفاقيات أو القواعد التي تصف كيفية تغيير تلك البيانات من خلال عمليات الإنشاء أو القراءة أو التحديث أو الحذف ).
- تقسيم البيانات
- أنظمة إدارة قواعد البيانات
