প্রকল্প সম্পর্কে

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 লাইসেন্সের অধীনে লাইসেন্সপ্রাপ্ত। অবদানের ক্ষেত্রে অন্যথায় উল্লেখ না থাকলে দ্বৈত লাইসেন্স প্রযোজ্য হবে।