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

टारसो ডেটাবেস হল রাস্টে বাস্তবায়িত একটি ইন-প্রসেস এসকিউএল ডেটাবেস যা এসকিউএলআইটি-এর সাথে সামঞ্জস্যপূর্ণ এবং এমআইটি লাইসেন্সের অধীনে টারসো টিম দ্বারা বিকশিত। রিডমি এটিকে একটি উৎপাদনে ব্যবহৃত ইঞ্জিন হিসেবে বর্ণনা করে যা একটি ভার্চুয়াল মেশিন হিসেবেও কাজ করে: এসকিউএলআইটি-এর মতো, এটি ভিডিবিই নামক একটি ভিএম-এর জন্য এসকিউএল বাইটকোডে কম্পাইল করে এবং সেই বাইটকোড রান করে। এই নকশাটি একটি কোর ইঞ্জিনকে একাধিক এসকিউএল ডায়ালেক্ট হোস্ট করার অনুমতি দেয়, যার প্রধান ফ্রন্টএন্ড হিসেবে এসকিউএলআইটি রয়েছে এবং এর নিজস্ব ডায়ালেক্ট ও ওয়্যার প্রোটোকলসহ একটি পরীক্ষামূলক ফ্রন্টএন্ড হিসেবে পোস্টগ্রেসকিউএল যোগ করা হয়েছে। প্রকল্পটির লক্ষ্য হলো নিজেকে "ডেটাবেসের এলএলভিএম" হিসেবে প্রতিষ্ঠিত করা — একটি আধুনিক কোর যার সাথে অনেকগুলো ফ্রন্টএন্ড কম্পাইল করা থাকে। বর্ণিত মূল সুবিধাসমূহ: - এসকিউএল ডায়ালেক্ট, ফাইল ফরম্যাট এবং সি এপিআই স্তরে এসকিউএলআইটি সামঞ্জস্যতা, যা এসকিউএলআইটি সংস্করণ ৩.৫০.৪ অনুসরণ করে এবং একটি কম্প্যাট নথির মাধ্যমে অবশিষ্ট পার্থক্যগুলো ট্র্যাক করা হয়। বিদ্যমান এসকিউএলআইটি ডেটাবেস ফাইলগুলো যেমন আছে তেমনই কাজ করে বলে জানানো হয়েছে। - মাল্টি-ভার্সন কনকারেন্সি কন্ট্রোল (এমভিসিসি) ব্যবহার করে রাইট থ্রুপুট উন্নত করার জন্য বিগিন কনকারেন্ট। - বাস্তব সময়ে ডেটাবেস পরিবর্তন ট্র্যাক করার জন্য চেঞ্জ ডেটা ক্যাপচার (সিডিসি)। - গো, জাভাস্ক্রিপ্ট, জাভা, .নেট, পাইথন, রাস্ট এবং ওয়েবঅ্যাসেম্বলির জন্য ভাষা বাইন্ডিং, যা crates.io, npm, PyPI, Maven Central এবং Go modules-এর মাধ্যমে ইনস্টল করা যায়। - io_uring-এর মাধ্যমে লিনাক্সে অ্যাসিনক্রোনাস আই/ও। - ওয়েবঅ্যাসেম্বলির মাধ্যমে লিনাক্স, ম্যাকওএস, উইন্ডোজ এবং ব্রাউজারের জন্য ক্রস-প্লাটফর্ম সমর্থন। - সঠিক অনুসন্ধান এবং ভেক্টর ম্যানিপুলেশন সহ ভেক্টর সমর্থন। - বর্ধিত অল্টার সমর্থন এবং দ্রুত স্কিমা পরিবর্তনের সাথে উন্নত স্কিমা ব্যবস্থাপনা। পরীক্ষামূলক বৈশিষ্ট্যগুলোর মধ্যে রয়েছে এসকিউএল ডায়ালেক্ট এবং ওয়্যার প্রোটোকলের জন্য পোস্টগ্রেসকিউএল সামঞ্জস্যতা, বিশ্রামের সময় এনক্রিপশন, ইনক্রিমেন্টাল ভিউ মেইনটেইনেন্স এবং কোয়েরি সাবস্ক্রিপশনের জন্য ডিবিএসপি ব্যবহার করে ইনক্রিমেন্টাল কম্পিউটেশন, টেন্টিভি লাইব্রেরি দ্বারা চালিত ফুল-টেক্সট সার্চ, এবং .tshm সাইডকারের মাধ্যমে মাল্টি-প্রসেস ডব্লিউএএল সমন্বয়। আনুমানিক অনুসন্ধানের জন্য ভেক্টর ইনডেক্সিং রোডম্যাপে রয়েছে। শুরু করার উপকরণের মধ্যে রয়েছে একটি শেল ইনস্টলার স্ক্রিপ্টের মাধ্যমে ইনস্টল করা কমান্ড লাইন শেল (tursodb), কার্গোর সাথে সোর্স থেকে বিল্ড করা এবং মেকের মাধ্যমে ডকার টার্গেট। এটি রাস্ট, জাভাস্ক্রিপ্ট, পাইথন, গো, .নেট এবং জাভার জন্য সংক্ষিপ্ত উদাহরণ স্নিপেট দেখায়, যার মধ্যে জাভার জন্য জেডিবিসি ইন্টিগ্রেশন অন্তর্ভুক্ত রয়েছে। সিএলআই-তে একটি মডেল কনটেক্সট প্রোটোকল (এমসিপি) সার্ভারও এম্বেড করা আছে, যা --mcp ফ্ল্যাগ দিয়ে শুরু হয় এবং এআই সহকারীদের ডেটাবেসের সাথে মিথস্ক্রিয়া করতে দেয়। রিডমি নয়টি টুল নথিবদ্ধ করে: open_database, current_database, list_tables, describe_table, execute_query, insert_data, update_data, delete_data এবং schema_change। ক্লড কোড, ক্লড ডেস্কটপ এবং কার্সরের জন্য কনফিগারেশন উদাহরণ প্রদান করা হয়েছে, সাথে stdin/stdout এর মাধ্যমে সরাসরি JSON-RPC ব্যবহার রয়েছে। নির্ভরযোগ্যতা এবং স্থিতি: রিডমি বলে যে টারসো বেশ কয়েকটি সংস্থার প্রোডাকশন অ্যাপ্লিকেশন চালিত করে এবং একটি নেটিভ ডিটারমিনিস্টিক সিমুলেশন টেস্ট স্যুট এবং অ্যান্টিথিসিস সহ টুলস দিয়ে পরীক্ষিত, তবে লক্ষ্য করা যায় যে প্রকল্পটি ১.০ এ পৌঁছায়নি এবং কিছু বৈশিষ্ট্য স্পষ্টভাবে পরীক্ষামূলক, তাই ততক্ষণে স্বাধীন ব্যাকআপের সুপারিশ করা হয়। এটি টারসো ডেটাবেসকে পূর্বের libSQL ফর্ক থেকে আলাদা করে, রাস্ট রিওয়াইটকে উদ্দেশ্যপ্রণোদিত দিক হিসাবে বর্ণনা করে যখন উভয়ই প্রোডাকশনে চলে। ভান্ডারটি একাডেমিক প্রকাশনা এবং প্রকল্প অংশীদারদেরও তালিকাভুক্ত করে এবং এমআইটি লাইসেন্সের অধীনে অবদান গ্রহণ করে।