सीडीबी फाइल क्या है?
सीडीबी फाइलें ईमेल जैसे मिशन-महत्वपूर्ण अनुप्रयोगों में उपयोग की जाती हैं। CDB का अर्थ “निरंतर डेटाबेस” है, जो निरंतर डेटाबेस बनाने या पढ़ने के लिए एक तेज़, विश्वसनीय और सरल पैकेज है। सिस्टम क्रैश के खिलाफ डेटाबेस प्रतिस्थापन सुरक्षित है। उपयोगकर्ताओं को पुनर्लेखन के दौरान रुकने की आवश्यकता नहीं है। सीडीबी एक सहयोगी सरणी (ऑन-डिस्क) के रूप में कार्य करता है, मानों के लिए कुंजी मैपिंग करता है, और एक ही कुंजी में एकाधिक मानों को संग्रहीत करने में सक्षम बनाता है।
सीडीबी फ़ाइल प्रारूप
सीडीबी फ़ाइल प्रारूप संख्याओं, ऑफसेट, लंबाई और हैश मानों को छोटे एंडियन प्रारूप में अहस्ताक्षरित 32-बिट पूर्णांक के रूप में संग्रहीत करता है। कुंजी और डेटा को बिना किसी विशेष उपचार के अपारदर्शी बाइट स्ट्रिंग माना जाता है। डेटाबेस की शुरुआत में, निश्चित आकार का हेडर फ़ाइल के भीतर उनकी स्थिति और स्लॉट में उनकी लंबाई सूचीबद्ध करके 256 हैश टेबल का प्रतिनिधित्व करता है। आमतौर पर डेटा को रिकॉर्ड के अनुक्रम के रूप में संग्रहीत किया जाता है, प्रत्येक रिकॉर्ड कुंजी लंबाई, डेटा लंबाई, कुंजी और डेटा संग्रहीत करता है। कोई छँटाई या संरेखण नियम नहीं हैं। रिकॉर्ड के बाद अलग-अलग लंबाई के 256 हैश टेबल का एक सेट होता है। चूंकि शून्य एक वैध लंबाई है, डेटाबेस में भौतिक रूप से संग्रहीत 256 से कम हैश टेबल हो सकते हैं, लेकिन 256 टेबल के रूप में कुछ भी नहीं माना जाता है। हैश टेबल में स्लॉट की एक श्रृंखला होती है, जिनमें से प्रत्येक में एक हैश मान और एक रिकॉर्ड ऑफ़सेट होता है। “खाली स्लॉट” में शून्य का ऑफसेट होता है।
संरचना
सीडीबी डेटाबेस में एक कंप्यूटर फ़ाइल में संपूर्ण डेटासेट होता है। इसमें तीन भाग होते हैं:
- एक निश्चित आकार का हेडर
- जानकारी
- हैश टेबल का एक सेट।
लुकअप केवल सटीक कुंजियों के लिए उपलब्ध हैं। लुकअप निम्न एल्गोरिथम का उपयोग करके कार्य करता है:
- कुंजी हैश करें।
- निर्धारित करें कि यह रिकॉर्ड किस हैश टेबल और स्लॉट पर स्थित होना चाहिए।
- हैश तालिका में संकेतित स्लॉट का परीक्षण करें।
एक से अधिक मानों वाली चाबियों के लुकअप के लिए, अगले स्लॉट पर खोज को फिर से शुरू करके अतिरिक्त मान प्राप्त किए जा सकते हैं।
विशेषताएँ
सीडीबी डेटाबेस संरचना कई विशेषताएं प्रदान करती है:
तेजी से खोज
एक विशाल डेटाबेस में एक सफल लुकअप सामान्य रूप से केवल दो डिस्क एक्सेस लेता है और एक असफल लुकअप केवल एक लेता है।
कम उपरि
एक डेटाबेस 2048 बाइट्स, 24 बाइट्स प्रति रिकॉर्ड और कुंजियों और डेटा के लिए स्थान का उपयोग करता है।
कोई यादृच्छिक सीमा नहीं
सीडीबी 4 गीगाबाइट तक के किसी भी डेटाबेस को मैनेज कर सकता है। चूंकि कोई अन्य प्रतिबंध नहीं हैं, इसलिए अभिलेखों को स्मृति में फिट होने की भी आवश्यकता नहीं है। डेटाबेस को एक मशीन स्वतंत्र प्रारूप में संग्रहीत किया जाता है।
तेजी से परमाणु डेटाबेस प्रतिस्थापन
कमांड cdbmake पूरे डेटाबेस को परिमाण के दो क्रमों में फिर से लिख सकता है, अन्य हैशिंग पैकेजों की तुलना में तेज़।
तेजी से डेटाबेस डंप
cdbdump डेटाबेस की सामग्री को cdbmake-संगत प्रारूप में प्रिंट कर सकता है।