ہر ڈیٹا کی مجموعہ کو سیگمنٹس میں تقسیم کیا گیا ہے۔ ہر سیگمنٹ میں آلاتی ساتھی ذخیرہ، لوڈ، اور انڈیکس ہوتا ہے۔

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

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

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

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

زیر جلد محفوظات

کوآڈرینٹ دو قسم کی زیر جلد محفوظت کا معاونت کرتا ہے: ان-میموری اور آن-ڈسک۔

ان-میموری زیر جلد محفوظت محفوظ دیتا کو ان-میموری ویکٹرز کی طرح ترتیب دیتی ہے۔ جب سروس شروع ہوتی ہے تو محفوظ دیتا میموری میں لوڈ ہوتا ہے، جبکہ ڈسک اور راکس ڈی بی صرف استمرار کے لئے استعمال ہوتے ہیں۔ یہ قسم کی محفوظت بہت تیز ہوتی ہے لیکن تمام ڈیٹا کو محفوظ کرنے کے لئے بڑی میموری کی بہتات ہو سکتی ہے، خاص کر اگر محفوظت بڑی قیمتیں (جیسے موجودہ خلاصے یا تصاویر) شامل ہوں۔

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

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

ورژن کنٹرول

ڈیٹا کی سلامتی میعاری کے لئے، کوآڈرینٹ ہر تبدیلی کو دو مراحل میں کرتا ہے۔ پہلے، ڈیٹا کو رایٹ-آہیڈ-لاگ (WAL) میں لکھا جاتا ہے، جو تمام آپریشنز کو ترتیب دیتا ہے اور تمام عملیات کو ترتیبی نمبر مختص کرتا ہے۔

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