PayPal သည် JunoDB DBMS ကုဒ်ကို ဖွင့်လိုက်သည်။

PayPal သည် ဒေတာကို သော့တန်ဖိုးဖော်မတ်ဖြင့် ကိုင်တွယ်အသုံးပြုသည့် အမှား-ခံနိုင်ရည်ရှိသော DBMS JunoDB အတွက် အရင်းအမြစ်ကုဒ်ကို ဖွင့်လှစ်ထားသည်။ စနစ်သည် မူလက မြင့်မားသော လုံခြုံရေး၊ အလျားလိုက် အတိုင်းအတာ၊ အမှားအယွင်းများကို ခံနိုင်ရည်ရှိပြီး ကြိုတင်မှန်းဆနိုင်သော နှောင့်နှေးမှုများနှင့်အတူ တစ်ပြိုင်နက် ချိတ်ဆက်မှုများ ထောင်ပေါင်းများစွာကို ကိုင်တွယ်ဖြေရှင်းနိုင်စွမ်းဖြင့် ဒီဇိုင်းထုတ်ထားသည်။ PayPal တွင်၊ အသုံးပြုသူဝင်ရောက်ခြင်းမှ ငွေကြေးလွှဲပြောင်းမှုလုပ်ဆောင်ခြင်းအထိ ဝန်ဆောင်မှုအားလုံးနီးပါးကို JunoDB နှင့် ချိတ်ဆက်ထားသည်။ ပရောဂျက်ကုဒ်ကို Go (Java client library) တွင်ရေးထားပြီး Apache 2.0 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။ နောက်ထပ် ဖွံ့ဖြိုးတိုးတက်မှုတွင် ရပ်ရွာမှ ပြုပြင်မှုများ၊ တိုးတက်မှုများနှင့် အပြောင်းအလဲများကို လက်ခံပါမည်။

JunoDB ဗိသုကာလက်ရာသည် ကလိုင်းယင့်အက်ပလီကေးရှင်းများမှ တောင်းဆိုချက်များကိုလက်ခံပြီး တောင်းဆိုချက်တစ်ခုပြုလုပ်သည့်အခါ သိုလှောင်မှုဆာဗာအုပ်စုတစ်စုကို တစ်ပြိုင်နက်ဝင်ရောက်ကြည့်ရှုသည့် ပရောက်စီဆာဗာများကြားတွင် ၎င်းတို့ကို ဖြန့်ဝေပေးသည့် load balancer ကိုအသုံးပြုမှုအပေါ် အခြေခံထားသည်။ ပရောက်စီတစ်ခုစီသည် သိုလှောင်မှုဆာဗာများအားလုံးကို တစ်ပြိုင်နက်ချိတ်ဆက်မှုများပြုလုပ်ပြီး etcd configuration ၏ဖြန့်ဝေထားသောသိုလှောင်မှုစနစ်တွင်သိမ်းဆည်းထားသော partition အညွှန်းကိန်းအပေါ်အခြေခံ၍ သိုလှောင်မှုဆာဗာအုပ်စုတစ်စုထံ တောင်းဆိုချက်များကို ပြန်လည်ညွှန်းပေးသည်။

PayPal သည် JunoDB DBMS ကုဒ်ကို ဖွင့်လိုက်သည်။

ဒေတာကို အပိုင်းပိုင်းခွဲပြီး အစုအဝေးတစ်ခုအတွင်း ကြီးထွားလာသောအခါ သို့မဟုတ် ကျုံ့သွားသည်နှင့်အမျှ ဒေတာလှုပ်ရှားမှုကို လျှော့ချရန် hashing ကို အသုံးပြုကာ သိုလှောင်မှု node များနှင့် ချိတ်ဆက်ထားသည်။ အမှားအယွင်းခံနိုင်ရည်ရှိစေရန်၊ ဒေတာအစိတ်အပိုင်းတစ်ခုစီကို ဆာဗာတစ်ခုစီပျက်သွားသောအခါ အချက်အလက်များကို သိမ်းဆည်းနိုင်စေမည့် သိုလှောင်မှုဆုံမှတ်အများအပြားတွင် ပုံတူကူးထားသည်။ မတူညီသောဒေတာစင်တာများတွင် node အုပ်စုများတည်ရှိသည့်နေရာဒေသအလိုက်ဖြန့်ဝေသိုလှောင်မှုဖန်တီးမှုကိုပံ့ပိုးထားသည်။

PayPal သည် JunoDB DBMS ကုဒ်ကို ဖွင့်လိုက်သည်။

သိုလှောင်မှု ဆုံမှတ်များတွင် ဒေတာကို RocksDB စာကြည့်တိုက်ကို အခြေခံ၍ RAM တွင် သို့မဟုတ် စက်တွင်းသိုလှောင်မှုတွင် ထားရှိသည်။ မြဲမြံသောသိုလှောင်မှုဖြင့်၊ ဒေတာကို ကုဒ်ဝှက်ထားသောပုံစံဖြင့် သိမ်းဆည်းထားပါသည် (ကုဒ်ဝှက်ခြင်းသော့ကို client က နှစ်မျိုးလုံးဆုံးဖြတ်နိုင်ပြီး proxy အဆင့်တွင် သတ်မှတ်နိုင်သည်)။

PayPal သည် JunoDB DBMS ကုဒ်ကို ဖွင့်လိုက်သည်။

အပလီကေးရှင်းများမှ ဒေတာဘေ့စ်ကို ဝင်ရောက်အသုံးပြုရန်၊ Java၊ Go နှင့် C++ ရှိ အက်ပ်များအတွက် API တစ်ခုကို ပံ့ပိုးပေးသည့် ကလိုင်းယင့်စာကြည့်တိုက်တစ်ခု ထောက်ပံ့ပေးသည်။ client အပိုင်းကို တတ်နိုင်သမျှ ရိုးရှင်းအောင် ပြုလုပ်ထားပြီး ဖြစ်နိုင်ပါက ရှုပ်ထွေးသော ယုတ္တိဗေဒနှင့် ဆက်တင်များကို DBMS ဘက်သို့ ရွှေ့ထားသည်။ client နှင့် balancer သို့မဟုတ် proxy အကြား အပြန်အလှန်ဆက်သွယ်မှုကို ကုဒ်ဝှက်ထားသော ဆက်သွယ်ရေးချန်နယ်တစ်ခုမှတဆင့် လုပ်ဆောင်ပါသည်။ ကလိုင်းယင့် API ၏ လုပ်ဆောင်ချက်အပြည့်အစုံကို အတုယူသည့် တောင်းဆိုမှုများကို စီမံခန့်ခွဲရန်နှင့် ပေးပို့ရန် အမိန့်ပေးသည့်လိုင်း အင်တာဖေ့စ်ကို သင်အသုံးပြုနိုင်သည်။

စနစ်သည် ကြိုတင်ခန့်မှန်းနိုင်သော latency နည်းပါးသော တောင်းဆိုမှုများကို လုပ်ဆောင်ရန် ဒီဇိုင်းထုတ်ထားပြီး၊ ဥပမာ၊ n1-highmem-32 ပတ်ဝန်းကျင်များမှ ဖွဲ့စည်းထားသော သိုလှောင်မှု node သုံးခုနှင့် proxy တစ်ခု (Intel Xeon 32GHz CPU 2.30 ခု၊ 214G RAM နှင့် 450G SSD-based သိုလှောင်မှု) ၊ ကိစ္စများ၏ 2.5% တွင် 95 ms ထက်မပိုသော ပုံသေနှောင့်နှေးမှုများကို ဖြည့်ဆည်းပေးနိုင်ပြီး 16% တွင် 99 ms တစ်ပြိုင်နက် TLS ချိတ်ဆက်မှုများနှင့် တစ်စက္ကန့်လျှင် တောင်းဆိုချက် 200 စီးဆင်းမှု (တစ်စက္ကန့်လျှင် 15 တပြိုင်နက်ချိတ်ဆက်မှုများနှင့် တောင်းဆိုချက် 3000 စီးဆင်းမှုတို့နှင့်အတူ၊ တစ်စက္ကန့်လျှင် နှောင့်နှေးမှုများသည် ကိစ္စများ၏ 80% တွင် 6 ms ထက်မကျော်လွန်ဘဲ 95ms တွင် 15% ဖြစ်သည်။ PayPal တွင်၊ JunoDB-based ဝန်ဆောင်မှုများသည် တစ်နေ့လျှင် တောင်းဆိုမှု ဘီလီယံ ၃၅၀ ခန့်ကို ဆောင်ရွက်ပေးသည်။

PayPal သည် JunoDB DBMS ကုဒ်ကို ဖွင့်လိုက်သည်။


source: opennet.ru

မှတ်ချက် Add