Jan 14, 2017

Big Data ဆိုတာဘာလဲ။

sagaing
Big Data ဆိုတာ Technology တစ်ခုဖြစ်ပြီး၊ သူ့မှာ အဆမတန် များပြားတဲ့ Data အစုအဝေးတစ်ခုရှိတယ်၊ Data တွေဟာ အမြဲတိုးပွားနေပြီး၊ အမြဲတမ်းလည်း ပြောင်းလဲနေတယ်။ အဲ့ဒီ Data တွေမှာ Structure ကျနေတာရော၊  Structure အနည်းငယ်ကျတာတွေရော၊ Structure မကျတာတွေရော ပေါင်းစပ်ပါဝင်နေတယ်။ Structure ကျတယ်ဆိုတာက Database တစ်ခုထဲက Data တွေလိုဖြစ်နေတာကိုပြောတာပါ။ Structure အနည်းငယ်ကျတယ်ဆိုတာက XML ကဲ့သိုသော Data မျိုးတွေကိုဆိုလိုတာပါ။ Structure မကျဘူးဆိုတာက PDF ဖိုင်ထဲက Data မျိုးတွေကို ပြောတာပါ။ Big Data ဟာ ဘာလို့အရေးပါလည်းဆိုတော့ နောက်ပိုင်းမှာ Information နှင့် Knowledge တွေအဖြစ် ပြန်လည်အသုံးပြုနိုင်တဲ့အတွက်ကြောင့် ဖြစ်တယ်။  Big Data မှာ Data တွေအဓိက လာတဲ့ အရင်းအမြစ်တစ်ခုက အင်တာနက်သုံးတဲ့ သူတွေဆီကပဲဖြစ်ပါတယ်။ ကျွန်တော်တို့ ပတ်ဝန်းကျင်မှာ အချိန်တိုင်းလိုလို Data တွေဖြစ်ပေါ်နေပါတယ်။ ဥပမာ ကျွန်တော်တို့ကိုယ်တိုင်နှင့် သူငယ်ချင်း၊ ဆွေမျိုး၊ မိတ်ဆွေတွေထဲမှာ ဖေ့ဘွတ်ကို မသုံးတဲ့သူ၊ မရှိသလောက်ပဲ ဖြစ်ပါတယ်။  ဖေ့ဘွတ် အကောင့်တစ်ခုဖွင့်တယ်ဆိုရင် ဒေတာတွေထည့်ပေးရသလို၊ ရှိပြီးသားအကောင့်တစ်ခုက ဖေ့ဘွတ်သုံးတယ်ဆိုရင်လည်း စာတွေတင်ချင်တင်မယ်၊ ပုံတွေတင်ချင်တင်မယ်၊ ဗွီဒီယိုတွေတင်ချင်တင်မယ်၊ စတာတွေဟာ Data တွေပါ။ အဲ့ဒီ Data တွေဟာ စက္ကန့်တိုင်းဖြစ်ပေါ်နေပြီး၊ Data တွေကြောင့် လူတွေရဲ့ နေထိုင်စားသောက်မှု ပုံစံတွေဟာ ပြောင်းလဲ၊ ဖြစ်ပေါ်နေသလို၊ နိုင်ငံရေး၊ စီးပွားရေး၊ ပညာရေး၊ ကျမ္မာရေး၊ လူမှုရေး စတာတွေဟာလည်း ပြောင်းလဲနေပါတယ်။  Big Data ရဲ့ သွင်ပြင်လက္ခဏာကို ယေဘူယျအားဖြင့် 3Vs (Volume, Variety နှင့် Velocity) ဆိုတဲ့ အချက် (၃)ချက်နှင့် သတ်မှတ်ပါတယ်။ Volume ဆိုတာ Data ပါရှိတဲ့ ပမာဏ၊ Variety ဆိုတာ Data အမျိုးအစား အစုံအလင်ပါရှိမှု နှင့် Velocity ဆိုတာ Data ဆောင်ရွက်တဲ့ခါမှာ ဖြစ်ပေါ်တဲ့မြန်ဆန်နှုန်း တို့ပဲဖြစ်ပါတယ်။  အောက်မှာပြထားတဲ့ပုံက Big Data ဘယ်လိုကျယ်ပြန့်လာပြီး၊ ဖြစ်တည်လာတယ်ဆိုတာကို ပြထားတဲ့ပုံပါ။


Big Data ကြောင့် နည်းပညာနှင့်ပတ်သက်တဲ့ အလုပ်အကိုင်၊ အခွင့်အလမ်းအသစ်တွေ ဖြစ်ပေါ်လာသလို၊ လေ့လာစရာနယ်ပယ်လည်း ကျယ်ပြန့်လာခဲ့ပါတယ်။  ဥပမာ Data Scientist တစ်ယောက်ဟာ Big Data ရဲ့ အခရာကျတဲ့ Data Velocity ကိုကိုင်တွယ်ဖြေရှင်းနိုင်ဖို့ဆိုရင်၊ Machine Learning လို့ခေါ်တဲ့ (AI = Artificial Intelligence) အမျိုးအစားတစ်ခုကို သိထားဖို့လိုပါတယ်။  ထို့အတူ အခြားအလုပ်တစ်ခုဖြစ်တဲ့၊ ပုံစံတူ Data တွေကို ရှာဖွေမယ်၊ ပြီးရင် ခွဲခြမ်းစိတ်ဖြာပြီး အသုံးဝင်တဲ့ Data တွေကို ရွေးချယ်တဲ့ Data Mining ဆိုတာကိုလည်း သိထားဖို့လိုပါတယ်။  သာမာန်လူတစ်ယောက်အနေနှင့် Big Data ဟာ အရေးမပါလှပေမယ့်၊ အဖွဲ့အစည်းတွေအတွက်တော့ အရေးပါတာကြောင့် Big Data မှ Data တွေကို စောင့်ကြည်လေ့လာမှု၊ ခွဲချမ်းစိတ်ဖြာမှုတွေ ပြုလုပ်ပြီး၊ ဥပမာ မိမိအဖွဲ့အစည်းကထုတ်တဲ့ Product က ယခင်နှစ်တွေကထက် ဘယ်လောက်ထိ အောင်မြင်မှုရှိနေပြီလည်း၊ နောက် Market အနေအထား ဘယ်လိုဖြစ်လာနိုင်လည်း၊ Customer တွေနှစ်သက်တဲ့ပုံစံက ဘယ်လိုလည်း၊ နောင်မှာရော ဘယ်လိုဖြစ်နိုင်လာလည်း၊ စသည့်ဖြင့် မိမိအဖွဲ့အစည်းရဲ့ အောင်မြင်တိုးတက်မှု၊ ဆုံးရှုံးမှုနှင့် ဖြစ်လာနိုင်တဲ့အခြေအနေတွေနှင့် ပတ်သက်တဲ့ ရင်းမြစ်တွေကို ရှာဖွေဖို့၊ အတွက် Big Data ကို အသုံးပြုလာတာကြောင့် အရေးပါလာတာဖြစ်ပါတယ်။ နောက်ပြီး ကျွန်တော်တို့ ဖေ့ဘွတ်သုံးတဲ့အခါမှာ အဝေးရောက်နေတဲ့သူငယ်ချင်း၊ မိတ်ဆွေ၊ ဆွေမျိုးသားခြင်း စတာတွေနှင့် အွန်လိုင်းမှာဆုံဆည်းနိုင်ဖို့ ကျွန်တော်တို့သိနိုင်မယ့်သူတွေကို ဖေ့ဘွတ်ကအကြံပြုပေးတာ၊ ကျွန်တော်တို့ကြိုက်နှစ်သက်နိုင်မယ့် ကုန်ပစ္စည်းနှင့်ပတ်သက်တဲ့ ကြော်ငြာတွေ ဖေ့ဘွတ်ထဲမှာ ပေါ်နေတာတွေဟာ ဖေ့ဘွတ်က Big Data ကိုအသုံးပြုပြီး ဖန်တီးထားတဲ့ နည်းပညာတွေကြောင့် ဖြစ်ပါတယ်။  ဒီနည်းပညာတွေဟာလည်း တကယ်တော့ ကျွန်တော်တို့ ဖေ့ဘွတ်ပေါ်မှာ (သို့မဟုတ်) အင်တာနက်ထဲမှာ တစ်ခုခုကို ရှာဖွေလိုက်တာ၊ ပုံတစ်ပုံကို နှိပ်လိုက်တာ၊ လင့်ခ်တစ်ခုကို နှိပ်လိုက်တာ၊ ဗွီဒီယိုဖိုင်ကို ဖွင့်ကြည့်လိုက်တာ စသည့်ဖြင့် ကျွန်တော်တို့ လုပ်ဆောင်ချက်တွေကို Big Data ထဲမှာသိမ်းထားပြီးမှ ပြန်လည်ဖန်တီးထားတာတွေ ဖြစ်ပါတယ်။ Big Data ဆိုတဲ့ တီထွင်ဆန်းသစ်မှုကို ရှေ့ဆောင်လမ်းပြခဲ့တာကတော့ အချက်အလက်ရှာဖွေရေးအင်ဂျင်၊ ဆိုရှယ် မီဒီယာ၊ ကြော်ငြာ စတဲ့ လုပ်ငန်းအဖွဲ့အစည်းတွေပဲ ဖြစ်ပါတယ်။

Big Data အတွက် အဓိကအသုံးပြုတဲ့ Tools များ
Big Data ဆိုတဲ့ နည်းပညာကျယ်ပြန့်လာမှုနှင့်အတူ Technologies Company တွေဖြစ်တဲ့ IBM, Oracle, Microsoft, Intel, Google, VMWare, RedHat နှင့် အခြား ကုမ္ပဏီပေါင်းများစွာရဲ့ Hardware/Software ဝန်ဆောင်မှုတွေလည်း ကျယ်ပြန့်လာခဲ့ပါတယ်။  Big Data အတွက် Infrastructure တစ်ခုတည်ဆောက်ဖို့ဆိုတာ လွယ်ကူတဲ့ အရာတော့ မဟုတ်ပါဘူး။  ဘာလို့လည်းဆိုတော့ Big Data မှာ Open-Source တွေအဓိကသုံးတဲ့အတွက်ကြောင့် Configuration တွေဟာလည်း ရှုပ်ထွေးနိုင်တဲ့အတွက်ကြောင့် ဖြစ်ပါတယ်။ Networking နှင့်ပတ်သက်ပြီး ကျွမ်းကျင်တဲ့သူတွေဆိုရင်တော့ ပိုသိမှာပါ။  ဒီနေရာမှာ Software ပိုင်းနှင့် ပတ်သက်ပြီး Big Data မှာ အဓိကအသုံးပြုတဲ့ Tools တွေကို အဓိကထားပြီး မှတ်သားထားတာဖြစ်ပါတယ်။ Big Data မှာ အဓိကအသုံးပြုတာ Open-Source တွေပဲဖြစ်ပါတယ်။  နောက်ပြီး Big Data မှာ အဓိကလုပ်ဆောင်လေ့ရှိတဲ့ အလုပ်တွေက...

  • Data ရယူတဲ့အလုပ် (Extract) 
  • Data သိမ်းတဲ့အလုပ် (Store)
  • Data ရှင်းတဲ့အလုပ် (Clean)
  • Data တွေ ရွေးချယ်ခွဲထုတ်တဲ့အလုပ် (Mine)
  • Data တွေကို Charts/Graph တွေနှင့်ပြတဲ့အလုပ် (Visual)
  • Data တွေကို ခွဲခြမ်းစိတ်ဖြာတဲ့ အလုပ် (Analyze)
  • Data တွေကို ပေါင်းစည်းတဲ့အလုပ် (Integrate)
(ဒါဖတ်ပြီးတဲ့အချိန်မှာ ပလပ်စတစ်ကောက်တဲ့သူတွေ သွားမြင်ခဲ့ရင်၊ သူတို့က Big Data ရဲ့ Pioneer တွေပါလားလို့...တွေးလိုက်ပါ။ :D)
အဲ့ဒီအလုပ်တွေလုပ်ဖို့...

Big Data နှင့်ပတ်သက်တာတွေ ပြောတာပါ...။ ပလပ်စတစ်ကောက်တာ မဟုတ်ပါဘူး.. :D ။ Big Data အတွက် အဓိကလိုအပ်တဲ့ Tools တွေကတော့...

Apache Hadoop 
Apache ရဲ့ Framework တစ်ခုဖြစ်ပြီး၊ Big Data အတွက် အဓိကအသုံးပြုပါတယ်။ Big Data Framework တွေထဲမှာ ပေါ်ပြူလာအဖြစ်ဆုံး Open-Source Framework တစ်ခုဖြစ်ပါတယ်။  Hadoop ကို Java ဖြင့် ဖန်တီးထားပြီး၊ ၄င်းထဲမှာ အဓိက အစိတ်အပိုင်း (၄) ခုရှိတယ်...

HDFS (Hadoop Distributed File System)
HDFS ဆိုတာ Hadoop ရဲ့ အဓိကကျောရိုး လုပ်ဆောင်ချက်တစ်ခုဖြစ်ပြီး၊ Network ထဲက Data တွေကိုရှာဖွေထုတ်ယူခြင်း၊ ပြန်လည်ဖြန့်ဖြူးပေးခြင်း၊ Data အမြောက်အများကို ထိန်းသိမ်းထားပေးခြင်း၊ စီမံခန့်ခွဲပေးခြင်း စသည်တို့ကို မြန်ဆန်စွာလုပ်ဆောင်နိုင်တဲ့ စနစ်တစ်ခုဖြစ်ပါတယ်။

YARN (Yet Another Resource Negotiator)
YARN ဆိုတာ Framework တစ်ခုဖြစ်ပြီး Network တစ်ခုထဲမှာရှိတဲ့ Computer တွေဆီကလာတဲ့ Resource Request တွေကို အစီစဉ်တကျ၊​ စီမံခန့်ခွဲပေးတဲ့အလုပ်ကို အဓိကလုပ်ဆောင်ပါတယ်။

MapReduce ဆိုတာ Programming Model တစ်ခုဖြစ်ပြီး၊ YARN နှင့်အတူရှိတဲ့ အစိတ်အပိုင်းတစ်ခုပဲဖြစ်ပါတယ်။ MapReduce ရဲ့ အဓိကလုပ်ဆောင်ချက်က Data အများကြီးကို Filter, Sort, Summary စသည့် Data Processing လုပ်ငန်းတွေကို လုပ်ဆောင်ပေးခြင်းပဲဖြစ်တယ်။ MapReduce နှင့်တွဲဖက် လုပ်ဆောင်နိုင်တဲ့ နောက်တစ်ခုက Mahout ဆိုတာပဲဖြစ်ပါတယ်။  Mahout ဆိုတာ Machine Learning Application တွေကိုဖန်တီးလို့ရတဲ့ Open-Source Project တစ်ခုပဲဖြစ်ပါတယ်။  MapReduce ပေါ်မှာ အခြား Scripting Language တွေလည်းရေးနိုင်ပါတယ်။  အောက်မှာပြထားတဲ့ Hadoop Ecosystem မှာဆိုရင် PIG ဆိုတဲ့ Apache ရဲ့ Scripting Language ကိုပုံထဲမှာပြထားပေမယ့်၊ အခြား Scripting Language တွေဖြစ်တဲ့ Java, Python, Ruby စသည်တို့ကိုလည်း အသုံးပြုနိုင်ပါတယ်။  MapReduce မှာ Python ကိုအသုံးများပါတယ်။ MapReduce နှင့်ဆက်စပ်နေတဲ့ နောက်ထပ်တစ်ခုက Apache ရဲ့ Hive ဆိုတာပဲ ဖြစ်ပါတယ်။  ၄င်းက Structure Data တွေကို Analyze လုပ်နိုင်ပြီး၊ SQL နှင့်ဆင်တူတဲ့ Command တွေပါတဲ့ Tool တစ်ခုပဲဖြစ်ပါတယ်။

Hadoop Common
Hadoop Common ဆိုတာ Hadoop ထဲမှာရှိတဲ့ အခြား Module တွေအသုံးပြုဖို့ စုစည်းထားတဲ့ Libraries နှင့် Utilities တွေပဲဖြစ်ပါတယ်။

Hadoop ကို ဒီနေရာက Download လုပ်နိုင်ပါတယ်။  Hadoop ထဲမှာ Computer Programmer တွေနှင့်အဓိကသက်ဆိုင်နေတာက MapReduce နှင့် Scripting Languages တွေပဲဖြစ်ပါတယ်။  အောက်ပုံကတော့ Hadoop ရဲ့ Ecosystem ပုံပဲဖြစ်ပါတယ်။
MongoDB

Big Data မှာနောက်ထပ်အသုံးပြုတာက NoSQL Platform တွေပဲဖြစ်ပါတယ်။  NoSQL Platform တွေထဲမှာ Apache ကထုတ်တဲ့ HBase ဆိုတာရှိပေမယ့်၊ အသုံးများပြီး ပေါ်ပြူလာအဖြစ်ဆုံးက MongoDB ပဲဖြစ်ပါတယ်။  RDMS (Relational Database Management System) တွေဖြစ်တဲ့ SQL နှင့် MySQL တို့လို Table တွေ MongoDB မှာမရှိပဲ၊ Table ကဲ့သို့ Data အစုအဝေးတစ်ခုဖြစ်တဲ့ Collection ဆိုတာတွေပဲရှိပါတယ်။ Collection ထဲမှာ Data တွေရှိပြီး၊ ၄င်းတို့မှာ JSON ပုံစံအနေနှင့်ရှိပါတယ်။  MongoDB ရဲ့အားသာချက်က အခါအားလျှော်စွာပြောင်းလဲလေ့ရှိတဲ့ Data တွေ၊ Structure ကျတဲ့ Data တွေ၊ Structure အနည်းငယ်ကျတဲ့ Data တွေကို မြန်ဆန်စွာ၊ စီမံခန့်ခွဲလုပ်ဆောင်နိုင်တာပဲဖြစ်ပါတယ်။  MongoDB ကို ဒီနေရာမှာ Download လုပ်လို့ရပါတယ်။

DataMelt
DataMelt ဆိုတာ Data တွေကို အလွယ်တကူ၊ သိသာ၊ မြင်သာအောင် Charts/Graph တွေနှင့် ဖေါ်ပြတဲ့အခါမှာ အသုံးပြုနိုင်တဲ့ Free Software တစ်ခုဖြစ်ပါတယ်။  ဒီနေရာကနေ Download လုပ်လို့ရပါတယ်။

Big Data နှင့်သက်ဆိုင်တဲ့ အခြား Tool တွေ Solution တွေအများကြီးရှိပါသေးတယ်။

အခြားလေ့လာနိုင်တဲ့ Link တွေကတော့...
Hadoop နှင့် အခြား Framework များနှိုင်းယှဉ်ခြင်း
NoSQL နှင့် RDMS ခြားနားပုံ
DataBase Engine တွေရဲ့ Ranking
Google ရဲ့ BigQuery (Big Data မှာ Query တွေလုပ်ရင် ဘယ်လောက်မြန်လည်းဆိုတာ ဒီနေရာမှာ စမ်းလို့ရတယ်။   စမ်းကြည့်ဖို့ Public Dataset တွေပေးထားတယ်။  Google Account တော့ရှိဖို့လိုပါတယ်။)
Open Dataset
(Free Data တွေကို အောက်ပါ Link တွေကရနိုင်တယ်။ ကျောင်း Project အတွက်ပဲဖြစ်ဖြစ်၊ Big Data ကိုစမ်းဖို့ပဲဖြစ်ဖြစ်၊ အသုံးပြုနိုင်ပါတယ်။)
Kaggle
GroupLens

မှတ်စုရေးသူအကြောင်း

sagaing / Software Engineer

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

2 ခုမှတ်ချက်ပေးထားတယ်။:

ကိုစစ်ကိုင်း၏ မှတ်စုများ. Powered by Blogger.