SQLite-এ তারা ইতিমধ্যেই সমান্তরাল লেখার সমর্থন সহ একটি HCTree ব্যাকএন্ডে কাজ করে

SQLite

একটি এসিআইডি-সম্মত রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেম, সি-তে লেখা অপেক্ষাকৃত ছোট লাইব্রেরিতে রয়েছে

প্রকল্প বিকাশকারীরা SQLite একটি পরীক্ষামূলক HCtree ব্যাকএন্ড পরীক্ষা করা শুরু করেছে যা সারি-স্তরের লকিং সমর্থন করে এবং ক্যোয়ারী প্রক্রিয়াকরণে উচ্চ স্তরের সমান্তরালতা প্রদান করে।

তারা যে নতুন ব্যাকএন্ডে কাজ করছেন সে বিষয়ে উল্লেখ করা হয়েছে যে এই ক্লায়েন্ট-সার্ভার সিস্টেমে SQLite ব্যবহারের দক্ষতা উন্নত করার লক্ষ্য তাদের ডাটাবেসে প্রচুর সংখ্যক সমসাময়িক লেখার অনুরোধ প্রক্রিয়া করতে হবে।

The বি-বৃক্ষের কাঠামো মূলত ব্যবহৃত হয় ডেটা সঞ্চয় করতে SQLite-এ তারা এই ধরনের লোড জন্য ডিজাইন করা হয় না., যা SQLite কে শুধুমাত্র একটি স্ট্রীমে লেখার মধ্যে সীমাবদ্ধ করে। একটি পরীক্ষা হিসাবে, বিকাশকারীরা একটি বিকল্প সমাধান তৈরি করতে শুরু করে যা স্টোরেজের জন্য HCtree কাঠামো ব্যবহার করে, যা সমান্তরাল লেখার ক্রিয়াকলাপগুলির জন্য আরও উপযুক্ত।

HC-tree (hctree) প্রজেক্ট হল একটি নতুন ডাটাবেস ব্যাকএন্ড তৈরি করার প্রয়াস যা নিয়মিত SQLite-এ নিম্নরূপ উন্নতি করে:

উন্নত সমসাময়িকতা: শুরু-সমসাময়িক এক্সটেনশন ব্যবহার করে এটি পরিবর্তন হয় যাতে এটি পৃষ্ঠা স্তরে আশাবাদী লকিং ব্যবহার করে একযোগে কার্যকর করা যায়। এটি সামঞ্জস্যের কিছুটা উন্নতি করে, তবে পৃষ্ঠা-স্তরের লকিং যৌক্তিকভাবে স্বাধীন লেনদেনের মধ্যে দ্বন্দ্ব সনাক্ত করতে পারে এবং COMMIT অপারেশনগুলিকে এখনও সিরিয়ালাইজ করা দরকার।

প্রতিলিপি সমর্থন: স্টক SQLite সমর্থন করে সেশন এক্সটেনশন, যা একটি প্রতিশ্রুতিবদ্ধ লেনদেনের বিষয়বস্তুকে একটি দ্বিতীয় ডাটাবেসে প্রেরণ এবং প্রয়োগের জন্য সিরিয়ালাইজ করার অনুমতি দেয়। Hctree এটিকে ডাটাবেস ব্যাকএন্ডে সংহত করে এবং লিডার-ফলোয়ার কনফিগারেশনে ফলোয়ার ডাটাবেসে এই ধরনের লেনদেন প্রয়োগ করার জন্য সমর্থন যোগ করে। এই ক্ষেত্রে, একটি নেতৃস্থানীয় ডাটাবেস থেকে প্রাপ্ত লেনদেনগুলি নেতৃস্থানীয় ডাটাবেসে প্রযোজ্য লেনদেনের চেয়ে দ্রুত এবং অধিকতর একযোগে প্রয়োগ করা যেতে পারে, কারণ না লেনদেনের বৈধতা।

ডাটাবেস আকারের সীমাবদ্ধতা দূরীকরণ: স্টক SQLite 32-বিট পৃষ্ঠা নম্বর ব্যবহার করে। ডিফল্ট পৃষ্ঠার আকার 4 KiB ব্যবহার করে, এটি সর্বাধিক ডাটাবেসের আকার 2^44 বাইট বা 16 TiB নিয়ে যায়।

একই সময়ে বেশ কয়েকটি অপারেশন পরিচালনা করতে, HCtree লগগুলি একটি লেনদেন পৃথকীকরণ প্রক্রিয়া ব্যবহার করে যা MVCC (একাধিক সংস্করণ কন্টেনমেন্ট কন্ট্রোল) অনুরূপ পৃষ্ঠা স্তরের লক ব্যবহার করে, কিন্তু পৃষ্ঠা সেটের পরিবর্তে কী রেঞ্জ এবং কী রেঞ্জের উপর ভিত্তি করে লেনদেন নিয়ন্ত্রণ ব্যবহার করে।

পঠন এবং লেখার ক্রিয়াকলাপগুলি ডাটাবেস স্ন্যাপশটের সাপেক্ষে সম্পাদিত হয়, যার পরিবর্তনগুলি লেনদেন সম্পূর্ণ হওয়ার পরেই মূল ডাটাবেসে দৃশ্যমান হয়।

লেনদেন খোলার জন্য ক্লায়েন্টরা তিনটি অপারেশন ব্যবহার করতে পারে:

  • «BEGIN«: লেনদেন অন্যান্য গ্রাহকদের অ্যাক্সেস ডেটা বিবেচনায় নেয় না। যদি লেখার ক্রিয়াকলাপগুলি একটি লেনদেনের মধ্যে সঞ্চালিত হয়, তবে লেনদেনটি শুধুমাত্র তখনই প্রতিশ্রুতিবদ্ধ হতে পারে যখন এটি কার্যকর করার সময় ডাটাবেসে অন্য কোনও লেখার ক্রিয়াকলাপ না থাকে৷
    «একযোগে শুরু করুন«: লেনদেন অন্যান্য ক্লায়েন্টদের অ্যাক্সেস সম্পর্কে তথ্য সংগ্রহ করে। যদি লেখার ক্রিয়াকলাপগুলি একটি লেনদেনের মধ্যে সঞ্চালিত হয়, তবে স্ন্যাপশট তৈরি হওয়ার পর থেকে অন্যান্য লেনদেনগুলি ডাটাবেসের সাথে প্রতিশ্রুতিবদ্ধ থাকলে লেনদেনটি করা যেতে পারে।
    «এক্সক্লুসিভ শুরু করুন«: একটি লেনদেন খোলার পরে, এটি সম্পূর্ণ না হওয়া পর্যন্ত অন্যান্য লেনদেনের ক্রিয়াকলাপগুলিকে ব্লক করে।

HCtree মাস্টার-স্লেভ রেপ্লিকেশন সমর্থন করে, যা আপনাকে অন্য ডাটাবেসে লেনদেন স্থানান্তর করতে এবং প্রাথমিক ডাটাবেসের সাথে সেকেন্ডারি ডাটাবেসগুলিকে সিঙ্কে রাখতে দেয়।

HCtree ডাটাবেসের আকারের সীমাও সরিয়ে দেয়: 32-বিট ডেটা পৃষ্ঠা শনাক্তকারীর পরিবর্তে, HCtree 48-বিট শনাক্তকারী ব্যবহার করে, যা সর্বোচ্চ ডাটাবেসের আকার 16 টেবিবাইট থেকে 1 এক্সবিবাইট (মিলিয়ন টেবিবাইট) পর্যন্ত বৃদ্ধি করে।

HCtree ব্যাকএন্ডের সাথে SQLite পারফরম্যান্স অন্তত ক্লাসিক একক-থ্রেডেড ব্যাকএন্ডের মতো ভালো হবে বলে আশা করা হচ্ছে। HCtree সমর্থন সহ SQLite ক্লায়েন্টরা HC-tree ডাটাবেস এবং লিগ্যাসি SQLite ডেটাবেস উভয়ই অ্যাক্সেস করতে সক্ষম হবে।

উৎস: https://sqlite.org/


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়ী: AB ইন্টারনেট নেটওয়ার্ক 2008 SL
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।