SQLite developer များသည် parallel writes များအတွက် ပံ့ပိုးမှုဖြင့် HC-tree backend ကို တီထွင်ကြသည်။

SQLite ပရောဂျက် developer များသည် အတန်းအဆင့်လော့ခ်ချခြင်းကို ပံ့ပိုးပေးသည့် စမ်းသပ်မှု HCtree နောက်ခံကို စတင်စမ်းသပ်နေပြီး စုံစမ်းမေးမြန်းမှုများကို လုပ်ဆောင်သည့်အခါ အပြိုင်အဆင့်မြင့်မားစွာ ပံ့ပိုးပေးပါသည်။ နောက်ခံလူအသစ်သည် ဒေတာဘေ့စ်သို့ တစ်ပြိုင်နက်ရေးရန် တောင်းဆိုချက်အများအပြားကို လုပ်ဆောင်ရမည့် client-server စနစ်များတွင် SQLite ကိုအသုံးပြုခြင်း၏ထိရောက်မှုကို တိုးတက်စေရန် ရည်ရွယ်သည်။

ဒေတာသိမ်းဆည်းရန် SQLite တွင် မူရင်းအသုံးပြုသည့် b-tree တည်ဆောက်ပုံများသည် SQLite ကို thread တစ်ခုသာရေးရန် ကန့်သတ်ထားသည့် ဤ load အမျိုးအစားအတွက် ဒီဇိုင်းထုတ်ထားခြင်းမဟုတ်ပေ။ စမ်းသပ်မှုတစ်ခုအနေနှင့်၊ developer များသည် စာရေးခြင်းလုပ်ဆောင်မှုများကို ပြိုင်တူလုပ်ဆောင်ရန်အတွက် ပိုမိုသင့်လျော်သည့် သိုလှောင်မှုအတွက် HC-tree တည်ဆောက်ပုံကို အသုံးပြုသည့် အစားထိုးဖြေရှင်းချက်တစ်ခုကို စတင်တီထွင်ခဲ့ကြသည်။

လုပ်ဆောင်ချက်များစွာကို တစ်ပြိုင်နက်လည်ပတ်ခွင့်ပြုရန်၊ HCtree မှတ်တမ်းသည် စာမျက်နှာအဆင့်လော့ခ်ချခြင်းကို အသုံးပြုပြီး MVCC (ဗားရှင်းပေါင်းစုံ ပေါင်းစပ်ငွေကြေးထိန်းချုပ်မှု) နှင့် ဆင်တူသော်လည်း စာမျက်နှာအစုံအစား သော့နှင့် သော့အပိုင်းအကွာအဝေးအပေါ် အခြေခံထားသော ငွေပေးငွေယူဆိုင်ရာ အပိုင်းခွဲခြင်းယန္တရားကို အသုံးပြုပါသည်။ ဒေတာဘေ့စ်လျှပ်တစ်ပြက်ရိုက်ချက်တစ်ခုနှင့် ဆက်စပ်၍ ဖတ်ရှုခြင်း နှင့် စာရေးခြင်း လုပ်ဆောင်ချက်များကို လုပ်ဆောင်သည်

ဖောက်သည်များသည် သုံးပွင့်ဆိုင် ငွေပေးငွေယူ လည်ပတ်မှုကို သုံးနိုင်သည်-

  • “BEGIN”—ငွေပေးငွေယူများသည် အခြားဖောက်သည်များ၏ ဝင်ရောက်ခွင့်ဒေတာကို ထည့်သွင်းစဉ်းစားမည်မဟုတ်ပါ။ အရောင်းအ၀ယ်လုပ်ငန်းတစ်ခုအတွင်း စာရေးခြင်းလုပ်ဆောင်မှုများကို လုပ်ဆောင်ပါက၊ ၎င်း၏လုပ်ဆောင်မှုအတွင်း ဒေတာဘေ့စ်တွင် အခြားရေးသားမှုလုပ်ဆောင်မှုများမရှိမှသာ အရောင်းအဝယ်ပြုလုပ်နိုင်သည်။
  • "BEGIN CONCURRENT" - ငွေပေးငွေယူများသည် အခြားဖောက်သည်များ၏ ဝင်ရောက်ခွင့်ဆိုင်ရာ အချက်အလက်များကို စုဆောင်းသည်။ ငွေပေးငွေယူတစ်ခုအတွင်း စာရေးခြင်းလုပ်ဆောင်ချက်များကို လုပ်ဆောင်ပါက၊ လျှပ်တစ်ပြက်ရိုက်ချက်ဖန်တီးပြီးကတည်းက ဒေတာဘေ့စ်တွင် အခြားငွေပေးငွေယူများကို ကျူးလွန်ပါက ငွေပေးငွေယူကို ကျူးလွန်နိုင်သည်။
  • “BEGIN EXCLUSIVE” - အရောင်းအ၀ယ်တစ်ခုဖွင့်ပြီးနောက်၊ ၎င်းသည် ပြီးမြောက်သည်အထိ အခြားငွေပေးငွေယူများမှ လည်ပတ်မှုများကို ပိတ်ဆို့ထားသည်။

HCtree သည် အရောင်းအ၀ယ်များကို အခြားဒေတာဘေ့စ်သို့ ရွှေ့ပြောင်းရန်နှင့် မူလဒေတာဘေ့စ်နှင့် ထပ်တူကျအောင် ထိန်းသိမ်းနိုင်စေသည့် master-slave ကူးယူမှုကို HCtree က ပံ့ပိုးပေးပါသည်။ HCtree သည် ဒေတာဘေ့စ်အရွယ်အစားအပေါ် ကန့်သတ်ချက်များကိုလည်း ဖယ်ရှားသည် - 32-bit ဒေတာစာမျက်နှာ identifiers များအစား HCtree သည် အမြင့်ဆုံးဒေတာဘေ့စ်အရွယ်အစားကို 48 tebibytes မှ 16 exbibyte (သန်း tebibytes) သို့ တိုးမြှင့်ပေးသည့် 1-bits များကို အသုံးပြုပါသည်။ HCtree backend ပါရှိသော SQLite ၏စွမ်းဆောင်ရည်သည် classic single-threaded backend ထက်နိမ့်မည်မဟုတ်ဟုမျှော်လင့်ရသည်။ HCtree ပံ့ပိုးမှုဖြင့် SQLite client များသည် HC-tree-based databases နှင့် legacy SQLite databases နှစ်ခုလုံးကို ဝင်ရောက်ကြည့်ရှုနိုင်မည်ဖြစ်သည်။

source: opennet.ru

မှတ်ချက် Add