Index locking
ڈیٹا بیس میں انڈیکس ایک ڈیٹا ڈھانچہ ہے، جو ڈیٹا بیس کا حصہ ہے، جسے ڈیٹا بیس سسٹم کے ذریعے صارف کے ڈیٹا تک رسائی کو مؤثر طریقے سے نیویگیٹ کرنے کے لیے استعمال کیا جاتا ہے۔ انڈیکس ڈیٹا سسٹم ڈیٹا ہے جو صارف کے ڈیٹا سے الگ ہے، اور بنیادی طور پر پوائنٹرز پر مشتمل ہوتا ہے۔ ڈیٹا بیس میں تبدیلیاں (اندراج، حذف، یا کارروائیوں میں ترمیم کرکے)، صارف کے ڈیٹا تک درست رسائی کو برقرار رکھنے کے لیے انڈیکس کو اپ ڈیٹ کرنے کی ضرورت پڑ سکتی ہے۔ انڈیکس لاکنگ ایک تکنیک ہے جو انڈیکس کی سالمیت کو برقرار رکھنے کے لیے استعمال ہوتی ہے۔ ڈیٹا بیس ٹرانزیکشن کے دوران انڈیکس کا ایک حصہ لاک ہو جاتا ہے جب متعلقہ صارف کے ڈیٹا تک رسائی کی کوشش کے نتیجے میں ٹرانزیکشن کے ذریعے اس حصے تک رسائی حاصل کی جا رہی ہوتی ہے۔ مزید برآں، نظام کی خود کی دیکھ بھال کی سرگرمیوں کے حصے کے طور پر، انڈیکس کو برقرار رکھنے اور اس میں ترمیم کرنے کے لیے خصوصی ڈیٹا بیس سسٹم ٹرانزیکشنز (صارف کے ذریعے کیے گئے ٹرانزیکشنز نہیں) کو استعمال کیا جا سکتا ہے۔ جب انڈیکس کا ایک حصہ ٹرانزیکشن کے ذریعے لاک کیا جاتا ہے، تو دوسرے ٹرانزیکشنز کو اس انڈیکس حصے تک رسائی سے بلاک کیا جا سکتا ہے (لاک کی قسم اور مطلوبہ آپریشن کے لحاظ سے ترمیم کرنے سے، اور یہاں تک کہ اسے پڑھنے سے بھی بلاک کیا جا سکتا ہے)۔ انڈیکس لاکنگ پروٹوکول اس بات کی ضمانت دیتا ہے کہ فینٹم ریڈ کا رجحان نہیں ہوگا۔ انڈیکس لاکنگ پروٹوکول میں کہا گیا ہے: ہر رشتے میں کم از کم ایک انڈیکس ہونا چاہیے۔ ایک ٹرانزیکشن تعلق پر ایک یا زیادہ انڈیکس کے ذریعے تلاش کرنے کے بعد ہی ٹپل تک رسائی حاصل کر سکتا ہے۔ ایک ٹرانزیکشن ٹی آئی جو ایک لک اپ انجام دیتا ہے اسے ایس موڈ میں ان تمام انڈیکس لیف نوڈس کو لاک کرنا چاہیے جن تک وہ رسائی حاصل کرتا ہے، چاہے لیف نوڈ میں کوئی ٹپل نہ ہو جو انڈیکس لک اپ کو مطمئن کرے (جیسے۔ رینج استفسار کے لیے، پتی میں کوئی ٹپل رینج میں نہیں ہے) ایک ٹرانزیکشن ٹی آئی جو کسی رشتے میں ٹپل ٹی کو داخل کرتا ہے، اپ ڈیٹ کرتا ہے یا حذف کرتا ہے اسے تمام انڈیکس کو اپ ڈیٹ کرنا چاہیے اور اسے انسرٹ/اپ ڈیٹ/ڈیلیٹ سے متاثر ہونے والے تمام انڈیکس لیف نوڈس پر خصوصی لاک حاصل کرنا چاہیے۔ دو مرحلے والے لاکنگ پروٹوکول کے قوانین کا مشاہدہ کرنا ضروری ہے۔ انڈیکس تک رسائی کے لیے خصوصی ہم آہنگی کنٹرول تکنیک موجود ہیں۔ یہ تکنیکیں اشاریہ کی قسم پر منحصر ہوتی ہیں، اور اس کی ساخت سے فائدہ اٹھاتی ہیں۔ وہ عام طور پر صارف کے ڈیٹا پر لاگو ہونے والے انڈیکس کے عام ہم آہنگی کنٹرول طریقوں پر لاگو ہونے سے کہیں زیادہ موثر ہوتے ہیں۔ قابل ذکر اور وسیع پیمانے پر تحقیق شدہ بی-ٹری (بی-ٹری کنکرنسی کنٹرول) کے لیے خصوصی تکنیک ہیں جو باقاعدگی سے ڈیٹا بیس انڈیکس کے طور پر استعمال ہوتی ہیں۔ انڈیکس لاک کا استعمال دھاگوں کو مربوط کرنے کے لیے کیا جاتا ہے جو بیک وقت انڈیکس تک رسائی حاصل کرتے ہیں، اور عام طور پر صارف کے ڈیٹا پر عام ٹرانزیکشن لاک سے کم عرصے تک رہتے ہیں۔ پیشہ ورانہ ادب میں، انہیں اکثر لیچز کہا جاتا ہے۔ ڈیٹا بیس انڈیکس کنکرنسی کنٹرول لاک (ڈیٹا بیس) بی-ٹری کنکرنسی کنٹرول حوالہ جات ڈیٹا بیس ٹرانزیکشن پروسیسنگ کنکرنسی کنٹرول بھی دیکھیں۔