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

rudb হল একটি এমবেডেড অ্যানালিটিক্যাল ডেটাবেস যা Rust-এ লেখা, DuckDB-সামঞ্জস্যপূর্ণ বিকল্প হিসেবে ডিজাইন করা হয়েছে যার উচ্চাভিলাষী পারফরম্যান্স এবং রিসোর্স লক্ষ্য রয়েছে। প্রকল্পটি ClickBench এবং TPC-H-এ DuckDB-এর চেয়ে 10x পারফরম্যান্স, প্রতি-কোয়েরি ফ্লোর হিসেবে কখনোই DuckDB-এর চেয়ে ধীর না হওয়া, এবং ডিস্ক ব্যবহার, মেমরি ও CPU-তে 10x হ্রাসের লক্ষ্য নির্ধারণ করেছে। এর মূল ডিজাইন রানটাইমে নির্বাচিত ফিজিক্যাল লেআউট, গ্লোবাল ডিকশনারিসহ মাল্টি-কলাম কম্প্রেশন, এবং এনকোডেড ডেটার উপর সরাসরি কাজ করা অপারেটরগুলোর উপর নির্ভর করে — আগে ডিকোড করার পরিবর্তে। বর্তমান অবস্থা প্রাথমিক: v0.1.0 হিসেবে M0 সম্পন্ন হয়েছে, যেখানে 27টি ক্রেটসহ একটি ওয়ার্কস্পেস, একটি ইন-মেমরি কোয়েরি ইঞ্জিন, ষোলটি আউটপুট মোডসহ একটি DuckDB-সামঞ্জস্যপূর্ণ কমান্ড-লাইন শেল, এবং Linux, macOS ও Windows-এ CI পাস করা অন্তর্ভুক্ত। এখনও কোনো পারসিস্টেন্ট স্টোরেজ ফরম্যাট নেই, কোনো অপটিমাইজার নেই, কোনো ট্রানজ্যাকশন নেই, এবং জয়েনগুলো নেস্টেড লুপ। পরবর্তী মাইলস্টোন, M1, একটি ফরম্যাট পরীক্ষা যা পরিমাপ করবে যে প্রত্যাশিত কম্প্রেশন অনুপাত অর্জনযোগ্য কিনা — আরও নির্মাণের আগে। রিপোজিটরিতে বাস্তবায়নের আগে লেখা বিশটি ডকুমেন্টের একটি বিস্তারিত স্পেসিফিকেশন অন্তর্ভুক্ত রয়েছে, যা স্টোরেজ, কম্প্রেশন, এক্সিকিউশন, কোড জেনারেশন, অপটিমাইজেশন, SQL সামঞ্জস্য, ট্রানজ্যাকশন, বেঞ্চমার্কিং পদ্ধতি এবং টেস্টিং কভার করে। ডেভেলপমেন্ট বারোটি মাইলস্টোনকে ঘিরে সংগঠিত যা ইস্যু হিসেবে ট্র্যাক করা হয়, যেখানে M3, M6 এবং M10 দরকারি বিরতি পয়েন্ট হিসেবে চিহ্নিত। প্রকল্পটি Apache-2.0-এর অধীনে লাইসেন্সকৃত এবং DuckDB Labs-এর সাথে সম্পর্কিত নয়; সামঞ্জস্য প্রকাশিত ফরম্যাট এবং হেডারগুলোর বিপরীতে পুনরায় বাস্তবায়ন করা হয়েছে।