NoSQL Databases များကိုခြုံငုံသုံးသပ်ချက်

NoSQL 1998 လူအတော်များများအတွက်စတင်သုံးစွဲခဲ့အတိုကောက် NoSQL SQL မှာပြီးမှဖန်တီးနေတဲ့ထောင်ချီသက်တမ်းဖြစ်ပါတယ်ထင်ပါတယ်။ အဖြစ်မှန်မှာတော့ဟူသောဝေါဟာရကိုသာ SQL ကိုဆိုလိုသည်။ အဆိုပါအယူအဆနှစ်ခုလုံးနည်းပညာများအတူတကွနိုငျသောကွောငျ့ဖွစျသညျနှင့်တစ်ဦးချင်းစီနေရာမှရှိပါတယ်။ အဆိုပါ NoSQL လှုပ်ရှားမှု 2.0 ခေါင်းဆောင်များတစ်ဦး NoSQL နည်းပညာမွေးစားထားသော web ၏များစွာသောအဖြစ်လွန်ခဲ့သောနှစ်အနည်းငယ်အတွင်းသတင်းအတွက်ဖြစ်ခဲ့သည်။ Facebook, Twitter Digg, အမေဇုံ, Linkedln, နှင့် Google နဲ့တူကုမ္ပဏီများအားလုံးတလမ်းတည်းဖြင့်သို့မဟုတ်အခြားအတွက် NoSQL ကိုအသုံးပြုပါ။

သင်သည်သင်၏ CIO သို့မဟုတ်ပင်သင့်ရဲ့လုပ်ဖော်ကိုင်ဖက်ကရှင်းပြနိုင်အောင် NoSQL ဖြိုဖျက်ကြပါစို့။

NoSQL တစ်လိုအပ်နေသောူပည်သူမှပေါ်ထွက်လာ

ဒေတာများသိုလှောင်: အဆိုပါကမ္ဘာ့သိုလှောင်ထားသောဒစ်ဂျစ်တယ်ဒေတာ exabytes ရှိလာတိုင်းတာသည်။ တစ်ဦး exabytes အချက်အလက်များ၏တဦးတည်း billion gigabytes (GB အထိ) နှင့်ညီမျှသည်။ Internet.com အဆိုအရ 2006 ခုနှစ်ကဆက်ပြောသည်သိုလှောင်ထားသည့်ဒေတာပမာဏ 161 exabytes ရှိလာခဲ့သည်။ ရုံ 4 နှစ်အကြာတွင် 2010 ခုနှစ်တွင်သိမ်းဆည်းထားသည့်ဒေတာပမာဏ 500 ကျော်% တစ်ခုတိုးဖြစ်သောနီးပါး 1000 exabytes ဖြစ်လိမ့်မည်။ တနည်းအားဖြင့်ရှိပါတယ်ကမ္ဘာပေါ်မှာထဲမှာသိမ်းထားတဲ့ခံရဒေတာတွေအများကြီးဖြစ်ပါတယ်နှင့်၎င်း၏ရုံကြီးထွားလာဆက်လက်သွား။

အပြန်အလှန်ဆက်နွယ်မှာ Data: ဒေတာများကိုပိုမိုချိတ်ဆက်ဖြစ်လာနေဆဲဖြစ်သည်။ ဝဘ်၏ဖန်တီးမှု hyperlink များအတွက်တိုးပွားလာကြ, ဘလော့ဂ်များ pingbacks ရှိသည်နှင့်ရှိသမျှသောအဓိကလူမှုကွန်ယက်စနစ်ကအတူတကွအမှုအရာကိုကြိုးနဲ့တုတ်ကြောင်း tags များရှိပါတယ်။ ဗိုလ်မှူးစနစ်များအပြန်အလှန်ချိတ်ဆက်ခံရဖို့ built နေကြသည်။

ရှုပ်ထွေးသောဒေတာများကိုဖွဲ့စည်းပုံ: NoSQL ကိုအလွယ်တကူ hierarchical အသိုက်ဒေတာအဆောက်အဦများကိုကိုင်တွယ်နိုင်ပါတယ်။ SQL အတွက်တူညီသောအရာပြီးမြောက်စေရန်, သငျသညျသော့အမျိုးမျိုးတို့ကိုအတူမျိုးစုံ relational စားပွဲလို။

ထို့အပြင်ခုနှစ်, စွမ်းဆောင်မှုနှင့်ဒေတာရှုပ်ထွေးအကြားဆက်ဆံရေးလည်းမရှိ။ ကျနော်တို့လူမှုကွန်ရက် applications များနှင့် semantic က်ဘ်ဆိုက်အတွက်လိုအပ်သည့်အချက်အလက်များ၏ကြီးမားသောပမာဏသိုလှောင်အဖြစ် performance ရိုးရာ RDBMS အတွက်နိမ်နိုင်ပါတယ်။

NoSQL ဆိုတာဘာလဲ?

ငါ NoSQL သတ်မှတ်ဖို့တလမ်းတည်းဖြင့်မသည်အဘယ်အရာကိုစဉ်းစားရန်ဖြစ်ပါသည်ပါဘဲ။

ဒါဟာ SQL မဟုတ်ဘူးကြောင့် relational မဟုတ်ပါဘူး။ နာမတော်ကိုအမှီ ပြု. အကြံပြုကဲ့သို့ပင်၎င်းသည် RDBMS များအတွက်အစားထိုးမယ့်ပေမယ့် compliments ။ NoSQL အလွန်အကြီးစားဒေတာလိုအပ်ချက်များအတွက်ဖြန့်ဝေဒေတာစတိုးဆိုင်များများအတွက်ဒီဇိုင်းပြုလုပ်ထားသည်။ နေ့တိုင်းအချက်အလက်များ၏ Terabits စုဆောင်းထားတဲ့သူ့ရဲ့ 500.000.000 အသုံးပြုသူများနှင့် Facebook သို့မဟုတ် Twitter ကိုစဉ်းစားပါ။

တစ်ဦး NoSQL database ထဲတွင်မရှိပုံသေ schema နှင့်မျှမတို့ပူးပေါင်းမည်ရှိသေး၏။ တစ်ဦး RDBMS ပိုမိုမြန်ဆန်ခြင်းနှင့်ပိုမြန်ဟာ့ဒ်ဝဲရတဲ့နှင့်မှတ်ဉာဏ်ထည့်သွင်းခြင်းဖြင့် "ထ scales" ။ NoSQL, အခြားတစ်ဖက်တွင်, "ထွက်ချုံ့ချဲ့" ၏အားသာချက်ယူနိုင်ပါတယ်။ ထွက်ချုံ့ချဲ့အများအပြားကုန်စည်စနစ်များကိုကျော်ဝန်ပြန့်ပွားဖို့ကိုရည်ညွှန်းသည်။ ဒါဟာကြီးမားတဲ့ဒေတာအစုတစ်ခုစျေးသိပ်မကြီးတဲ့ဖြေရှင်းချက်ကို NoSQL ၏အစိတ်အပိုင်းတစ်ခုဖြစ်ပါတယ်။

NoSQL အုပ်စုများ

လက်ရှိ NoSQL ကမ္ဘာကြီးကို 4 အခြေခံအမျိုးအစားသို့ကိုက်ညီ။

  1. Stores ပေါ်မှာအဓိကအားဖြင့်အခြေခံ key-တန်ဖိုးများကို အမေဇုန်ရဲ့ Dynamo စက္ကူ အဓိကစိတ်ကူးထူးခြားတဲ့သော့နှင့်အချက်အလက်များ၏တစ်ဦးအထူးသဖြင့်ကို item တစ်ခု pointer လည်းမရှိတဲ့ hash table ၏တည်ရှိမှုဖြစ်ပါတယ် 2007 ၌ရေးထားလျက်ရှိ၏ခဲ့သော။ ဒီမြေပုံချပေးမှုများအများအားဖြင့်စွမ်းဆောင်ရည်တိုးမြှင့်ဖို့ cache ကိုယန္တရားများအားဖြင့်လိုက်ပါသွားကြသည်။
    ကော်လံမိသားစု Stores အများအပြားစက်တွေကိုကျော်ဖြန့်ဝေအချက်အလက်များ၏အလွန်ကြီးမားတဲ့ပမာဏသိုလှောင်ခြင်းနှင့်လုပ်ငန်းစဉ်ကိုဖန်တီးခဲ့ကြသည်။ အဲဒီမှာသော့နေဆဲဒါပေမဲ့သူတို့မျိုးစုံကော်လံထောက်ပြ။ Bigtable (Google ရဲ့ကော်လံမိသားစု NoSQL မော်ဒယ်) ၏အမှု၌, အတန်းကဒီ key ကိုအားဖြင့်ခွဲထားခဲ့သည်နှင့်သိုလှောင်ထားသောဒေတာနဲ့တန်းသော့ချက်နေဖြင့်ဖော်ထုတ်နေကြပါတယ်။ အဆိုပါစစ်ကြောင်းများကော်လံမိသားစုကစီစဉ်ပေးထားပါသည်။
  1. စာရွက်စာတမ်းဒေတာဘေ့စ်အားဖြင့်မှုတ်သွင်းခဲ့ကြသည် Lotus မှတ်စုများ နှင့်အဓိကတန်ဖိုးစတိုးဆိုင်များဆင်တူသည်။ အဆိုပါမော်ဒယ်အခြေခံအားဖြင့်ကတခြား key ကိုတန်ဖိုး collection များကို၏ collection များကိုဖြစ်ကြောင်းစာရွက်စာတမ်းများ versioned ဖြစ်ပါတယ်။ အဆိုပါ Semi-ဖွဲ့စည်းပုံမှာစာရွက်စာတမ်းများ JSON နဲ့တူပုံစံများထဲမှာသိမ်းထားပါတယ်။
  2. ဇယားဒေတာဘေ့စ် node များ, မှတ်စုများနှင့် node များ၏ဂုဏ်သတ္တိများအကြားဆက်ဆံရေးနှင့်အတူတည်ဆောက်လျက်ရှိကြ၏။ အဲဒီအစားအတန်းနှင့်ကော်လံပြားနှင့် SQL ၏တင်းကျပ်ဖွဲ့စည်းပုံ၏တစ်ဦးပြောင်းလွယ်ပြင်လွယ်ဂရပ်ပုံစံကိုဖြတ်ပြီးအများအပြားစက်တွေစကေးနိုင်သည့်အသုံးပြုသည်။

ဗိုလ်မှူး NoSQL ကစားသမား

NoSQL အတွက်အဓိကကစားသမားများဖြစ်သောကြောင့်သူတို့ကိုမွေးစားသောအဖှဲ့အစညျးမြား၏အဓိကအားပေါ်ထွက်လာပါပြီ။ အကြီးဆုံး NoSQL နည်းပညာများ၏အချို့တို့ပါဝင်သည်:

query NoSQL

တစ်ဦး NoSQL ဒေတာဘေ့စ query ကိုမည်သို့၏မေးခွန်းကိုအများဆုံး developer များစိတ်ဝင်စားတွေဘာတွေရှိတယ်ဆိုတာဖြစ်ပါတယ်။ သင်သည်အသုံးပြုသူများသို့မဟုတ်ဝဘ်န်ဆောင်မှုကိုအဆုံးသတ်ဖို့က retrieve နှင့်မပြနိုင်လျှင်ပြီးနောက်ရှိသမျှတို့, ကြီးမားတဲ့ဒေတာဘေ့စထဲမှာသိမ်းထားတဲ့ဒေတာကိုမည်သူမဆိုမည်သည့်ကောင်းသောအကျင့်မထားဘူး။ NoSQL databases ကို SQL ကဲ့သို့သောအဆင့်မြင့် declarative ဟူ. စုံစမ်းမှုဘာသာစကားမပေးပါဘူး။ အဲဒီအစားအဲဒီဒေတာဘေ့စ querying တိကျတဲ့အချက်အလက်မော်ဒယ်ဖြစ်ပါတယ်။

အဆိုပါ NoSQL ပလက်ဖောင်းအတော်များများဟာဒေတာကိုငြိမ်ဝပ် interfaces ဘို့ခွင့်ပြုပါ။ အခွားသောကမ်းလှမ်းမှုကိုစုံစမ်းမှုတွင် API ။ မျိုးစုံ NoSQL databases ကို query မှကြိုးပမ်းမှုတီထွင်ခဲ့ကြကြောင်းစုံစမ်းမှု tools များ၏စုံတွဲတစ်တွဲရှိတယ်။ အဲဒီကိရိယာပုံမှန်အားဖြင့်တစ်ခုတည်း NoSQL အမျိုးအစားကိုဖြတ်ပြီးအလုပ်လုပ်ကြသည်။ ဥပမာတစျခု SPARQL ဖြစ်ပါတယ်။ SPARQL ဂရပ် databases ကိုများအတွက်ဒီဇိုင်းရေးဆွဲတဲ့ declarative ဟူ. စုံစမ်းမှုသတ်မှတ်ချက်ဖြစ်ပါတယ်။ ဒီနေရာမှာတစ်ဦးအထူးသဖြင့်ဘလော့ဂါ (IBM က၏ယဉ်ကျေး) ၏ URL ကိုရယူထားတဲ့ SPARQL စုံစမ်းမှု၏ဥပမာတစ်ခုဖြစ်ပါသည်:

prefix foaf:
SELECT? url
FROM မှ
နေရာ {
? ပံ့ပိုး foaf: အမည် "Jon Foobar" ။
? ပံ့ပိုး foaf: ဘလော့ဂျ url ။
}

NoSQL ၏အနာဂတ်

ဧရာဒေတာသိုလှောင်မှုလိုအပ်ချက်ရှိသည်သောအဖွဲ့အစည်းများ NoSQL မှာအလေးအနက်ထားရှာဖွေနေပါသည်။ ပုံအယူအဆသေးငယ်အဖွဲ့အစည်းများထဲမှာရှိသကဲ့သို့အများကြီးဖြစ်ဖွယ်ရှိသောစွမ်းဆောင်ဆွဲရတဲ့မပေးပါ။ ပြန်ကြားရေးအပတ်များကကောက်ယူတဲ့စစ်တမ်းမှာတော့စီးပွားရေးလုပ်ငန်းအိုင်တီပညာရှင်များ၏ 44% NoSQL ကြား၏ကြပြီမဟုတ်။ ထို့ပြင်, ဖြေဆိုသူသာ 1% NoSQL သူတို့ရဲ့မဟာဗျူဟာအလမျးညှနျခ၏အစိတ်အပိုင်းတစ်ခုဖြစ်တယ်ဆိုတာကဖော်ပြခဲ့သည်။ ရှင်းနေသည်မှာ NoSQL ကျွန်တော်တို့ရဲ့ချိတ်ဆက်ကမ်ဘာပျေါတှငျနေရာမှရှိပါတယ်ဒါပေမယ့်အများအပြားရှိသည်နိုင်ထင်သောအစုလိုက်အပြုံလိုက်အယူခံဝင်ရဖို့တဖြည်းဖြည်းတိုးတက်ပြောင်းလဲဆက်လက်ရန်လိုအပ်ပါလိမ့်မယ်။