Metakit
মেটাকিট একটি ছোট পদচিহ্ন সহ একটি এমবেডেড ডাটাবেস লাইব্রেরি। এটি ফ্ল্যাট-ফাইল, রিলেশনাল, অবজেক্ট-ওরিয়েন্টেড এবং ট্রি-স্ট্রাকচার্ড ডেটাবেসের মধ্যে ব্যবধান পূরণ করে, রিলেশনাল জয়েন, সিরিয়ালাইজেশন, নেস্টেড স্ট্রাকচার এবং ইনস্ট্যান্ট স্কিমা বিবর্তনকে সমর্থন করে। সি + + (নেটিভ), পাইথন এবং টি. সি. এল-এর ইন্টারফেসগুলি সবচেয়ে বেশি ব্যবহৃত হয়। হিস্ট্রি মেটাকিট লিখেছেন নেদারল্যান্ডসের একজন সফ্টওয়্যার ডেভেলপার জিন-ক্লাউড উইপলার। এর বিকাশ 1997 সালের দিকে শুরু হয় এবং 2001 সালে এটি এম. আই. টি এক্স11 লাইসেন্সের অধীনে মুক্ত উৎস হিসাবে প্রকাশিত হয়। লেখক বাণিজ্যিক সহায়তা প্রদান করেন। যাইহোক, গত কয়েক বছরে উইপলার মেটাকিট এবং তার অন্যান্য প্রকল্পে কম সময় ব্যয় করেছেন। ডাটাবেজটি বেশ কয়েকটি বাণিজ্যিক পণ্য (ম্যাক ওএস এক্স 10.4 এবং তার আগের অ্যাড্রেস বুক সহ) এবং বেশ কয়েকটি ওপেন সোর্স (উদাহরণস্বরূপ কেডিই-এর ফিড রিডার অ্যাক্রিগেটর) এবং অভ্যন্তরীণ প্রকল্পে (সাধারণত পাইথন বা টিসিএল ইন্টারফেস ব্যবহার করে) ব্যবহৃত হয়। উইপলার রচিত একটি সম্পর্কিত প্রকল্প, স্টারকিট (টিসিএল-এর জন্য ভার্চ্যুয়াল ফাইল সিস্টেম), টিসিএল প্রোগ্রামারদের মধ্যে জনপ্রিয়তা অর্জন করে। মেটাকিটের মেইলিং-তালিকায় সক্রিয় গ্রাহক রয়েছে এবং নিয়মিতভাবে উইপলার দ্বারা পোস্ট করা হয়। অন্যান্য ডেভেলপাররা বাগ ফিক্স এবং পরামর্শ দিয়ে প্রকল্পে অবদান রেখেছেন। বৈশিষ্ট্যগুলি বেশিরভাগ অন্যান্য ডাটাবেস সিস্টেমের মতো নয় যা একটি ডাটাবেস টেবিলের সারিগুলি এক জায়গায় সংরক্ষণ করে (সারি-ভিত্তিক স্থাপত্য) মেটাকিট পৃথক কলামগুলি আলাদাভাবে সংরক্ষণ করে (কলাম-ভিত্তিক স্থাপত্য)। বহু বছর ধরে টেবিলগুলিতে শুধুমাত্র রৈখিক প্রবেশাধিকার সম্ভব ছিল (প্রবেশাধিকারের জন্য জটিলতা ও (1) এবং অনুসন্ধানের জন্য ও (এন) সহ), পরে হ্যাশ কাঠামো এবং বি-গাছের মতো কাঠামো যুক্ত করা হয়েছিল (সাধারণ অনুসন্ধান জটিলতা ও (1)-এ হ্রাস করে)। বছরের পর বছর ধরে রিলেশনাল অপারেশন (যেমন গ্রুপ-বাই এবং জয়েন) যোগ করা হয়েছে। ভিউ নামক নমনীয় পদ্ধতির মাধ্যমে টেবিলের তথ্য একত্রিত করা এবং প্রক্রিয়া করা সম্ভব। ডাটাবেসের তথ্য প্ল্যাটফর্মের মধ্যে বহনযোগ্য। মেটাকিটের ডিস্ক স্পেস ওভারহেড খুব কম-এটি যতটা সম্ভব হ্রাস করার জন্য বেশ কয়েকটি কৌশল স্বয়ংক্রিয়ভাবে নিযুক্ত করা হয়। মেটাকিট ডাটাবেস কাঠামোর দর্শক (কিটভিউ নামে) প্রদান করা হয়েছে। ডাটাবেসের আকারের ব্যবহারিক সীমা প্রায় 1 জিবি (এমনকি 64-বিট প্ল্যাটফর্মেও)। মাল্টিথ্রেডেড এবং মাল্টিইউজার অ্যাক্সেসের জন্য প্রোগ্রামারের কাছ থেকে ম্যানুয়াল সমর্থন প্রয়োজন এবং এটি নিরুৎসাহিত করা হয় (সি + + এ, টিসিএল এবং পাইথন একটি স্বয়ংক্রিয়ভাবে গ্লোবাল লক ব্যবহার করে)। আরও উন্নত বৈশিষ্ট্যের সংমিশ্রণগুলি প্রায়শই পরীক্ষা করা হয় না এবং ব্যর্থ হতে পারে। অন্যান্য ডেটাবেসের তুলনায় কিছুটা ভাল পারফরম্যান্স অর্জন করা সম্ভব (প্রকাশিত মানদণ্ডের মধ্যে রয়েছে এসকিউএলাইট এবং বার্কলে ডিবি) তবে এর জন্য প্রচুর পরীক্ষা এবং মেটাকিট অভ্যন্তরীণ সম্পর্কে প্রচুর জ্ঞানের প্রয়োজন। এসকিউএল-এর তুলনায় মেটাকিটের এপিআই নিম্ন স্তরের। মেটাকিটের সবচেয়ে বড় দুর্বলতা হল এর স্পট এবং কখনও কখনও অপ্রচলিত ডকুমেন্টেশন। এর এপিআই এবং পারফরম্যান্স টিউনিং সম্পর্কে সম্পূর্ণ বোঝার জন্য লাইব্রেরির সোর্স কোডের গভীর অধ্যয়নের প্রয়োজন। স্ট্যান্ডার্ড ডাটাবেস পরিভাষার সাথে মেটাকিটের পরিভাষার অনেক পার্থক্য রয়েছে। সময়ের সাথে সাথে এপিআই এবং ফাইলের বিন্যাস বেশ কয়েকবার পরিবর্তিত হয়েছে। মেটাকিট উইন্ডোজ, ইউনিক্স এবং ম্যাক ওএস এক্স-এ পরীক্ষা করা হয়। ভাষার বন্ধন সি + + (স্থানীয়): মেটাকিট সি + +-এ লেখা হয় (এর নতুন বৈশিষ্ট্যগুলি ব্যবহার না করেই যাতে খুব পুরানো সংকলকগুলিও এটি পরিচালনা করতে পারে)। পাইথনঃ যাকে Mk4py Tcl বলা হয়ঃ যাকে Mk4tcl বলা হয়, যার উপরে একটি ঐচ্ছিক OO বাঁধাই থাকে যাকে Oomk বলা হয়। অন্যান্য ভাষাগুলিকে এস. ডব্লিউ. আই. জি-এর সাহায্যে সংযুক্ত করা যেতে পারে। বাহ্যিক লিঙ্ক মেটাকিট সাইট ই4গ্রাফঃ লাইব্রেরি যা প্রোগ্রামগুলিকে গ্রাফের মতো ডেটা ক্রমাগত সংরক্ষণ এবং পরিচালনা করার অনুমতি দেয়, মেটাকিট ফ্রি ডাটাবেস ম্যানেজমেন্ট সিস্টেমের উপরে নির্মিত সি + + লাইব্রেরি সফ্টওয়্যার এমআইটি লাইসেন্স ব্যবহার করে