# Intro to Data Build Tool (dbt) မြန်မာဘာသာစကား နဲ့ `dbt` အကြောင်း ရေးသားမှု နည်းနေသေးတော့ ပြည်တွင်းကလူတွေအတွက် `dbt` tool နဲ့ စိမ်းသလိုတော့ ဖြစ်နေနိုင်ပါတယ်။ `dbt` က Data Analyst / Data Engineer တွေကို မရှိမဖြစ် အသုံးဝင်လာတဲ့ tool လို့ ပြောလို့ ရပါတယ်။ dbt ဆိုတာက Extract-Transform-Load (ETL) သို့မဟုတ် Extract-Load-Transform (ELT) data pipeline ထဲမှာ Transform ဆိုတဲ့ အပိုင်းကို အထူးပြုလုပ်ဆောင်ပေးတဲ့ open-source tool တစ်ခု ဖြစ်ပါတယ်။ နောက်ပြီး dbt ကို SQL-based ဖြစ်တဲ့ data pipelines တွေအတွက် Software Engineering fundamentals တွေကို ယူဆောင်ပေးလာတဲ့ tool တစ်ခုလဲ ပြောကြပါတယ်။ dbt ကြောင့် - - Data Project Structure တွေ ပိုပေါ်လွင်လာတယ်။ - SQL ကို Jinja Templating နဲ့ တွဲဖက် အသုံးပြုလို့ရတာကြောင့် reusable ပိုဖြစ်လာတယ်။ - Production / Dev environment ခွဲခြား လုပ်ကိုင်ဖို့ ပိုလွယ်ကူလာတယ်။ - Data Testing / Unit Testing တွေကို အလွယ်တကူ ထည့်လို့ ရလာတယ်။ - Documentation ပိုင်းမှာလဲ ပိုကောင်းလာတယ်။ - Analytics Engineering ဆိုတဲ့ သဘောတရားကလဲ dbt ကြောင့် ပိုရုပ်လုံးပေါ်လာတယ်။ ### ETL vs ELT - ETL မှာက Transformation အပိုင်းက database အပြင်ဘက်မှာ လုပ်တယ် လို့ ယေဘုယျနားလည်လို့ ရတယ်။ ဒါမှမဟုတ် Transform ပိုင်းကို SQL ကို အဓိက သုံးလို့ မရပဲ Python (or) အခြား Programming Language တစ်ခုခုနဲ့ complex ဖြစ်တဲ့ Transformation task တွေကို အရင် လုပ်ပြီးမှ Database ထဲကို ထည့်တာမျိုးလို့လဲ နားလည်လို့ ရပါတယ်။ - ELT ကကျတော့ Transformation ကို database ထဲမှာ ပြုလုပ်တာပါ။ SQL ကို အဓိက ထားတဲ့ transformation task တွေ ဖြစ်ပါတယ်။ ![[Pasted image 20250318101602.png]] Image Credit -> [FullStackChronicles](https://fullstackchronicles.io/dbt-in-five-minutes) ### Models dbt မှာ အဓိက ကျတဲ့ concept ကတော့ Model ဖြစ်ပါတယ်။ Model တွေကို SQL query တွေနဲ့ ဖွဲ့စည်းထားပြီး Model Configuration ကိုတော့ YML file ထဲမှာ ရေးပါတယ်။