Metakit
मेटाकिट एक एम्बेडेड डेटाबेस लाइब्रेरी है जिसमें एक छोटा पदचिह्न है। यह फ्लैट-फाइल, रिलेशनल, ऑब्जेक्ट-ओरिएंटेड और ट्री-स्ट्रक्चर्ड डेटाबेस के बीच की खाई को भरता है, रिलेशनल जॉइन्स, सीरियलाइजेशन, नेस्टेड स्ट्रक्चर्स और इंस्टेंट स्कीमा इवोल्यूशन का समर्थन करता है। सी + + (देशी), पायथन और टी. सी. एल. के लिए इंटरफेस सबसे अधिक उपयोग किए जाते हैं। हिस्ट्री मेटाकिट नीदरलैंड के एक सॉफ्टवेयर डेवलपर जीन-क्लाउड विप्लर द्वारा लिखा गया था। इसका विकास 1997 के आसपास शुरू हुआ और 2001 में इसे एम. आई. टी. एक्स11 लाइसेंस के तहत मुक्त स्रोत के रूप में जारी किया गया। लेखक व्यावसायिक सहायता प्रदान करता है। हालाँकि, पिछले कुछ वर्षों में, विप्लर ने मेटाकिट पर कम और अपनी अन्य परियोजनाओं पर अधिक समय बिताया है। डेटाबेस का उपयोग कई वाणिज्यिक उत्पादों (मैक ओएस एक्स 10.4 और उससे पहले के पते की पुस्तक सहित) और कई ओपन सोर्स (उदाहरण के लिए केडीई का फीड रीडर एक्रेगेटर) और इन-हाउस परियोजनाओं (आमतौर पर पायथन या टी. सी. एल. इंटरफेस का उपयोग करते हुए) में किया जाता है। विप्लर द्वारा लिखित एक संबंधित परियोजना, स्टार्किट (टी. सी. एल. के लिए आभासी फाइल प्रणाली), टी. सी. एल. प्रोग्रामरों के बीच लोकप्रियता तक पहुँच गई। मेटाकिट की डाक-सूची के सक्रिय ग्राहक हैं और इसे नियमित रूप से विप्लर द्वारा पोस्ट किया जाता है। अन्य डेवलपर्स ने बग फिक्स और सुझावों के साथ परियोजना में योगदान दिया है। विशेषताएँ अधिकांश अन्य डेटाबेस प्रणालियों के विपरीत जो डेटाबेस तालिका की पंक्तियों को एक स्थान पर संग्रहीत करते हैं (पंक्ति-उन्मुख वास्तुकला) मेटाकिट अलग-अलग स्तंभों को अलग-अलग संग्रहीत करता है (स्तंभ-उन्मुख वास्तुकला)। कई वर्षों तक तालिकाओं तक केवल रैखिक पहुँच संभव थी (पहुँच के लिए जटिलता ओ (1) और खोज के लिए ओ (एन) के साथ), बाद में हैश संरचनाएँ और बी-ट्री जैसी संरचनाएँ जोड़ी गईं (विशिष्ट खोज जटिलता को ओ (1) तक कम करना)। वर्षों से संबंधपरक संचालन (जैसे समूह-दर-समूह और जुड़ाव) भी जोड़े गए। व्यू नामक लचीले तंत्र के माध्यम से तालिका डेटा को जोड़ना और संसाधित करना संभव है। डेटाबेस डेटा प्लेटफार्मों के बीच पोर्टेबल हैं। मेटाकिट का डिस्क स्थान बहुत कम है-इसे यथासंभव कम करने के लिए कई तकनीकों को स्वचालित रूप से नियोजित किया जाता है। मेटाकिट डाटाबेस संरचना (किटव्यू नामक) का दर्शक प्रदान किया गया है। डेटाबेस आकार की व्यावहारिक सीमा लगभग 1 जीबी (64-बिट प्लेटफार्मों पर भी) है। मल्टीथ्रेडेड और मल्टीयूजर एक्सेस के लिए प्रोग्रामर से मैन्युअल समर्थन की आवश्यकता होती है और इसे हतोत्साहित किया जाता है (सी + + में, टी. सी. एल. और पायथन स्वचालित रूप से एक ग्लोबल लॉक का उपयोग करते हैं)। अधिक उन्नत विशेषताओं के संयोजनों का अक्सर परीक्षण नहीं किया जाता है और वे विफल हो सकते हैं। अन्य डेटाबेस की तुलना में कुछ बेहतर प्रदर्शन प्राप्त करना संभव है (प्रकाशित बेंचमार्क में एसक्यूलाइट और बर्कले डीबी शामिल हैं) लेकिन इसके लिए बहुत अधिक परीक्षण और मेटाकिट आंतरिक ज्ञान की आवश्यकता होती है। एसक्यूएल की तुलना में मेटाकिट का एपीआई निम्न स्तर का है। मेटाकिट की सबसे बड़ी कमजोरी इसका धब्बेदार और कभी-कभी अप्रचलित प्रलेखन है। इसके एपीआई और प्रदर्शन ट्यूनिंग की पूरी समझ के लिए पुस्तकालय के स्रोत कोड के गहन अध्ययन की आवश्यकता होती है। मेटाकिट्स शब्दावली में मानक डेटाबेस शब्दावली के लिए कई अंतर हैं। एपीआई और फ़ाइल प्रारूप समय के साथ कई बार बदल गया है। मेटाकिट का विंडोज, यूनिक्स और मैक ओएस एक्स पर परीक्षण किया गया है। भाषा बाइंडिंग सी + + (देशी): मेटाकिट सी + + में लिखा जाता है (इसकी नई विशेषताओं का उपयोग किए बिना ताकि बहुत पुराने संकलक भी इसे संभाल सकें)। पायथनः जिसे Mk4py Tcl कहा जाता हैः जिसे Mk4tcl कहा जाता है, शीर्ष पर एक वैकल्पिक OO बाइंडिंग के साथ जिसे Oomk कहा जाता है। अन्य भाषाओं को एस. डब्ल्यू. आई. जी. की मदद से जोड़ा जा सकता है। बाहरी लिंक मेटाकिट साइट ई4ग्राफः लाइब्रेरी जो प्रोग्रामों को लगातार ग्राफ जैसे डेटा को संग्रहीत करने और हेरफेर करने की अनुमति देती है, जिसे एमआईटी लाइसेंस का उपयोग करके मेटाकिट फ्री डेटाबेस प्रबंधन सिस्टम सी + + लाइब्रेरी सॉफ्टवेयर के शीर्ष पर बनाया गया है।