libmdbx 0.10.4 বিভিন্ন উন্নতি এবং বাগ সংশোধন সহ আসে

মুক্তি সংস্করণ 0.10.4 লাইব্রেরি "Libmdbx" যা মোট, 160 টি ফাইলে 57 টিরও বেশি পরিবর্তন করা হয়েছে, ~ 5000 লাইন যোগ করা হয়েছে এবং ~ 2500 সরানো হয়েছে। যারা libmdbx এর সাথে অপরিচিত তাদের জন্য, আপনার জানা উচিত যে এটি লাইব্রেরির একটি সেট যা কী-ভ্যালু ক্লাসের একটি কমপ্যাক্ট, হাই-পারফরম্যান্স এমবেডেড ডাটাবেসের বাস্তবায়ন।

ঐতিহাসিকভাবে, libmdbx হল LMDB DBMS এর একটি গভীর পুনর্নির্মাণ এবং নির্ভরযোগ্যতা, বৈশিষ্ট্য সেট এবং পারফরম্যান্সে তার পূর্বসূরিকে ছাড়িয়ে যায়। LMDB এর তুলনায়, libmdbx কোডের মান, API স্থিতিশীলতা, পরীক্ষা এবং স্বয়ংক্রিয় চেকের উপর অনেক জোর দেয়। ডাটাবেস কাঠামোর অখণ্ডতা যাচাই করার একটি উপযোগিতা কিছু পুনরুদ্ধারের বিকল্প প্রদান করা হয়।

প্রযুক্তিগতভাবে, libmdbx এসিআইডি, কঠোর পরিবর্তন সিরিয়ালাইজেশন, এবং অ-ব্লকিং কোরগুলি জুড়ে রৈখিক স্কেলিং সহ পড়ার প্রস্তাব দেয় সিপিইউ এর। স্বয়ংক্রিয় কম্প্যাকশন, স্বয়ংক্রিয় ডাটাবেস সাইজ কন্ট্রোল, এবং র rank্যাঙ্ক ক্যোয়ারী অনুমান সমর্থন করে। 2016 থেকে, প্রকল্পগুলি ইতিবাচক প্রযুক্তি দ্বারা অর্থায়ন করা হয়েছে এবং 2017 থেকে তাদের পণ্যগুলিতে ব্যবহৃত হয়েছে।

Libmdbx এর জন্য, একটি C ++ API দেওয়া হয়, পাশাপাশি জং, হাস্কেল, পাইথন, নোডজেএস, রুবি, গো, নিম উত্সাহীদের সাথে সামঞ্জস্যপূর্ণ বাইন্ডিং। Libfpta- এর জন্য, শুধুমাত্র C / C ++ হেডার ফাইলের আকারে API বর্ণনা সর্বজনীনভাবে উপলব্ধ।

লিনাক্স, উইন্ডোজ, ম্যাকওএস, অ্যান্ড্রয়েড, আইওএস, ফ্রিবিএসডি, ড্রাগনফ্লাই, সোলারিস, ওপেনসোলারিস, ওপেন ইন্ডিয়ানা, নেটবিএসডি, ওপেনবিএসডি এবং অন্যান্য সামঞ্জস্যপূর্ণ সিস্টেমগুলিকে সমর্থন করার পাশাপাশি POSIX.1-2008।

Libmdbx 0.10.4 এর প্রধান নতুন বৈশিষ্ট্য

Libmdbx 0.10.4 এর এই নতুন সংস্করণে বিকাশকারীরা খেলার যোগ্য নির্মাণের ক্ষমতা সরবরাহ করতে সক্ষম হওয়ার জন্য কাজ করেছে, এছাড়াও, পরীক্ষার উন্নতি করা হয়েছে এবং ডাটাবেসের মধ্যে পেজ ট্রি এবং জিসি বিষয়বস্তুর সমস্ত অর্জনযোগ্য অ-আইসোমরফিক রাজ্যগুলি পরীক্ষা করার জন্য পরীক্ষার স্ক্রিপ্টগুলি বাড়ানো হয়েছে।

C ++ API- এ একবার "noexcept" স্থির করা হয়েছে, "কার্সার :: ইরেজ ()" পদ্ধতির জন্য অতিরিক্ত ওভারলোড যোগ করা হয়েছে, প্রান্তিককরণ নিশ্চিত করার জন্য "std :: string" ব্যবহার করে বাফার বাস্তবায়ন উপশম হয় (CLANG libstdc ++ এর জন্য বর্তমান)

উপরন্তু, এটি হাইলাইট করা হয় যে পর্যায়ক্রমে যাচাই করা হয়েছিল যাচাইয়ের একটি সিরিজ যোগ করার সাথে ডাটাবেসের ইচ্ছাকৃত ক্ষতির ক্ষেত্রে স্থিতিশীলতা নিশ্চিত করতে।

অন্যদিকে, এটি হাইলাইট করা হয়েছে যে সিএমকে স্ক্রিপ্টগুলিতে এলটিও (লিঙ্ক টাইম অপটিমাইজেশন) এর জন্য প্রয়োজনীয় কম্পাইলার উপাদানগুলির অনুসন্ধান উন্নত করা হয়েছে, এর পাশাপাশি একযোগে পাঠকদের সর্বাধিক সংখ্যা 32.767 করা হয়েছে এবং কর্মক্ষমতাও রয়েছে Valgrind এবং AddressSanitizer ব্যবহার করার সময় উন্নত।

বাগ সংশোধন সম্পর্কিত যেগুলি এই নতুন সংস্করণে তৈরি করা হয়েছিল, নিম্নলিখিতগুলি উল্লেখ করা হয়েছে:

  • একটি বাগ সংশোধন করা হয়েছে যেখানে, খুব বিরল পরিস্থিতিতে, লেনদেন করার সময় একটি লুপ / ​​ক্র্যাশ ঘটতে পারে। ইতিবাচক প্রযুক্তি বিশেষজ্ঞরা তাদের নিজস্ব পণ্যের অভ্যন্তরীণ পরীক্ষার সময় সমস্যাটি চিহ্নিত করেছিলেন।
  • নোংরা পেজ স্পিল অ্যালগরিদম (সংশোধিত ডাটাবেস পৃষ্ঠাগুলির নির্বাচনী উচ্ছেদ) -এ স্থির রিগ্রেশন, বড় লেনদেনে ডেটা পরিবর্তন করার সময় বিরল অপ্রত্যাশিত MDBX_PROBLEM ত্রুটির প্রকাশ।
  • স্থায়ী ছোটখাট অনির্ধারিত আচরণ স্যানিটাইজার এবং কভারিটি স্ক্যান সমস্যা।
    লাইব্রেরির পুরোনো সংস্করণ দ্বারা তৈরি ডাটাবেস চিত্রের মধ্যে নেস্টেড পৃষ্ঠাগুলিতে স্থির বাসি এবং অব্যবহৃত অভ্যন্তরীণ পতাকা "P_DIRTY" চেক করা হচ্ছে।
  • MDBX_NOTLS মোডে (থ্রেড লোকাল স্টোরেজ ব্যবহার না করে) উইন্ডোজের এসআরডব্লিউ-লকের স্থায়ী পুনরাবৃত্তিমূলক ব্যবহার, সিস্টেম টাইম পরিবর্তনের ক্ষেত্রে নির্দিষ্ট বুটিড জেনারেশন, WSL1 এবং WSL2 এর উন্নত সনাক্তকরণ, ব্যবহার করে মাউন্ট করা প্ল্যান 9 ডাটাবেস খোলার ক্ষমতা যোগ করেছে DrvFS।

পরিশেষে আপনি যদি এটি সম্পর্কে আরও জানতে আগ্রহী হন এই নতুন সংস্করণ সম্পর্কে, আপনি বিশদটি পরীক্ষা করতে পারেন নীচের লিঙ্কে।


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।