প্রকল্প সম্পর্কে
redb হলো একটি সরল, বহনযোগ্য এবং উচ্চ-কার্যক্ষমতাসম্পন্ন ইম্বিডেড কি-ভ্যালু স্টোর যা সম্পূর্ণভাবে Rust ভাষায় লেখা। এটি LMDB দ্বারা শৈল্পিকভাবে অনুপ্রাণিত এবং কপি-অন-রাইট B+ ট্রি ব্যবহার করে তথ্য সংরক্ষণ করে। এই লাইব্রেরিটি BTreeMap অনুকরণে তৈরি করা একটি জিরো-কপি, থ্রেড-সেফ API প্রদান করে, সম্পূর্ণ ACID-সঙ্গত ট্রানজাকশন সমর্থন করে এবং কোনো বাধাহীনভাবে একাধিক পাঠক ও লেখকের সমান্তরাল কাজ করার জন্য MVCC প্রদান করে। এটা ডিফল্টভাবে ক্র্যাশ-সেফ এবং সেভপয়েন্ট ও রোলব্যাকের মতো বৈশিষ্ট্য রয়েছে।
পরীক্ষামূলক api-5 ফিচার ব্যবহার করে redb কে স্ট্যান্ডার্ড লাইব্রেরি ছাড়াও (no_std) কম্পাইল করা যায়, যা শুধুমাত্র alloc এবং অ্যাটমিক কম্পিয়ার-অ্যান্ড-সোয়াপ সমর্থন প্রয়োজন — যা Cortex-M3+ লক্ষ্যগুলোর জন্য উপযুক্ত। স্টোরেজ অবশ্যই একটি কাস্টম StorageBackend ইমপ্লিমেন্টেশনের মাধ্যমে সরবরাহ করতে হবে।
বেঞ্চমার্ক দেখায় যে redb বাল্ক লোড, রাইট, রিড এবং রিমুভালের ক্ষেত্রে LMDB, RocksDB, Fjall এবং SQLite-এর মতো অন্যান্য শীর্ষস্থানীয় ইম্বিডেড ডাটাবেসের সাথে প্রতিযোগিতামূলক কর্মক্ষমতা প্রদর্শন করে। এটি মাল্টি-থ্রেडेड ওয়ার্কলোডে ভালোভাবে স্কেল করে এবং সংকুচিত স্টোরেজ আকার বজায় রাখে।
ফাইল ফরম্যাট স্থিতিশীল এবং ভবিষ্যতের পরিবর্তনগুলো ব্যাকওয়ার্ড কম্প্যাটিবিলিটি বজায় রাখার লক্ষ্য নিয়ে করা হবে। ডেভেলপমেন্টের জন্য কেবলমাত্র just ও podman এর প্রয়োজন, যখন বিল্ড আর্টিফ্যাক্টগুলো Podman ভলিউমে ক্যাশে থাকে।
ব্যবহারকারীর বিবেচনায় এটি Apache 2.0 অথবা MIT লাইসেন্সের অধীনে লাইসেন্সপ্রাপ্ত। অবদানের ক্ষেত্রে অন্যথায় উল্লেখ না থাকলে দ্বৈত লাইসেন্স প্রযোজ্য হবে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.