فایل CDB چیست؟
فایل های CDB در برنامه های کاربردی حیاتی مانند ایمیل استفاده می شوند. CDB مخفف پایگاه داده ثابت است، یک بسته سریع، قابل اعتماد و ساده برای ایجاد یا خواندن پایگاه های داده ثابت. جایگزینی پایگاه داده در برابر خرابی سیستم ایمن است. کاربران مجبور نیستند در حین بازنویسی مکث کنند. CDB به عنوان یک آرایه انجمنی (روی دیسک) عمل می کند، کلیدها را به مقادیر نگاشت می کند و امکان ذخیره چندین مقدار را در یک کلید واحد فراهم می کند.
فرمت فایل CDB
فرمت فایل CDB اعداد، آفست ها، طول ها و مقادیر هش را در قالب اندین اندک به صورت اعداد صحیح 32 بیتی بدون علامت ذخیره می کند. تصور میشود که کلیدها و دادهها رشتههای بایتی مات هستند و هیچ درمان خاصی ندارند. در ابتدای پایگاه داده، هدر با اندازه ثابت 256 جدول هش را با فهرست کردن موقعیت آنها در فایل و طول آنها در اسلات ها نشان می دهد. معمولا داده ها به صورت دنباله ای از رکوردها ذخیره می شوند، هر رکورد طول کلید، طول داده، کلید و داده را ذخیره می کند. هیچ قانون مرتب سازی یا هم ترازی وجود ندارد. رکوردها با مجموعه ای از 256 جدول هش با طول های مختلف دنبال می شوند. از آنجایی که صفر یک طول معتبر است، ممکن است کمتر از 256 جدول هش به طور فیزیکی در پایگاه داده ذخیره شده باشد، اما چیزی به عنوان 256 جدول در نظر گرفته نمی شود. جداول هش از یک سری اسلات تشکیل شده است که هر کدام حاوی یک مقدار هش و یک رکورد افست است. «اسلات خالی» دارای افست صفر است.
ساختار فرمت فایل CDB
پایگاه داده CDB از کل مجموعه داده در یک فایل کامپیوتری تشکیل شده است. شامل سه بخش است:
- هدر با اندازه ثابت
- داده ها
- مجموعه ای از جداول هش.
جستجوها فقط برای کلیدهای دقیق در دسترس هستند. جستجوها با استفاده از الگوریتم زیر عمل می کنند:
- کلید را هش کن.
- تعیین کنید که این رکورد در کدام جدول هش و شکاف قرار گیرد.
- اسلات مشخص شده در جدول هش را تست کنید.
برای جستجوی کلیدهایی با بیش از یک مقدار، ممکن است با از سرگیری جستجو در شکاف بعدی، مقادیر اضافی پیدا شود.
امکانات
ساختار پایگاه داده CDB چندین ویژگی را ارائه می دهد:
جستجوهای سریع
یک جستجوی موفقیت آمیز در یک پایگاه داده بزرگ معمولاً فقط به دو دسترسی به دیسک نیاز دارد و یک جستجوی ناموفق فقط به یک مورد نیاز دارد.
سربار کم
یک پایگاه داده از 2048 بایت، 24 بایت در هر رکورد و فضایی برای کلیدها و داده ها استفاده می کند.
بدون محدودیت تصادفی
CDB می تواند هر پایگاه داده تا 4 گیگابایت را مدیریت کند. از آنجایی که هیچ محدودیت دیگری وجود ندارد، رکوردها حتی نباید در حافظه جا شوند. پایگاه های داده در قالبی مستقل از ماشین ذخیره می شوند.
تعویض سریع پایگاه داده اتمی
دستور cdbmake می تواند کل پایگاه داده را به دو مرتبه بزرگتر بازنویسی کند، سریعتر از سایر بسته های هش.
تخلیه سریع پایگاه داده
cdbdump می تواند محتویات یک پایگاه داده را در قالب سازگار با cdbmake چاپ کند.
منابع
[cdb (نرم افزار) - ویکی پدیا](https://en.wikipedia.org/wiki/Cdb_(نرم افزار))