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

frankengraphdb হলো Rust-এ লেখা একটি উচ্চাকাঙ্ক্ষী, শূন্য থেকে শুরু করা প্রপার্টি-গ্রাফ ডেটাবেস, যা এমন উন্নত কৌশলগুলোকে সমন্বিত করার লক্ষ্যে তৈরি যা আগে কেবল আলাদাভাবে বিদ্যমান ছিল। এটি একটি ঐক্যবদ্ধ আর্কিটেকচারের লক্ষ্য রাখে যেখানে MVCC ভার্সনিং, টাইম-ট্রাভেল হিস্ট্রি, git-স্টাইল ব্রাঞ্চিং, রেপ্লিকেশন এবং চেঞ্জ সাবস্ক্রিপশন—সবই একটি একক অ্যাপেন্ড-অনলি, কনটেন্ট-অ্যাড্রেসড, ইরেজার-কোডেড কমিট স্ট্রিমের (যাকে Chronicle বলা হয়) প্রকাশ। স্টোরেজ ইঞ্জিন (Strata) ইনলাইন অ্যাডজেসেন্সি, ডেল্টা ব্লক এবং সিলড কম্প্রেসড CSR রানসহ একটি টেম্পারেচার-টায়ারড LSM ডিজাইন ব্যবহার করে ট্রানজেকশনাল রাইট ও অ্যানালিটিক্যাল স্ক্যানের মধ্যে ভারসাম্য রাখে। কোয়েরি এক্সিকিউশন (Loom) একটি ঐক্যবদ্ধ FreeJoin অপারেটর পরিবার ব্যবহার করে যা বাইনারি হ্যাশ জয়েন, ওয়ার্স্ট-কেস-অপ্টিমাল মাল্টিওয়ে জয়েন এবং ফ্যাক্টরাইজড ইন্টারমিডিয়েটস পর্যন্ত বিস্তৃত, যা ভেক্টরাইজড ও মরসেল-প্যারালালভাবে চলে। ইনক্রিমেন্টাল কম্পিউটেশন (Ripple) DBSP-স্টাইল Z-set অ্যালজেব্রার উপর ভিত্তি করে, যা রিকার্সিভ কোয়েরি, ম্যাটেরিয়ালাইজড ভিউ, স্ট্যান্ডিং কোয়েরি এবং ইনক্রিমেন্টাল অ্যানালিটিক্সকে শক্তি দেয়। সিস্টেমটি ডিটারমিনিজমের উপর জোর দেয়: একই স্টেট প্লাস একই কোয়েরি বাইট-আইডেন্টিক্যাল ফলাফল দেয়, সাথে অডিটযোগ্য প্ল্যান সার্টিফিকেট এবং রিপ্লে-যোগ্য ডিসিশন কার্ড। এতে ক্যাপাবিলিটি-ভিত্তিক সিকিউরিটি মডেল (Warden), একটি ট্রানজেকশনাল HNSW ভেক্টর ইনডেক্স (Beacon), গ্রাফ অ্যালগরিদমের একটি বড় ক্যাটালগ (Prism) এবং রেপ্লিকেশন (Aegis)-ও রয়েছে। প্রকল্পটি Rust-এ লেখা, ওয়ার্কস্পেস-ব্যাপী `unsafe` নিষিদ্ধ, এবং এটি একটি বন্ধ ডিপেন্ডেন্সি ইউনিভার্স বজায় রাখে যেখানে কেবল তিনটি নিজস্ব ফাউন্ডেশন লাইব্রেরি আছে। README-টি বর্তমান কালে লেখা যা সম্পূর্ণ 1.0 টার্গেট স্টেট বর্ণনা করে, তবে এটি স্পষ্টভাবে চিহ্নিত করে কী বর্তমানে বাস্তবায়িত এবং কী ভবিষ্যতের কাজ। সর্বশেষ পরীক্ষা অনুযায়ী, CLI ডেটাবেস তৈরি, GQL কোয়েরি চালানো, ফলাফল স্ট্রিমিং, রাইট কমিট, রিভিশন ডিফিং এবং বাল্ক ইমপোর্ট সমর্থন করে; ব্রাঞ্চ, গ্রাফ ক্যাটালগ এবং কিছু উন্নত ফিচার এখনও বাস্তবায়িত হয়নি। প্রকল্পটি সক্রিয় ও স্ব-মালিকানাধীন, সাথে একটি বিস্তৃত ডিজাইন প্ল্যান ডকুমেন্ট অন্তর্ভুক্ত।