البرنامج التعليمي لتقسيم PostgreSQL

Albrnamj Alt Lymy Ltqsym Postgresql



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

يغطي هذا المنشور تقسيم PostgreSQL. سنناقش خيارات التقسيم المختلفة التي يمكنك استخدامها وسنقدم أمثلة حول كيفية استخدامها لفهم أفضل.

كيفية إنشاء أقسام PostgreSQL

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







1. قائمة التقسيم

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



إنشاء جدول table_name(column1 data_type, column2 data_type) PARTITION BY (partition_key);

'اسم_الجدول' هو اسم الجدول الخاص بك إلى جانب الأعمدة المختلفة التي سيحتوي عليها الجدول وأنواع البيانات الخاصة بها. بالنسبة لـ “partition_key” فهو العمود الذي سيتم من خلاله إجراء التقسيم. على سبيل المثال، الصورة التالية توضح أننا قمنا بإنشاء جدول 'الدورات' بثلاثة أعمدة. علاوة على ذلك، نوع التقسيم لدينا هو LIST، ونختار عمود الكلية كمفتاح التقسيم لدينا:







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

إنشاء جدول Partition_table PARTITION OF main_table للقيم في (VALUE)؛

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



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

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

للتحقق من أننا نجحنا في إنشاء الأقسام، فلنتحقق من السجلات الموجودة في كل قسم من الأقسام التي تم إنشاؤها.

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

2. تقسيم النطاق

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

بناء الجملة الخاص به لإنشاء الجدول الرئيسي هو كما يلي:

إنشاء جدول table_name(column1 data_type, column2 data_type) PARTITION BY RANGE (partition_key);

لقد أنشأنا جدول 'cust_orders' وقمنا بتحديده لاستخدام التاريخ باعتباره 'مفتاح_التقسيم' الخاص بنا.

لإنشاء الأقسام، استخدم بناء الجملة التالي:

إنشاء جدول Partition_table PARTITION OF main_table للقيم من (start_value) إلى (end_value)؛

لقد حددنا أقسامنا للعمل بشكل ربع سنوي باستخدام عمود 'التاريخ'.

بعد إنشاء جميع الأقسام وإدراج البيانات، هكذا يبدو جدولنا:

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

3. تقسيم التجزئة

معيار التقسيم الأخير الذي سنناقشه هو استخدام التجزئة. لنقم بإنشاء الجدول الرئيسي سريعًا باستخدام الصيغة التالية:

إنشاء جدول table_name(column1 data_type, column2 data_type) PARTITION BY HASH (partition_key);

عند التقسيم باستخدام التجزئة، يجب عليك توفير المعامل والباقي، الصفوف التي سيتم تقسيمها حسب قيمة التجزئة الخاصة بـ 'partition_key' المحدد. في حالتنا، نستخدم معامل 4.

بناء الجملة لدينا هو كما يلي:

إنشاء جدول Partition_table PARTITION OF main_table للقيم مع (MODULUS num1، REMAINDER num2)؛

أقسامنا هي كما يلي:

بالنسبة للجدول الرئيسي فهو يحتوي على المدخلات الموضحة في ما يلي:

بالنسبة للأقسام التي تم إنشاؤها، يمكننا الوصول إلى إدخالاتها بسرعة والتحقق من عمل الأقسام لدينا.

خاتمة

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