PostgreSQL پارٹیشننگ ٹیوٹوریل

Postgresql Par Yshnng Yw Wryl



کسی بھی ڈیٹابیس کے لیے، کارکردگی ایک میٹرک ہے جس پر موثر اعتبار کے لیے توجہ دی جانی چاہیے، خاص طور پر جب ایک بڑا ڈیٹا شامل ہو۔ PostgreSQL کے ساتھ، آپ کو ریکارڈ کی تلاش کے دوران ٹیبل کو اسکین کرنے کے لیے درکار وقت اور وسائل کو بچانے کے لیے ٹیبل پارٹیشنز بنانا چاہیے۔ ایک بڑی میز کو چھوٹے حصوں میں تقسیم کرنے سے، کم میموری کی تبدیلی کی ضرورت ہوتی ہے اور آپ کی ایپلی کیشن بہتر کارکردگی کا مظاہرہ کرے گی کیونکہ یہ ڈیٹا بیس آپریشنز پر بچت کرتی ہے۔

اس پوسٹ میں PostgreSQL پارٹیشننگ کا احاطہ کیا گیا ہے۔ ہم تقسیم کرنے کے مختلف اختیارات پر تبادلہ خیال کریں گے جنہیں آپ استعمال کر سکتے ہیں اور مثالیں دیں گے کہ انہیں بہتر طور پر سمجھنے کے لیے کیسے استعمال کیا جائے۔

PostgreSQL پارٹیشنز کیسے بنائیں

کسی بھی ڈیٹا بیس میں متعدد اندراجات کے ساتھ متعدد میزیں ہوسکتی ہیں۔ آسان انتظام کے لیے، آپ کو ٹیبلز کو تقسیم کرنا چاہیے جو کہ ڈیٹا بیس کی اصلاح کے لیے ایک بہترین اور تجویز کردہ ڈیٹا گودام کا معمول ہے اور بھروسے میں مدد کے لیے۔ آپ فہرست، رینج اور ہیش سمیت مختلف پارٹیشنز بنا سکتے ہیں۔ آئیے ہر ایک پر تفصیل سے بات کریں۔







1. فہرست تقسیم کرنا

کسی بھی پارٹیشن پر غور کرنے سے پہلے، ہمیں وہ ٹیبل بنانا چاہیے جسے ہم پارٹیشنز کے لیے استعمال کریں گے۔ جدول بناتے وقت، تمام پارٹیشنز کے لیے دیے گئے نحو کی پیروی کریں:



ٹیبل کا نام بنائیں

'ٹیبل_نام' مختلف کالموں کے ساتھ آپ کے ٹیبل کا نام ہے جو ٹیبل میں ہوں گے اور ان کے ڈیٹا کی اقسام۔ 'partition_key' کے لیے، یہ وہ کالم ہے جس کے ذریعے تقسیم ہو گی۔ مثال کے طور پر، درج ذیل تصویر سے پتہ چلتا ہے کہ ہم نے تین کالموں کے ساتھ 'کورسز' ٹیبل بنایا ہے۔ مزید برآں، ہماری تقسیم کاری کی قسم LIST ہے، اور ہم فیکلٹی کالم کو اپنی تقسیم کی کلید کے طور پر منتخب کرتے ہیں:







ایک بار جدول بن جانے کے بعد، ہمیں مختلف پارٹیشنز بنانے چاہئیں جن کی ہمیں ضرورت ہے۔ اس کے لیے درج ذیل نحو کے ساتھ آگے بڑھیں:

مین_ٹیبل کا ٹیبل پارٹیشن_ٹیبل پارٹیشن بنائیں (VALUE) میں قدروں کے لیے؛

مثال کے طور پر، مندرجہ ذیل تصویر میں پہلی مثال یہ ظاہر کرتی ہے کہ ہم نے 'Fset' کے نام سے ایک پارٹیشن ٹیبل بنایا ہے جس میں 'فیکلٹی' کالم میں تمام اقدار ہیں جنہیں ہم نے اپنی پارٹیشن کلید کے طور پر منتخب کیا ہے جس کی قیمت 'FSET' ہے۔ ہم نے دیگر دو پارٹیشنز کے لیے بھی اسی طرح کی منطق کا استعمال کیا جو ہم نے بنائے تھے۔



ایک بار جب آپ کے پاس پارٹیشنز ہو جائیں، تو آپ ہماری بنائی ہوئی مرکزی میز میں اقدار داخل کر سکتے ہیں۔ ہر ایک قدر جو آپ داخل کرتے ہیں متعلقہ تقسیم کاری کے ساتھ مماثل ہے جو آپ نے منتخب کردہ پارٹیشن کلید کی اقدار کی بنیاد پر کی ہے۔

اگر ہم مرکزی جدول میں تمام اندراجات کو درج کرتے ہیں، تو ہم دیکھ سکتے ہیں کہ اس میں وہ تمام اندراجات ہیں جو ہم نے داخل کی ہیں۔

اس بات کی تصدیق کرنے کے لیے کہ ہم نے پارٹیشنز کو کامیابی کے ساتھ بنایا ہے، آئیے ہر تخلیق کردہ پارٹیشنز کے ریکارڈز کو چیک کریں۔

غور کریں کہ کس طرح ہر تقسیم شدہ ٹیبل صرف وہ اندراجات رکھتا ہے جو تقسیم کے وقت بیان کردہ معیار سے میل کھاتا ہے۔ اس طرح فہرست کے لحاظ سے تقسیم کام کرتی ہے۔

2. رینج کی تقسیم

پارٹیشن بنانے کا ایک اور معیار RANGE آپشن کا استعمال کرنا ہے۔ اس کے لیے، ہمیں رینج کے لیے استعمال کرنے کے لیے شروع اور اختتامی اقدار کی وضاحت کرنی چاہیے۔ تاریخوں کے ساتھ کام کرتے وقت یہ طریقہ استعمال کرنا مثالی ہے۔

مین ٹیبل بنانے کے لیے اس کا نحو درج ذیل ہے:

ٹیبل کا نام بنائیں

ہم نے 'cust_orders' ٹیبل بنایا اور تاریخ کو اپنی 'partition_key' کے طور پر استعمال کرنے کے لیے مخصوص کیا۔

پارٹیشنز بنانے کے لیے درج ذیل نحو کا استعمال کریں:

(start_value) سے لے کر (end_value) کی قدروں کے لیے مین_ٹیبل کا ٹیبل پارٹیشن_ٹیبل پارٹیشن بنائیں؛

ہم نے 'تاریخ' کالم کا استعمال کرتے ہوئے سہ ماہی کام کرنے کے لیے اپنے پارٹیشنز کی وضاحت کی۔

تمام پارٹیشنز بنانے اور ڈیٹا داخل کرنے کے بعد، ہمارا ٹیبل اس طرح نظر آتا ہے:

اگر ہم تخلیق شدہ پارٹیشنز میں اندراجات کو چیک کرتے ہیں، تو ہم تصدیق کرتے ہیں کہ ہماری تقسیم کاری کام کرتی ہے اور ہمارے پاس صرف تقسیم کاری کے معیار کے مطابق مناسب ریکارڈ موجود ہے جو ہم نے بیان کیا ہے۔ تمام نئی اندراجات جو آپ اپنے ٹیبل میں شامل کرتے ہیں، وہ خود بخود متعلقہ پارٹیشن میں شامل ہو جاتی ہیں۔

3. ہیش پارٹیشننگ

تقسیم کرنے کا آخری معیار جس پر ہم بحث کریں گے وہ ہے ہیش کا استعمال۔ آئیے درج ذیل نحو کا استعمال کرتے ہوئے تیزی سے مین ٹیبل بنائیں:

ٹیبل کا نام بنائیں

ہیش کے ساتھ تقسیم کرتے وقت، آپ کو ماڈیولس اور بقیہ کو فراہم کرنا ہوگا، آپ کی مخصوص کردہ 'partition_key' کی ہیش ویلیو سے تقسیم کی جانے والی قطار۔ ہمارے کیس کے لیے، ہم 4 کا ماڈیولس استعمال کرتے ہیں۔

ہمارا نحو درج ذیل ہے:

قدروں کے لیے مین_ٹیبل کا ٹیبل پارٹیشن_ٹیبل پارٹیشن بنائیں (ماڈیولس نمبر 1، باقی نمبر 2)؛

ہماری تقسیم درج ذیل ہے:

'مین_ٹیبل' کے لیے، اس میں وہ اندراجات ہیں جو درج ذیل میں دکھائے گئے ہیں:

تخلیق شدہ پارٹیشنز کے لیے، ہم ان کے اندراجات تک تیزی سے رسائی حاصل کر سکتے ہیں اور تصدیق کر سکتے ہیں کہ ہماری تقسیم کاری کام کرتی ہے۔

نتیجہ

پوسٹگری ایس کیو ایل پارٹیشنز وقت کی بچت اور بھروسے کو بڑھانے کے لیے ڈیٹا بیس کو بہتر بنانے کا ایک آسان طریقہ ہے۔ ہم نے تقسیم کے بارے میں تفصیل سے تبادلہ خیال کیا بشمول دستیاب مختلف اختیارات۔ مزید یہ کہ، ہم نے مثالیں فراہم کی ہیں کہ پارٹیشنز کو کیسے نافذ کیا جائے۔ انہیں آزمائیں!