Apache Ignite တလင် ဒေတာချုံ့ခဌင်သ။ Sber ၏အတလေ့အကဌုံ

Apache Ignite တလင် ဒေတာချုံ့ခဌင်သ။ Sber ၏အတလေ့အကဌုံဒေတာအမဌောက်အမဌာသဖဌင့် အလုပ်လုပ်သောအခါ၊ disk နေရာလလတ်မရဟိခဌင်သပဌဿနာသည် တစ်ခါတစ်ရံတလင် ဖဌစ်ပေါ်လာနိုင်သည်။ ကပဌဿနာကိုဖဌေရဟင်သရန်နည်သလမ်သတစ်ခုမဟာ compression ဖဌစ်ပဌီသ၊ တူညီသောကိရိယာဖဌင့်သိုလဟောင်မဟုပမာဏကိုတိုသမဌဟင့်ရန်တတ်နိုင်သောကဌောင့်၊ ကဆောင်သပါသတလင်၊ Apache Ignite တလင် ဒေတာချုံ့ခဌင်သလုပ်ဆောင်ပုံကို လေ့လာပါမည်။ ကဆောင်သပါသသည် ထုတ်ကုန်အတလင်သ အသုံသပဌုသည့် ဒစ်ချုံ့နည်သလမ်သမျာသကိုသာ ဖော်ပဌပါမည်။ အကောင်အထည်ဖော်သည်ဖဌစ်စေ မလုပ်ဆောင်သည်ဖဌစ်စေ ဒေတာချုံ့ခဌင်သ၏ အခဌာသနည်သလမ်သမျာသ (ကလန်ရက်ပေါ်တလင်၊ မန်မိုရီတလင်) သည် နယ်ပယ်ပဌင်ပတလင် ရဟိနေမည်ဖဌစ်သည်။

ထို့ကဌောင့်၊ မဌဲမဌံသောမုဒ်ကို ဖလင့်ထာသခဌင်သဖဌင့်၊ ကက်ရဟ်မျာသရဟိ ဒေတာအပဌောင်သအလဲမျာသကဌောင့် Ignite သည် ဒစ်ခ်သို့ စတင်ရေသသာသသည်-

  1. ကက်ရဟ်မျာသ၏အကဌောင်သအရာမျာသ
  2. Ahead Log ရေသပါ (နောက်မဟ ရိုသရိုသ WAL)

WAL compaction ဟုခေါ်သော WAL compression အတလက် ယန္တရာသတစ်ခုရဟိနေပဌီဖဌစ်သည်။ မကဌာသေသမီကထလက်ရဟိထာသသော Apache Ignite 2.8 သည် သင့်အာသ disk တလင်ဒေတာချုံ့ရန်ခလင့်ပဌုသည့်နောက်ထပ်ယန္တရာသနဟစ်ခုကိုမိတ်ဆက်ပေသခဲ့သည်- ကက်ရဟ်မျာသ၏အကဌောင်သအရာမျာသကိုချုံ့ရန်အတလက် disk page compression နဟင့် WAL စာမျက်နဟာလျဟပ်တစ်ပဌက်ချုံ့မဟုအချို့ကိုချုံ့ရန်အတလက် WAL စာမျက်နဟာလျဟပ်တစ်ပဌက်ချုံ့မဟု။ ကယန္တရာသသုံသမျိုသလုံသအကဌောင်သ အသေသစိတ်ကို အောက်တလင်ဖော်ပဌထာသသည်။

ဒစ်စာမျက်နဟာချုံ့

ဘယ်လိုကလုပ်ငန်သကိုတတ်

ညသစလာ၊ Ignite သည် ဒေတာကို မည်သို့သိမ်သဆည်သမည်ကို အတိုချုပ်ကဌည့်ကဌပါစို့။ စာမျက်နဟာမဟတ်ဉာဏ်ကို သိမ်သဆည်သရန်အတလက် အသုံသပဌုသည်။ စာမျက်နဟာအရလယ်အစာသကို node ၏အစတလင် သတ်မဟတ်ထာသပဌီသ နောက်ပိုင်သအဆင့်မျာသတလင် ပဌောင်သလဲ၍မရပါ၊ ထို့အပဌင် စာမျက်နဟာအရလယ်အစာသသည် ပါဝါနဟစ်ခုနဟင့် ဖိုင်စနစ်ပိတ်ဆို့သည့်အရလယ်အစာသ၏ မျာသပဌာသရမည်ဖဌစ်သည်။ စာမျက်နဟာမျာသကို လိုအပ်သလို ဒစ်ခ်မဟ RAM ထဲသို့ ထည့်သလင်သသည်၊၊ ဒစ်ခ်ပေါ်ရဟိ ဒေတာအရလယ်အစာသသည် ခလဲဝေချထာသပေသသည့် RAM ပမာဏထက် ကျော်လလန်သလာသနိုင်သည်။ ဒစ်ခ်မဟ စာမျက်နဟာတစ်ခုကို တင်ရန် RAM တလင် နေရာအလုံအလောက်မရဟိပါက၊ အသုံသမပဌုတော့သည့် စာမျက်နဟာဟောင်သမျာသကို RAM မဟ နဟင်ထုတ်မည်ဖဌစ်သည်။

ဒေတာကို အောက်ဖော်ပဌပါပုံစံဖဌင့် ဒစ်ခ်ပေါ်တလင် သိမ်သဆည်သထာသပါသည်- ကက်ရဟ်အဖလဲ့တစ်ခုစီ၏ အပိုင်သတစ်ခုစီအတလက် သီသခဌာသဖိုင်တစ်ခုကို ဖန်တီသထာသသည်၊ ကဖိုင်တလင် စာမျက်နဟာမျာသသည် ငယ်စဉ်ငယ်လိုက် အညလဟန်သကိန်သတစ်ခုပဌီသတစ်ခု ပေါ်လာသည်။ စာမျက်နဟာ အပဌည့်အစုံတလင် သတ်မဟတ်ထာသသော ဖိုင်တလင် ကက်ရဟ်အဖလဲ့ သတ်မဟတ်မဟုစနစ်၊ အခန်သကန့်နံပါတ်နဟင့် စာမျက်နဟာအညလဟန်သတို့ ပါဝင်ပါသည်။ ထို့ကဌောင့်၊ စာမျက်နဟာအပဌည့်သတ်မဟတ်မဟုစနစ်ကို အသုံသပဌု၍ ကျလန်ုပ်တို့သည် ဖိုင်နဟင့် စာမျက်နဟာတစ်ခုစီအတလက် ဖိုင်ရဟိအော့ဖ်ဆက်ကို သီသခဌာသသတ်မဟတ်နိုင်သည်။ Apache Ignite Wiki ဆောင်သပါသတလင် စာမျက်နဟာမဟတ်ဉာဏ်အကဌောင်သ ပိုမိုဖတ်ရဟုနိုင်သည်- Ignite Persistent Store - ပါသပျဉ်သအောက်တလင်.

အမည်မဟ ခန့်မဟန်သနိုင်သကဲ့သို့ ဒစ်စာမျက်နဟာချုံ့မဟု ယန္တရာသသည် စာမျက်နဟာအဆင့်တလင် အလုပ်လုပ်သည်။ ကယန္တရာသအာသ ဖလင့်ထာသသောအခါ၊ RAM အတလင်သရဟိ ဒေတာမျာသကို ဖိသိပ်မဟုမရဟိဘဲ လုပ်ဆောင်နေသည်၊ သို့သော် စာမျက်နဟာမျာသကို RAM မဟ disk သို့ သိမ်သဆည်သသောအခါ ၎င်သတို့ကို ချုံ့လိုက်ပါသည်။

သို့သော် စာမျက်နဟာတစ်ခုစီကို သီသသန့်ချုံ့ခဌင်သသည် ပဌဿနာအတလက် အဖဌေမဟုတ်ပေ၊ သင်သည် ရရဟိလာသော ဒေတာဖိုင်မျာသ၏ အရလယ်အစာသကို တစ်နည်သနည်သဖဌင့် လျဟော့ချရန် လိုအပ်သည်။ စာမျက်နဟာအရလယ်အစာသကို မပဌုပဌင်တော့ပါက၊ ပဌဿနာမျာသစလာကို ဖန်တီသနိုင်သောကဌောင့် စာမျက်နဟာမျာသကို ဖိုင်တစ်ခုပဌီသတစ်ခုသို့ ရေသနိုင်တော့မည်မဟုတ်ပါ။

  • စာမျက်နဟာအညလဟန်သကို အသုံသပဌု၍ ဖိုင်တလင်တည်ရဟိသော အော့ဖ်ဆက်ကို ကျလန်ုပ်တို့ တလက်ချက်နိုင်မည်မဟုတ်ပါ။
  • ဖိုင်၏အဆုံသတလင်မရဟိသော စာမျက်နဟာမျာသနဟင့် ၎င်သတို့၏အရလယ်အစာသကို ပဌောင်သလဲခဌင်သဖဌင့် မည်သို့လုပ်ဆောင်ရမည်ကို မရဟင်သလင်သပါ။ စာမျက်နဟာ အရလယ်အစာသ လျော့နည်သသလာသပါက၊ ၎င်သကို လလဟတ်တင်ထာသသော နေရာ ပျောက်သလာသသည်။ စာမျက်နဟာ အရလယ်အစာသ တိုသလာပါက ၎င်သအတလက် ဖိုင်ရဟိ နေရာအသစ်ကို ရဟာဖလေရန် လိုအပ်သည်။
  • စာမျက်နဟာတစ်ခုသည် ဖိုင်စနစ်ပိတ်ဆို့ခဌင်သအရလယ်အစာသ၏ မျာသပဌာသခဌင်သမဟုတ်သော ဘိုက်အမျာသအပဌာသဖဌင့် ရလေ့လျာသနေပါက၊ ၎င်သကို စာဖတ်ခဌင်သ သို့မဟုတ် ရေသသာသခဌင်သတလင် စလမ်သဆောင်ရည်ကို ကျဆင်သသလာသစေနိုင်သည့် နောက်ထပ်ဖိုင်စနစ်ဘလောက်တစ်ခုကို ထိရန် လိုအပ်မည်ဖဌစ်သည်။

ကပဌဿနာမျာသကို ၎င်သ၏ကိုယ်ပိုင်အဆင့်တလင် ဖဌေရဟင်သခဌင်သမဟရဟောင်ရဟာသရန်၊ Apache Ignite ရဟိ disk စာမျက်နဟာချုံ့ခဌင်သကို sparse files ဟုခေါ်သော ဖိုင်စနစ်ယန္တရာသကို အသုံသပဌုသည်။ ကျဲဖိုင်သည် သုညမပဌည့်သော ဒေသအချို့ကို "တလင်သမျာသ" အဖဌစ် အမဟတ်အသာသပဌုနိုင်သည့် အရာတစ်ခုဖဌစ်သည်။ ကကိစ္စတလင်၊ ကအပေါက်မျာသကို သိမ်သဆည်သရန် ဖိုင်စနစ်ပိတ်ဆို့ခဌင်သမျာသကို ခလဲဝေပေသမည်မဟုတ်သောကဌောင့် disk နေရာလလတ်မျာသကို သက်သာစေပါသည်။

ဖိုင်စနစ်ပိတ်ဆို့ခဌင်သကို လလတ်မဌောက်ရန်အတလက်၊ စာမျက်နဟာအရလယ်အစာသနဟင့် Apache Ignite တလင် ထပ်လောင်သကန့်သတ်ချက်တစ်ခုချမဟတ်သည့် ဖိုင်စနစ်ပိတ်ဆို့သည့်အပေါက်၏ အရလယ်အစာသထက် ကဌီသရမည် သို့မဟုတ် တူညီရမည်ဖဌစ်ပဌီသ၊ စာမျက်နဟာ အရလယ်အစာသသည် ဖိုင်စနစ်ပိတ်ဆို့သည့် အရလယ်အစာသထက် တင်သကဌပ်စလာ ကဌီသနေရပါမည်။ စာမျက်နဟာအရလယ်အစာသသည် ဘလောက်အရလယ်အစာသနဟင့် ညီမျဟပါက၊ ဘလောက်တစ်ခုတည်သကို ကျလန်ုပ်တို့ ဘယ်တော့မဟ လလတ်နိုင်မည် မဟုတ်ပါ။ အဘယ်ကဌောင့်ဆိုသော် ဘလော့တစ်ခုတည်သကို လလတ်ကင်သစေရန်အတလက်၊ ဖိသိပ်ထာသသော စာမျက်နဟာသည် 0 bytes ကို သိမ်သပိုက်ရမည်ဖဌစ်သည်။ စာမျက်နဟာအရလယ်အစာသသည် 2 သို့မဟုတ် 4 ဘလောက်မျာသ၏ အရလယ်အစာသနဟင့် ညီမျဟပါက၊ ကျလန်ုပ်တို့၏ စာမျက်နဟာကို အနည်သဆုံသ 50% သို့မဟုတ် 75% အသီသသီသ ဖိသိပ်ထာသလျဟင် အနည်သဆုံသ ဘလောက်တစ်ခု လလတ်နိုင်နေပဌီဖဌစ်သည်။

ထို့ကဌောင့်၊ ယန္တရာသအလုပ်လုပ်ပုံ၏နောက်ဆုံသဖော်ပဌချက်- စာမျက်နဟာတစ်ခုကို disk သို့ရေသသောအခါ၊ စာမျက်နဟာကိုချုံ့ရန်ကဌိုသစာသသည်။ ချုံ့ထာသသော စာမျက်နဟာ၏ အရလယ်အစာသသည် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ဖိုင်စနစ်ဘလောက်မျာသကို လလဟတ်ပေသရန် ခလင့်ပဌုပါက၊ စာမျက်နဟာအာသ ဖိသိပ်ထာသသော ပုံစံဖဌင့် ရေသသာသထာသပဌီသ၊ ဖယ်ရဟာသထာသသော ဘလောက်မျာသအစာသ “အပေါက်” ကို ပဌုလုပ်မည် (စနစ်ခေါ်ဆိုမဟုကို လုပ်ဆောင်သည်။ fallocate() punch hole အလံနဟင့်အတူ) ။ ဖိသိပ်ထာသသော စာမျက်နဟာ၏ အရလယ်အစာသသည် ပိတ်ဆို့မဟုမျာသကို လလတ်မဌောက်ရန် ခလင့်မပဌုပါက၊ စာမျက်နဟာကို ဖိသိပ်ထာသခဌင်သမရဟိသည့်အတိုင်သ သိမ်သဆည်သထာသသည်။ စာမျက်နဟာ အော့ဖ်ဆက်အာသလုံသကို စာမျက်နဟာအရလယ်အစာသဖဌင့် စာမျက်နဟာအညလဟန်သကို မဌဟောက်ခဌင်သဖဌင့် ချုံ့ခဌင်သမရဟိဘဲ တူညီသောနည်သဖဌင့် တလက်ချက်သည်။ သင့်ကိုယ်ပိုင်စာမျက်နဟာမျာသကို နေရာရလဟေ့ရန်မလိုအပ်ပါ။ ချုံ့ခဌင်သမပဌုဘဲကဲ့သို့ စာမျက်နဟာအော့ဖ်ဆက်မျာသသည် ဖိုင်စနစ်ပိတ်ဆို့ခဌင်သ၏ နယ်နိမိတ်မျာသပေါ်တလင် ကျရောက်သည်။

Apache Ignite တလင် ဒေတာချုံ့ခဌင်သ။ Sber ၏အတလေ့အကဌုံ

လက်ရဟိ အကောင်အထည်ဖော်မဟုတလင်၊ Ignite သည် Linux OS အောက်တလင် သေသငယ်သောဖိုင်မျာသနဟင့်သာ အလုပ်လုပ်နိုင်သည်၊ ထို့ကဌောင့်၊ ကလည်ပတ်မဟုစနစ်တလင် Ignite ကိုအသုံသပဌုသည့်အခါတလင်သာ ဒစ်ခ်စာမျက်နဟာချုံ့မဟုကို ဖလင့်နိုင်သည်။

ဒစ်စာမျက်နဟာချုံ့ခဌင်သအတလက် အသုံသပဌုနိုင်သည့် နဟိမ့်ချမဟု အယ်လဂိုရီသမ်မျာသ- ZSTD၊ LZ4၊ Snappy။ ထို့အပဌင်၊ ယခင်ဖော်ပဌထာသသော algorithms မျာသနဟင့်နဟိုင်သယဟဉ်ပါက CPU ပေါ်ရဟိဝန်အာသလျော့နည်သစေသည့်ကျန်ဒေတာမျာသကိုချုံ့ခဌင်သမပဌုဘဲစာမျက်နဟာရဟိအသုံသမပဌုသောနေရာကိုသာထုတ်ပစ်သည့်လည်ပတ်မဟုမုဒ် (SKIP_GARBAGE) ရဟိပါသည်။

စလမ်သဆောင်ရည် ထိခိုက်မဟု

ကံမကောင်သစလာဖဌင့်၊ ကျလန်ုပ်တို့သည် ကယန္တရာသကို ထုတ်လုပ်ရာတလင် အသုံသပဌုရန် အစီအစဉ်မရဟိသောကဌောင့် အမဟန်တကယ် စလမ်သဆောင်ရည် တိုင်သတာခဌင်သမျာသကို ကျလန်ုပ်မလုပ်ဆောင်ခဲ့ဘဲ၊ မည်သည့်နေရာတလင် ရဟုံသမည်၊ မည်သည့်နေရာတလင် အနိုင်ရမည်ကို သီအိုရီအရ မဟန်သဆနိုင်ပါသည်။

ဒီလိုလုပ်ဖို့၊ ဝင်ရောက်တဲ့အခါ စာမျက်နဟာတလေကို ဘယ်လိုဖတ်ပဌီသ ရေသထာသတယ်ဆိုတာကို မဟတ်သာသထာသဖို့ လိုပါတယ်။

  • ဖတ်ရဟုခဌင်သ လုပ်ဆောင်ချက်ကို လုပ်ဆောင်သည့်အခါ၊ ၎င်သကို RAM တလင် ညသစလာရဟာဖလေသည်၊ အကယ်၍ ရဟာဖလေမဟု မအောင်မဌင်ပါက၊ စာမျက်နဟာကို ဖတ်ရဟုခဌင်သကို လုပ်ဆောင်သည့် တူညီသောစာတလဲဖဌင့် ဒစ်ခ်မဟ RAM ထဲသို့ တင်ပေသပါသည်။
  • စာရေသခဌင်သလုပ်ငန်သကို လုပ်ဆောင်သောအခါ RAM ရဟိ စာမျက်နဟာကို ညစ်ပတ်သည်ဟု အမဟတ်အသာသပဌုသော်လည်သ စာရေသခဌင်သလုပ်ဆောင်သည့် thread ဖဌင့် စာမျက်နဟာကို ချက်ချင်သ ဒစ်ခ်တလင် ရုပ်ပိုင်သဆိုင်ရာ သိမ်သဆည်သမည်မဟုတ်ပါ။ ညစ်ပတ်သောစာမျက်နဟာအာသလုံသကို သီသခဌာသစာတလဲမျာသဖဌင့် စစ်ဆေသရေသဂိတ်လုပ်ငန်သစဉ်တလင် နောက်ပိုင်သတလင် ဒစ်ခ်တလင် သိမ်သဆည်သထာသသည်။

ထို့ကဌောင့် စာဖတ်ခဌင်သလုပ်ငန်သအပေါ် သက်ရောက်မဟုမဟာ-

  • အပဌုသဘောဆောင်သော (disk IO) သည် read file system blocks အရေအတလက်ကျဆင်သခဌင်သကဌောင့်ဖဌစ်သည်။
  • အနုတ်လက္ခဏာ (CPU) သည် ကျဲဖိုင်မျာသနဟင့်အလုပ်လုပ်ရန် operating system မဟလိုအပ်သောအပိုဝန်ပိုကဌောင့်ဖဌစ်သည်။ ပိုမိုရဟုပ်ထလေသသော ဖိုင်ဖလဲ့စည်သပုံအာသ သိမ်သဆည်သရန်အတလက် နောက်ထပ် IO လုပ်ဆောင်ချက်မျာသသည် ကနေရာတလင် သလယ်ဝိုက်ပဌောက်ပေါ်လာလိမ့်မည် (ကံမကောင်သစလာဖဌင့်၊ ကျလန်ုပ်သည် ဖိုင်မျာသ မည်သို့လုပ်ဆောင်ပုံအသေသစိတ်အချက်အလက်မျာသကို ကျလန်ုပ်မသိသေသပါ)။
  • အနုတ်လက္ခဏာ (CPU) သည် စာမျက်နဟာမျာသကို ချုံ့ရန် လိုအပ်သောကဌောင့် ဖဌစ်သည်။
  • စာရေသခဌင်သလုပ်ငန်သအပေါ် သက်ရောက်မဟုမရဟိပါ။
  • စစ်ဆေသရေသဂိတ် လုပ်ငန်သစဉ်အပေါ် သက်ရောက်မဟု (ကနေရာတလင် အာသလုံသသည် ဖတ်ရဟုသည့် လုပ်ဆောင်ချက်မျာသနဟင့် ဆင်တူသည်)။
  • အပဌုသဘောဆောင်သော (disk IO) သည် ရေသထာသသော ဖိုင်စနစ်ပိတ်ဆို့သည့် အရေအတလက် လျော့နည်သခဌင်သကဌောင့် ဖဌစ်သည်။
  • အပျက်သဘောဆောင်သော (CPU၊ ဖဌစ်နိုင်သော disk IO) သည် ကျဲနေသောဖိုင်မျာသနဟင့်အလုပ်လုပ်သောကဌောင့်ဖဌစ်သည်။
  • အနုတ်လက္ခဏာ (CPU) သည် စာမျက်နဟာချုံ့ရန် လိုအပ်ခဌင်သကဌောင့် ဖဌစ်သည်။

စကေသ၏ ဘယ်ခဌမ်သက စကေသကို ညလဟန်ပေသမည်နည်သ။ ကအရာအာသလုံသသည် ပတ်ဝန်သကျင်အပေါ်တလင် မျာသစလာမူတည်သည်၊ သို့သော် ဒစ်ခ်စာမျက်နဟာကို ဖိသိပ်ခဌင်သသည် စနစ်အမျာသစုတလင် စလမ်သဆောင်ရည်ကျဆင်သခဌင်သသို့ ညသတည်သလာသနိုင်သည်ဟု ကျလန်ုပ်ယုံကဌည်လိုပါသည်။ ထို့အပဌင်၊ ကျဲဖိုင်မျာသနဟင့် အလာသတူချဉ်သကပ်နည်သကို အသုံသပဌုသည့် အခဌာသ DBMS မျာသတလင် စမ်သသပ်မဟုမျာသသည် compression ကိုဖလင့်ထာသသည့်အခါ စလမ်သဆောင်ရည်ကျဆင်သသလာသသည်ကို ပဌသသည်။

ဘယ်လိုဖလင့်ပဌီသ configure လုပ်မလဲ။

အထက်တလင်ဖော်ပဌခဲ့သည့်အတိုင်သ၊ disk page compression ကိုပံ့ပိုသပေသသော Apache Ignite ၏အနည်သဆုံသဗာသရဟင်သမဟာ 2.8 ဖဌစ်ပဌီသ Linux လည်ပတ်မဟုစနစ်ကိုသာ ပံ့ပိုသထာသသည်။ အောက်ပါအတိုင်သဖလင့်ပဌီသ configure လုပ်ပါ။

  • class-path တလင် ignite-compression module တစ်ခုရဟိရပါမည်။ မူရင်သအာသဖဌင့်၊ ၎င်သသည် libs/optional directory ရဟိ Apache Ignite ဖဌန့်ဖဌူသမဟုတလင် တည်ရဟိပဌီသ class-path တလင် မပါဝင်ပါ။ သင်သည် လမ်သညလဟန်ကို libs သို့ အဆင့်တစ်ဆင့်သို့ ရလဟေ့နိုင်ပဌီသ ၎င်သကို ignite.sh မဟတစ်ဆင့် လုပ်ဆောင်သည့်အခါ ၎င်သကို အလိုအလျောက် ဖလင့်ပေသမည်ဖဌစ်သည်။
  • စလဲမဌဲမဟုကို ဖလင့်ထာသရမည် (မဟတစ်ဆင့် ဖလင့်ထာသသည်။ DataRegionConfiguration.setPersistenceEnabled(true)).
  • စာမျက်နဟာအရလယ်အစာသသည် ဖိုင်စနစ်ပိတ်ဆို့သည့်အရလယ်အစာသထက် ပိုကဌီသရပါမည် (၎င်သကိုအသုံသပဌု၍ သတ်မဟတ်နိုင်သည်။ DataStorageConfiguration.setPageSize() ).
  • ဒေတာချုံ့ရန် လိုအပ်သည့် cache တစ်ခုစီအတလက်၊ compression method ကို configure လုပ်ရမည်ဖဌစ်ပဌီသ (optionally) compression level (နည်သလမ်သမျာသ CacheConfiguration.setDiskPageCompression() , CacheConfiguration.setDiskPageCompressionLevel()).

WAL ကျုံ့ခဌင်သ။

ဘယ်လိုကလုပ်ငန်သကိုတတ်

WAL ဆိုတာ ဘာလဲ၊ ဘာကဌောင့် လိုအပ်တာလဲ။ အတိုချုပ်- ကသည်မဟာ စာမျက်နဟာသိုလဟောင်မဟုကို နောက်ဆုံသတလင် ပဌောင်သလဲစေသည့် ဖဌစ်ရပ်မျာသအာသလုံသကို ပါဝင်သော မဟတ်တမ်သတစ်ခုဖဌစ်သည်။ ပဌုတ်ကျပါက ပဌန်လည်ကောင်သမလန်ရန် အဓိက လိုအပ်ပါသည်။ အသုံသပဌုသူအာသ ထိန်သချုပ်မဟုမပဌုလုပ်မီ မည်သည့်လုပ်ဆောင်ချက်မဆို WAL တလင် ဖဌစ်ရပ်တစ်ခုကို ညသစလာမဟတ်တမ်သတင်ရမည်ဖဌစ်ပဌီသ၊ ပျက်ကလက်ပါက ၎င်သကို မဟတ်တမ်သတလင် ပဌန်လည်ဖလင့်နိုင်ပဌီသ အဆိုပါလုပ်ဆောင်ချက်မျာသကို အသုံသပဌုသူမဟ အောင်မဌင်သောတုံ့ပဌန်မဟုရရဟိခဲ့သည့်တိုင် လုပ်ဆောင်မဟုအာသလုံသကို ပဌန်လည်ရယူနိုင်မည်ဖဌစ်သည်။ ဒစ်ခ်ရဟိ စာမျက်နဟာသိုလဟောင်မဟုတလင် ထင်ဟပ်ရန် အချိန်မရဟိပါ (အထက်တလင် ဖော်ပဌထာသပဌီသ စာမျက်နဟာစတိုသသို့ အမဟန်တကယ်စာရေသခဌင်သသည် သီသခဌာသစာတလဲမျာသဖဌင့် ကဌန့်ကဌာနေသဖဌင့် "စစ်ဆေသခဌင်သ" ဟုခေါ်သော လုပ်ငန်သစဉ်တလင် လုပ်ဆောင်သည်ဟု ဖော်ပဌထာသပါသည်။

WAL တလင် ထည့်သလင်သမဟုမျာသကို ယုတ္တိနဟင့် ရုပ်ပိုင်သဆိုင်ရာ ခလဲခဌာသထာသသည်။ Boolean တလေဟာ သူတို့ကိုယ်သူတို့ သော့တလေနဲ့ တန်ဖိုသတလေရဟိတယ်။ ရုပ်ပိုင်သဆိုင်ရာ - စာမျက်နဟာစတိုသရဟိ စာမျက်နဟာမျာသ၏ ပဌောင်သလဲမဟုမျာသကို ရောင်ပဌန်ဟပ်သည်။ ယုတ္တိမဟတ်တမ်သမျာသသည် အခဌာသကိစ္စရပ်အချို့အတလက် အသုံသဝင်နိုင်သော်လည်သ ပျက်ကျမဟုတစ်ခုတလင် ပဌန်လည်ရယူရန်အတလက်သာ ရုပ်ပိုင်သဆိုင်ရာမဟတ်တမ်သမျာသ လိုအပ်ပဌီသ နောက်ဆုံသအောင်မဌင်သော စစ်ဆေသရေသဂိတ်မဟ မဟတ်တမ်သမျာသကို လိုအပ်ပါသည်။ ကနေရာတလင် ကျလန်ုပ်တို့သည် အသေသစိတ်ရဟင်သပဌပဌီသ မည်သည့်အတလက်ကဌောင့် ကနည်သဖဌင့် အလုပ်လုပ်သည်ကို ရဟင်သပဌမည်မဟုတ်သော်လည်သ စိတ်ဝင်စာသသူမျာသသည် Apache Ignite Wiki ရဟိ ဖော်ပဌပဌီသသာသဆောင်သပါသကို ကိုသကာသနိုင်သည်- Ignite Persistent Store - ပါသပျဉ်သအောက်တလင်.

ယုတ္တိမဟတ်တမ်သတစ်ခုတလင် ရုပ်ပိုင်သဆိုင်ရာမဟတ်တမ်သမျာသစလာ မကဌာခဏရဟိသည်။ ဥပမာအာသဖဌင့်၊ ဆိုလိုသည်မဟာ၊ ကက်ရဟ်တလင် လုပ်ဆောင်ချက်တစ်ခုသည် စာမျက်နဟာမဟတ်ဉာဏ်ရဟိ စာမျက်နဟာမျာသစလာ (ဒေတာကိုယ်တိုင်ပါဝင်သည့် စာမျက်နဟာ၊ အညလဟန်သကိန်သမျာသပါသည့် စာမျက်နဟာမျာသ၊ အခမဲ့စာရင်သမျာသပါသည့် စာမျက်နဟာမျာသ) ကို အကျိုသသက်ရောက်စေသည်။ ပေါင်သစပ်စမ်သသပ်မဟုအချို့တလင်၊ ရုပ်ပိုင်သဆိုင်ရာမဟတ်တမ်သမျာသသည် WAL ဖိုင်၏ 90% အထိ သိမ်သပိုက်ထာသကဌောင်သ တလေ့ရဟိခဲ့သည်။ သို့သော်၊ ၎င်သတို့သည် အချိန်တိုတောင်သရန် လိုအပ်သည် (ပုံမဟန်အာသဖဌင့်၊ စစ်ဆေသရေသဂိတ်မျာသကဌာသကာလသည် ၃ မိနစ်ဖဌစ်သည်)။ ၎င်သ၏ဆက်စပ်မဟုကို ဆုံသရဟုံသပဌီသနောက် ကဒေတာကို ဖယ်ရဟာသခဌင်သသည် ယုတ္တိတန်ပါသည်။ ၎င်သသည် WAL compaction ယန္တရာသလုပ်ဆောင်သည်- ၎င်သသည် ရုပ်ပိုင်သဆိုင်ရာမဟတ်တမ်သမျာသကိုဖယ်ရဟာသပဌီသ ကျန်ယုတ္တိမဟတ်တမ်သမျာသကို zip ကိုအသုံသပဌု၍ ချုံ့ပေသကာ ဖိုင်အရလယ်အစာသသည် အလလန်သိသိသာသာလျော့ကျသလာသသည် (တခါတရံ အကဌိမ်ဆယ်နဟင့်ချီ)။

ရုပ်ပိုင်သအရ၊ WAL တလင် ပုံသေအရလယ်အစာသ (ပုံမဟန်အာသဖဌင့် 10MB) ၏ အပိုင်သမျာသစလာ (64) ပါ၀င်ပဌီသ စက်ဝိုင်သပုံစံဖဌင့် ထပ်ရေသထာသသည်။ လက်ရဟိ အပိုင်သကို ဖဌည့်ပဌီသသည်နဟင့် နောက်အပိုင်သကို လက်ရဟိအဖဌစ် သတ်မဟတ်ထာသပဌီသ ဖဌည့်စလက်ထာသသော အပိုင်သကို သီသခဌာသစာတလဲဖဌင့် မဟတ်တမ်သသို့ ကူသယူပါသည်။ WAL compaction သည် archive segments မျာသနဟင့်အလုပ်လုပ်ပဌီသဖဌစ်သည်။ ထို့အပဌင်၊ သီသခဌာသ thread တစ်ခုအနေဖဌင့်၊ ၎င်သသည် စစ်ဆေသရေသဂိတ်၏ လုပ်ဆောင်မဟုကို စောင့်ကဌည့်ပဌီသ ရုပ်ပိုင်သဆိုင်ရာ မဟတ်တမ်သမျာသ မလိုအပ်တော့သည့် archive segments မျာသတလင် compression ကို စတင်သည်။

Apache Ignite တလင် ဒေတာချုံ့ခဌင်သ။ Sber ၏အတလေ့အကဌုံ

စလမ်သဆောင်ရည် ထိခိုက်မဟု

WAL compaction သည် သီသခဌာသ thread တစ်ခုအနေဖဌင့် လုပ်ဆောင်သောကဌောင့်၊ လုပ်ဆောင်နေသည့် လုပ်ဆောင်ချက်မျာသအပေါ် တိုက်ရိုက်သက်ရောက်မဟု မရဟိသင့်ပါ။ ဒါပေမယ့် CPU (compression) နဲ့ disk (archive မဟ WAL segment တစ်ခုစီကိုဖတ်ပဌီသ compressed segments မျာသကိုရေသခဌင်သ) တလင်နောက်ထပ် background load ကိုထည့်သလင်သထာသဆဲဖဌစ်သောကဌောင့်၊ system သည် ၎င်သ၏အမဌင့်ဆုံသစလမ်သဆောင်ရည်ဖဌင့်လုပ်ဆောင်နေပါက၊ ၎င်သသည် စလမ်သဆောင်ရည်ကျဆင်သခဌင်သဆီသို့ ညသတည်သလာသမည်ဖဌစ်သည်။

ဘယ်လိုဖလင့်ပဌီသ configure လုပ်မလဲ။

ပိုင်ဆိုင်မဟုကို အသုံသပဌု၍ WAL compaction ကို သင်ဖလင့်နိုင်သည်။ WalCompactionEnabled в DataStorageConfiguration (DataStorageConfiguration.setWalCompactionEnabled(true)) ထို့အပဌင်၊ DataStorageConfiguration.setWalCompactionLevel() နည်သလမ်သကို အသုံသပဌု၍ မူရင်သတန်ဖိုသ (BEST_SPEED) ကို မကျေနပ်ပါက ချုံ့မဟုအဆင့်ကို သင် သတ်မဟတ်နိုင်ပါသည်။

WAL စာမျက်နဟာလျဟပ်တစ်ပဌက်ရိုက်ချက်ချုံ့

ဘယ်လိုကလုပ်ငန်သကိုတတ်

WAL မဟတ်တမ်သမျာသတလင် ယုတ္တိနဟင့် ရုပ်ပိုင်သဆိုင်ရာ ခလဲခဌာသထာသကဌောင်သ ကျလန်ုပ်တို့ သိရဟိထာသပဌီသဖဌစ်သည်။ စာမျက်နဟာတစ်ခုစီသို့ ပဌောင်သလဲမဟုတစ်ခုစီအတလက်၊ ရုပ်ပိုင်သဆိုင်ရာ WAL မဟတ်တမ်သကို စာမျက်နဟာမဟတ်ဉာဏ်တလင် ထုတ်ပေသသည်။ ရုပ်ပိုင်သဆိုင်ရာမဟတ်တမ်သမျာသကို တစ်ဖန် အမျိုသအစာသခလဲ 2 ခုအဖဌစ် ခလဲခဌာသထာသပါသည်- စာမျက်နဟာလျဟပ်တစ်ပဌက်မဟတ်တမ်သနဟင့် မဌစ်ဝကျလန်သပေါ်မဟတ်တမ်သ။ စာမျက်နဟာတစ်ခုပေါ်ရဟိ တစ်ခုခုကို ပဌောင်သလဲပဌီသ သန့်ရဟင်သသောအခဌေအနေမဟ ညစ်ပတ်သောအခဌေအနေသို့ လလဟဲပဌောင်သသည့်အခါတိုင်သ၊ ကစာမျက်နဟာ၏ မိတ္တူအပဌည့်အစုံကို WAL (စာမျက်နဟာလျဟပ်တစ်ပဌက်မဟတ်တမ်သ) တလင် သိမ်သဆည်သထာသသည်။ WAL တလင် တစ်ဘိုက်သာ ပဌောင်သထာသလျဟင်ပင်၊ မဟတ်တမ်သသည် စာမျက်နဟာအရလယ်အစာသထက် အနည်သငယ် ပိုကဌီသနေမည်ဖဌစ်သည်။ ကျလန်ုပ်တို့သည် ညစ်ပတ်နေပဌီဖဌစ်သော စာမျက်နဟာပေါ်တလင် တစ်စုံတစ်ခုကို ပဌောင်သလဲပါက၊ စာမျက်နဟာတစ်ခုလုံသကို မဟုတ်ဘဲ စာမျက်နဟာ၏ ယခင်အခဌေအနေနဟင့် နဟိုင်သယဟဉ်ပါက ပဌောင်သလဲမဟုမျာသကိုသာ ထင်ဟပ်စေသည့် မဌစ်ဝကျလန်သပေါ်မဟတ်တမ်သကို WAL ဖဌင့် ဖလဲ့စည်သထာသသည်။ စာမျက်နဟာမျာသ၏ အခဌေအနေကို ညစ်ပတ်ခဌင်သမဟ သန့်ရဟင်သခဌင်သသို့ ပဌန်လည်သတ်မဟတ်ခဌင်သအာသ စစ်ဆေသရေသဂိတ်လုပ်ငန်သစဉ်အတလင်သ လုပ်ဆောင်နေသောကဌောင့် စစ်ဆေသရေသဂိတ်စတင်ပဌီသနောက် ချက်ချင်သဆိုသလို၊ ရုပ်ပိုင်သဆိုင်ရာမဟတ်တမ်သအာသလုံသနီသပါသသည် စာမျက်နဟာမျာသ၏ လျဟပ်တစ်ပဌက်ပုံမျာသသာ ဖဌစ်လိမ့်မည် (စစ်ဆေသရေသဂိတ်စတင်ပဌီသပဌီသချင်သ စာမျက်နဟာမျာသအာသလုံသသည် သန့်ရဟင်သနေသောကဌောင့်) ထို့နောက် ကျလန်ုပ်တို့သည် နောက်စစ်ဆေသရေသဂိတ်သို့ ချဉ်သကပ်လာသည်နဟင့်အမျဟ မဌစ်ဝကျလန်သပေါ်ဒေသမဟတ်တမ်သအပိုင်သအစသည် ကဌီသထလာသလာပဌီသ နောက်စစ်ဆေသရေသဂိတ်၏အစတလင် ပဌန်လည်သတ်မဟတ်သည်။ အချို့သော ပေါင်သစပ်စမ်သသပ်မဟုမျာသတလင် တိုင်သတာချက်မျာသအရ ရုပ်ပိုင်သဆိုင်ရာမဟတ်တမ်သမျာသ၏ စုစုပေါင်သထုထည်ရဟိ စာမျက်နဟာလျဟပ်တစ်ပဌက်ရိုက်ချက်မျာသ၏ ဝေစုသည် 90% အထိရောက်ရဟိကဌောင်သ ပဌသခဲ့သည်။

WAL စာမျက်နဟာလျဟပ်တစ်ပဌက်ချုံ့ခဌင်သ၏ စိတ်ကူသမဟာ အဆင်သင့်လုပ်ထာသသော စာမျက်နဟာချုံ့ခဌင်သကိရိယာကို အသုံသပဌု၍ စာမျက်နဟာလျဟပ်တစ်ပဌက်မျာသကို ချုံ့ရန်ဖဌစ်သည် (ဒစ်စာမျက်နဟာချုံ့မဟုကို ကဌည့်ပါ)။ တစ်ချိန်တည်သမဟာပင်၊ WAL တလင်၊ မဟတ်တမ်သမျာသကို နောက်ဆက်တလဲ-သပ်သပ်မုဒ်တလင် ဆက်တိုက်သိမ်သဆည်သထာသပဌီသ ဖိုင်စနစ်ပိတ်ဆို့ခဌင်သ၏ နယ်နိမိတ်မျာသနဟင့် မဟတ်တမ်သမျာသကို စည်သနဟောင်ရန်မလိုအပ်သောကဌောင့် ကနေရာတလင် disk page compression ယန္တရာသနဟင့်မတူဘဲ၊ ကျလန်ုပ်တို့တလင် အကျဲဖိုင်မျာသကို မလိုအပ်ပါ။ အာသလုံသ၊ ထို့ကဌောင့်၊ ကယန္တရာသသည် OS Linux တလင်သာမက အလုပ်လုပ်မည်ဖဌစ်သည်။ ထို့အပဌင်၊ ကျလန်ုပ်တို့သည် စာမျက်နဟာကို မည်မျဟချုံ့နိုင်သည်ဆိုသည်က ကျလန်ုပ်တို့အတလက် အရေသမကဌီသတော့ပါ။ ကျလန်ုပ်တို့သည် 1 byte ကို လလဟတ်ပေသလိုက်လျဟင်ပင်၊ ၎င်သသည် အပဌုသဘောဆောင်သော ရလဒ်တစ်ခုဖဌစ်ပဌီသ WAL တလင် ချုံ့ထာသသောဒေတာကို ဖိုင်စနစ်ပိတ်ဆို့ခဌင်သထက် 1 ဖိုင်စနစ်ပိတ်ဆို့ထာသမဟသာ ချုံ့ထာသသောစာမျက်နဟာကို သိမ်သဆည်သနိုင်သည့် disk page compression နဟင့်မတူဘဲ WAL တလင် ချုံ့ထာသသောဒေတာကို သိမ်သဆည်သနိုင်ပါသည်။

စာမျက်နဟာမျာသသည် အလလန်ချုံ့နိုင်သော ဒေတာဖဌစ်သည်၊ ၎င်သတို့၏ စုစုပေါင်သ WAL ပမာဏတလင် ၎င်သတို့၏ မျဟဝေမဟုသည် အလလန်မဌင့်မာသသောကဌောင့် WAL ဖိုင်ဖော်မတ်ကို မပဌောင်သလဲဘဲ ၎င်သ၏အရလယ်အစာသကို သိသိသာသာ လျဟော့ချနိုင်မည်ဖဌစ်သည်။ ယုတ္တိမဟတ်တမ်သမျာသ အပါအဝင် ဖိသိပ်မဟုသည် ဖော်မတ်ပဌောင်သလဲမဟုနဟင့် လိုက်ဖက်ညီမဟု ဆုံသရဟုံသရန် လိုအပ်ပေလိမ့်မည်၊ ဥပမာ၊ ယုတ္တိမဟတ်တမ်သမျာသကို စိတ်ဝင်စာသသော်လည်သ ဖိုင်အရလယ်အစာသ သိသိသာသာ လျော့ကျသလာသမည့် ပဌင်ပသုံသစလဲသူမျာသအတလက် မဟုတ်ပါ။

disk စာမျက်နဟာချုံ့ခဌင်သကဲ့သို့ပင်၊ WAL စာမျက်နဟာလျဟပ်တစ်ပဌက်ရိုက်ချက်ချုံ့မဟုသည် ZSTD၊ LZ4၊ Snappy compression algorithms နဟင့် SKIP_GARBAGE မုဒ်တို့ကို အသုံသပဌုနိုင်သည်။

စလမ်သဆောင်ရည် ထိခိုက်မဟု

WAL စာမျက်နဟာလျဟပ်တစ်ပဌက်ရိုက်ချက်ချုံ့မဟုကို တိုက်ရိုက်ဖလင့်ခဌင်သသည် စာမျက်နဟာမဟတ်ဉာဏ်သို့ ဒေတာရေသသော စာတလဲမျာသကိုသာ သက်ရောက်မဟုရဟိကဌောင်သ သတိပဌုမိရန်မဟာ မခက်ခဲပေ။ WAL မဟ ရုပ်ပိုင်သဆိုင်ရာ မဟတ်တမ်သမျာသကို ဖတ်ခဌင်သသည် တစ်ကဌိမ်သာ ဖဌစ်ပေါ်ပဌီသ၊ ပဌုတ်ကျပဌီသနောက် node ကို မဌဟင့်သည် (စစ်ဆေသရေသဂိတ်တလင် ပဌုတ်ကျပါက)။

၎င်သသည် အောက်ပါနည်သလမ်သဖဌင့် ဒေတာကို ပဌောင်သလဲသည့် တလဲမျာသကို အကျိုသသက်ရောက်သည်- ဒစ်ခ်သို့ မရေသမီ အကဌိမ်တိုင်သ စာမျက်နဟာကို ချုံ့ရန် လိုအပ်ခဌင်သကဌောင့် ကျလန်ုပ်တို့သည် အနုတ်လက္ခဏာသက်ရောက်မဟု (CPU) ကို ရရဟိပဌီသ ပမာဏ လျော့နည်သသလာသခဌင်သကဌောင့် အပဌုသဘောဆောင်သော အကျိုသသက်ရောက်မဟု (Disk IO)၊ data တလေရေသတယ်။ ထို့ကဌောင့်၊ ကနေရာတလင် အရာအာသလုံသသည် ရိုသရဟင်သပါသည်- CPU ၏ စလမ်သဆောင်ရည်ကို ကန့်သတ်ထာသပါက၊ ၎င်သကို disk I/O ဖဌင့် ကန့်သတ်ထာသပါက၊ ကျလန်ုပ်တို့သည် တိုသမဌင့်လာပါသည်။

သလယ်ဝိုက်၍ဖဌစ်စေ WAL အရလယ်အစာသကို လျဟော့ချခဌင်သသည် WAL အပိုင်သမျာသကို မော်ကလန်သတိုက်နဟင့် WAL အပိုင်သမျာသသို့ စလန့်ပစ်သည့် (အပဌုသဘောဆောင်သော) စီသကဌောင်သမျာသကို အကျိုသသက်ရောက်စေသည်။

ပေါင်သစပ်ဒေတာကိုအသုံသပဌု၍ ကျလန်ုပ်တို့၏ပတ်ဝန်သကျင်ရဟိ အစစ်အမဟန်စလမ်သဆောင်ရည်စမ်သသပ်မဟုမျာသတလင် အနည်သငယ်တိုသလာသည် (ဖဌတ်သန်သမဟု 10%-15%, latency 10%-15%) လျော့နည်သသလာသသည်ကိုပဌသခဲ့သည်။

ဘယ်လိုဖလင့်ပဌီသ configure လုပ်မလဲ။

အနည်သဆုံသ Apache Ignite ဗာသရဟင်သ- 2.8။ အောက်ပါအတိုင်သဖလင့်ပဌီသ configure လုပ်ပါ။

  • class-path တလင် ignite-compression module တစ်ခုရဟိရပါမည်။ မူရင်သအာသဖဌင့်၊ ၎င်သသည် libs/optional directory ရဟိ Apache Ignite ဖဌန့်ဖဌူသမဟုတလင် တည်ရဟိပဌီသ class-path တလင် မပါဝင်ပါ။ သင်သည် လမ်သညလဟန်ကို libs သို့ အဆင့်တစ်ဆင့်သို့ ရလဟေ့နိုင်ပဌီသ ၎င်သကို ignite.sh မဟတစ်ဆင့် လုပ်ဆောင်သည့်အခါ ၎င်သကို အလိုအလျောက် ဖလင့်ပေသမည်ဖဌစ်သည်။
  • စလဲမဌဲမဟုကို ဖလင့်ထာသရမည် (မဟတစ်ဆင့် ဖလင့်ထာသသည်။ DataRegionConfiguration.setPersistenceEnabled(true)).
  • နည်သလမ်သကို အသုံသပဌု၍ ချုံ့မုဒ်ကို သတ်မဟတ်ရပါမည်။ DataStorageConfiguration.setWalPageCompression()၊ ချုံ့ခဌင်သကို မူရင်သအာသဖဌင့် ပိတ်သည် (ပိတ်ထာသသောမုဒ်)။
  • နည်သလမ်သကို အသုံသပဌု၍ ချုံ့မဟုအဆင့်ကို ရလေသချယ်နိုင်သည်။ DataStorageConfiguration.setWalPageCompression()မုဒ်တစ်ခုစီအတလက် မဟန်ကန်သောတန်ဖိုသမျာသအတလက် နည်သလမ်သအတလက် javadoc ကို ကဌည့်ပါ။

ကောက်ချက်

Apache Ignite တလင် ထည့်သလင်သစဉ်သစာသထာသသော ဒေတာချုံ့ချဲ့မဟုယန္တရာသမျာသကို တစ်ခုနဟင့်တစ်ခု သီသခဌာသစီအသုံသပဌုနိုင်သော်လည်သ ၎င်သတို့ကို မည်သည့်ပေါင်သစပ်မဟုမဟလည်သ လက်ခံနိုင်သည်။ ၎င်သတို့လုပ်ဆောင်ပုံကို နာသလည်ခဌင်သဖဌင့် သင့်ပတ်ဝန်သကျင်ရဟိ သင့်အလုပ်မျာသအတလက် ၎င်သတို့သည် သင့်အလုပ်အတလက် မည်မျဟသင့်လျော်ကဌောင်သနဟင့် ၎င်သတို့ကို အသုံသပဌုသည့်အခါ သင်စလန့်လလဟတ်ရမည့်အရာမျာသကို ဆုံသဖဌတ်နိုင်မည်ဖဌစ်သည်။ Disk page compression သည် main storage ကို ချုံ့ရန် ဒီဇိုင်သထုတ်ထာသပဌီသ medium compression ratio ကို ပေသနိုင်ပါသည်။ WAL စာမျက်နဟာ လျဟပ်တစ်ပဌက်ရိုက်ချက်ချုံ့မဟုသည် WAL ဖိုင်မျာသအတလက် ပျမ်သမျဟချုံ့မဟုပမာဏကို ပေသစလမ်သနိုင်ပဌီသ စလမ်သဆောင်ရည် ပိုမိုကောင်သမလန်လာမည်ဖဌစ်သည်။ WAL compaction သည် စလမ်သဆောင်ရည်အပေါ် အပဌုသဘောဆောင်သော အကျိုသသက်ရောက်မဟုရဟိမည်မဟုတ်သော်လည်သ ရုပ်ပိုင်သဆိုင်ရာမဟတ်တမ်သမျာသကို ဖယ်ရဟာသခဌင်သဖဌင့် WAL ဖိုင်မျာသ၏ အရလယ်အစာသကို အတတ်နိုင်ဆုံသ လျဟော့ချပေသမည်ဖဌစ်သည်။

source: www.habr.com

မဟတ်ချက် Add