Table of Contents

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

فهم تقسيم قاعدة البيانات

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

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

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

لماذا مسائل التجزئة

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

حدود التخزين

حدود التخزين - لا يمكن للآلة تخزين كل شيء، حيث تنمو مجموعات البيانات إلى تيرابايت، يصبح تخزين الخزانات الواحدة غير عملي أو مستحيلاً، فالتجزئة تتيح لك توزيع البيانات عبر نظم التخزين المتعددة، وإزالة التخزين بشكل فعال كزجاجة.

كتابة مداخل القنصل

برمجة المقطع - لا يمكن للعقيدة أن تجهز ما يكفي من الكتابات - التطبيقات العالية الارتطامات يمكن أن تحجب خادم قاعدة بيانات واحد مع عمليات الكتابة، بتوزيع الكتابات عبر أجزاء متعددة، يمكنك تحقيق زيادة كبيرة في الناتج عن أي خادم واحد يمكن أن يتعامل معه.

قراءة التسلسل

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

التوزيع الجغرافي

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

استراتيجيات التجزئة الأساسية

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

تقسيم الأفق (الفصل)

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

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

وفي إطار التجزؤ الأفقي، توجد عدة طرق محددة لتحديد كيفية توزيع الصفوف على أجزاء:

تقسيم الرانج

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

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

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

القائمة

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

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

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

تقسيم هاتش

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

الميزة الرئيسية لتقسيم الحشيش هي قدرتها على توزيع البيانات بشكل متساوٍ عبر الأجزاء، ومنع مشكلة "التجزئة الهوائية" حيث تتلقى بعض التقسيمات حركة غير متناسبة، حتى أن هذا التوزيع له قيمة خاصة بالنسبة للبيانات التي لا تملك حدوداً طبيعية أو قائمة، مثل هويات المستخدمين أو مُحدِّدات المنتجات.

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

التجزئة الشكلية

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

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

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

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

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

التجزئة الوظيفية

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

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

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

التجزئة المركبة

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

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

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

Partitioning vs. Sharding: Understanding the Distinction

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

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

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

التشارك هو الحل عندما لا يستطيع خادم قاعدة بيانات واحد التعامل مع حمولة الخاص بك حتى مع التفرق فكر في التقطيع عندما يخترق الحاسوب الحدود القصوى

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

الفوائد الرئيسية للتجزئة

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

تحسين أداء الكواليس

تحسين الأداء - تجري عمليات الوصول إلى البيانات في كل جزء من البيانات على حجم أصغر من البيانات، ويمكن أن يؤدي التجزؤ، على نحو صحيح، إلى جعل نظامك أكثر كفاءة، ويمكن أن تجري العمليات التي تؤثر على أكثر من تقسيم في موازاة.

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

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

تعزيز القابلية للتسويق

عندما تُصَدِّمُ نظام قاعدة بيانات واحد، يَصِلُ في النهاية إلى حدٍّ أقصىٍ للمعداتِ الماديةِ إذا تُقسمُ البياناتَ عبرَ أجزاءِ متعددةِ، كُلّ مُستَضافة على خادمِ منفصلِ، أنت يُمْكِنُ أَنْ تُقَفّعَ النظامَ إلى ما لا نهاية.

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

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

تحسين توافر الأموال والتسامح مع الفشل

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

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

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

الصيانة والإدارة المبسطتان

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

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

For example, in a system with time-based partitioning, you might back up the current month's partition hourly, the previous three months daily, and older partitions weekly. This tiered approach optimizes backup resources while ensuring appropriate protection for data based on its age and access patterns.

تعزيز الأمن

تحسين الأمن، في بعض الحالات، يمكنك فصل البيانات الحساسة وغير الحساسة إلى أجزاء مختلفة وتطبيق ضوابط أمنية مختلفة على البيانات الحساسة.

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

الاعتبارات العملية للتنفيذ

ويتطلب التنفيذ الناجح للتقسيم التخطيط الدقيق واهتماما لعدة عوامل حاسمة، وقد يؤدي سوء قرارات التقسيم إلى تدهور الأداء بالفعل بدلا من تحسينه، مما يجعل هذه الاعتبارات أساسية.

اختيار مفتاح التجزئة الصحيحة

ويحدد مفتاح التقسيم ما إذا كان يمكن لقاعدة البيانات أن تجزأ على استفساراتك، ومفتاح التجزؤ السيئ يعني أن كل استفسار يمسح كل تقسيم - أسوأ من عدم وجود أي تقسيم على الإطلاق.

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

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

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

Understanding Query Patterns

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

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

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

الحجم الجزئي للتوازن

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

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

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

التخطيط لنمو البيانات

لا تتوقف البيانات عن النمو بعد تنفيذ التقسيم استراتيجية تقسيمك يجب أن تستوعب النمو المستقبلي دون الحاجة لإعادة الهيكلة المتكررة

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

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

الرصد والصيانة

رصد النظام للتحقق من توزيع البيانات حسب المتوقع، ومن أن يمكن للجزأين أن يتعاملا مع الحمولة، فالاستعمال الفعلي لا يضاهي دائما ما يتوقعه التحليل، إذا كان الأمر كذلك، قد يكون من الممكن إعادة التوازن بين الأجزاء، أو إعادة تصميم بعض أجزاء النظام لتحقيق التوازن المطلوب.

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

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

قطع الغيار

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

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

عمليات التعامل مع مختلف الأطراف

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

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

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

تجنب البيانات

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

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

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

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

مفاهيم التجزئة المتقدمة

وبخلاف استراتيجيات التقسيم الأساسية، يمكن للعديد من المفاهيم والتقنيات المتقدمة أن تزيد من تحسين نظم قواعد البيانات التي تقسمها.

تحويل النظائر وتفريغها

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

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

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

الجزء الفرعي

الجزء الفرعي: تسمح بعض استراتيجيات التجزؤ، مثل تقسيم النطاق أو القائمة، بزيادة تقسيم الأجزاء إلى أجزاء فرعية، كما أن القسم الفرعي، الذي يسمى بالتقسيم المركب، يطبق مستويات متعددة من التجزؤ لتحقيق تنظيم بيانات مجزأة.

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

غير أن القسم الفرعي يزيد من التعقيد وعدد الأجزاء المادية التي يمكن أن تزيد من النفقات العامة، ولا يستخدمها بحكمة إلا عندما تفوق فوائد الفرص الإضافية التعقيد الإضافي.

المؤشرات العالمية والمحلية

المؤشرات العالمية والمحلية: في بعض استراتيجيات التجزؤ، يمكن أن تستحدث مؤشرات عالمية تشمل جميع التقسيمات أو المؤشرات المحلية المحددة لكل تقسيم، ويتوقف الاختيار على أنماط الاستخدام والأسئلة.

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

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

التقسيمات الافتراضية

التقسيم الافتراضي: تقسيم يُجمع البيانات التي تقع خارج النطاقات أو القيم المحددة لجزأين آخرين، وهذا مفيد لمعالجة البيانات التي لا تتطابق مع أي حالة تقسيم محددة.

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

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

حالات الاستخدام الحقيقي في العالم والأمثلة

فهم كيفية استخدام الصناعات والتطبيقات المختلفة للتقسيم يوفر سياقا قيما لتطبيق هذه التقنيات على نظمك الخاصة.

منابر التجارة الإلكترونية

منابر التجارة الإلكترونية: تقسم البيانات المتعلقة بالمزكّمين حسب المنطقة (مثل أمريكا الشمالية وأوروبا) من أجل تحقيق الاستخدام الأمثل للشحن والمخزون والتسويق المحلي، وتحسين الأداء وخبرة المستعملين.

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

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

الخدمات المصرفية والمالية

Banking and Finance: Transaction data is partitioned by account type or date (e.g., daily) for faster processing, reporting, and more efficient fraud detection.

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

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

تطبيقات نظام ساسا والتطبيقات المتعددة الأطقم

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

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

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

بيانات عن الـ (أيوت) والوقت

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

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

كما أن العديد من نظم تكنولوجيا المعلومات تنفذ سياسات تلقائية لاستبقاء البيانات باستخدام انخفاض التجزؤ، وعندما تصل البيانات إلى سن معينة، يمكن إسقاط أجزاء كاملة في ثوان، وإدارة تكاليف التخزين بكفاءة دون التأثير على العمليات الجارية.

الشلالات المشتركة وكيفية تجنبها

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

تقسيم الاختصاصات

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

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

تغيير التطبيقات

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

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

عدم كفاية الاختبارات

ويغير التجزئة كيفية تخزين قاعدة البيانات والوصول إليها، التي يمكن أن تكون لها آثار خفية على أداء الاستفسارات وسلوكها، ويمكن أن يؤدي عدم كفاية الاختبار قبل نشر تقسيم الإنتاج إلى مفاجآت غير سارة.

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

إلغاء صيانة القطع

استخدام أدوات التشغيل الآلي والمحاضر لإدارة مهام صيانة التقسيم مثل إضافة أجزاء جديدة، دمج قديمة، وإزالة البيانات القديمة، وإدارة التقسيم اليدوية معرضة للأخطاء ولا تُعد جيدة.

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

Overvis backup and Recovery Implications

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

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

الاتجاهات المستقبلية في تقسيم البيانات

ومع استمرار تطور تكنولوجيا قاعدة البيانات، تتقدم استراتيجيات وقدرات تقسيمها، كما يساعد فهم الاتجاهات الناشئة في إعداد التطورات المقبلة واتخاذ قرارات معمارية تطلعية.

قطع آلي

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

وتتزايد نظم قواعد البيانات الحديثة التي تدمج التشغيل الآلي الذكي الذي يمكن أن يوصي أو حتى ينفذ تلقائيا استراتيجيات تقسيم العمل استنادا إلى أنماط عبء العمل الملاحظ.

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

التجزئة السحابية - الوطنية

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

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

استراتيجيات التجزئة الهجينة

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

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

تنفيذ التجزئة: نهج تدريجي

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

الخطوة 1: تحليل عبء عملك

وبدءا من فهم عبء العمل الحالي فهما دقيقا، تحديد أكبر جداولكم وتحليل معدلات نموها، ودراسة أنماط التساؤل التي تكثر الاستفسارات والتي هي أكثر أهمية من حيث الأداء، وبحث الاستفسارات التي تمسح كميات كبيرة من البيانات أو تستغرق وقتا طويلا غير مقبول لتنفيذها.

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

الخطوة 2: تحديد أهدافك

هل تحاولين أساسا تحسين أداء الاستفسارات؟ تبسيط الاحتفاظ بالبيانات وحفظ المحفوظات؟ دعم التوزيع الجغرافي؟ توسيع نطاق العمل الأفقي؟ قد تؤدي أهداف مختلفة إلى استراتيجيات مختلفة للتقسيم.

حدد أهدافاً محددة وقابلة للقياس بدلاً من "العمل المُقبل" هدف "الخفض من نسبة 95 في المائة من الاستفسارات الأخيرة عن البيانات من 5 ثوان إلى أقل من 500 متر"

الخطوة 3: اختيار استراتيجية تقسيمك

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

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

الخطوة 4: تصميم نظام تقسيمك

لتحديد كم من التقسيمات التي ستصنعها في البداية وكيف ستتعامل مع نمو التقسيم عبر الزمن، لتقسيم الوقت، يقرر فترة كل تقسيم (ساعة، يومية، شهرية)

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

الخطوة 5: الاختبار

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

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

الخطوة 6: خطة هجرتك

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

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

الخطوة 7: الرصد والتفعيل الأمثل

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

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

تقاسم مختلف نظم قواعد البيانات

بينما مفاهيم التقسيم عالمية، تفاصيل التنفيذ تختلف اختلافاً كبيراً بين نظم قاعدة البيانات فهم هذه الاختلافات يساعدك على تعزيز قوّة قاعدة بياناتك الخاصة والعمل حول حدودها

PostgreSQL

دعم التفريق التوضيحي من النسخة 10 مع تحسينات كبيرة في النسخ اللاحقة، يدعم الاختلاف في النطاق والقائمة والتقسيم المكثف، فضلاً عن التفريق المتعدد المستويات، والفصل في مرحلة ما بعد الخدمة متطور جداً، ويلغي التقسيمات غير الضرورية أثناء التخطيط للاستفسارات عند الإمكان.

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

MySQL

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

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

قاعدة بيانات الأورام

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

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

SQL Server

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

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

خاتمة

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

Database partitioning isn't just about splitting data—it's about understanding how your application's access patterns, consistency requirements, and failure modes interact with different partitioning strategies. Each strategy carries hidden trade-offs that only become apparent under real-world load.

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

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

لمزيد من المعلومات عن وضع الاستراتيجيات على أفضل وجه في قاعدة البيانات، واستكشاف الموارد من PostgreSQL الوثائق الرسمية ، ]Microsoft's Azure Architecture Center ، و