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