Thuta Learning
How Databases Work
AdvancedData & Databasesbeginner

Vector Database နှင့် AI

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • Vector Database နှင့် AI concept ကို နားလည်ရှင်းပြနိုင်ရန်
  • Diagram/table ကို ဖတ်ပြီး data model/schema/architecture ဘယ်လို ပုံသဏ္ဌာန်ရှိသလဲ ခြေရာခံနိုင်ရန်
  • ကိုယ့် project အတွက် database concept/system ကို ဘယ်လို အသုံးချသင့်သလဲ ရှင်းပြနိုင်ရန်

နားလည်ထားရမယ့် အချက်

Traditional database တစ်ခုက application data ကို သိမ်းပြီး exact (သို့) relational မေးခွန်းတွေကို ဖြေပေးပါတယ်။ Vector database တစ်ခုကတော့ embedding — အဓိပ္ပာယ်ရဲ့ numeric representation — တွေကို သိမ်းပြီး similarity မေးခွန်းတွေကို ဖြေပေးပါတယ်။

အချင်းချင်း အစားထိုးလို့ မရပါ

နှစ်ခုကို ရောထွေးလွယ်ပေမယ့် လုံးဝ ကွဲပြားတဲ့ ပြဿနာတွေကို ဖြေရှင်းပေးတာပါ။ လက်တွေ့မှာ အချင်းချင်း အစားထိုးအဖြစ်မဟုတ်ဘဲ အတူတကွ သုံးလေ့ရှိပါတယ် — ဒီပေါင်းစပ်မှုကပဲ Retrieval-Augmented Generation (RAG) ကို အင်အားပေးနေတာပါ။

RAG မှာ user ရဲ့ မေးခွန်းကို embedding အဖြစ် ပြောင်းပြီး vector store က semantic အနေနဲ့ အသက်ဆုံး text chunk တွေကို ရှာပေးကာ ဒီ chunk တွေကို large language model ဆီ context အဖြစ် ပေးလိုက်ပါတယ်၊ content တကယ်ရနိုင်တာကို အခြေခံပြီး ဖြေနိုင်ဖို့ပါ။

လက်တွေ့ AI application တစ်ခုက data အမျိုးအစားအလိုက် store ကွဲကွဲကို ပို့ပါတယ်: structured record တွေက relational database ဆီ၊ raw document တွေက object storage ဆီ၊ embedding တွေက vector-capable store ဆီ — store တစ်ခုစီက ကျွမ်းကျင်တဲ့ အလုပ်ကို လုပ်ပေးနေတာပါ။

Vector Database
Embedding တွေကို သိမ်းဆည်းပြီး query embedding တစ်ခုနှင့် အဆင်ဆင်ဆုံးတွေကို ရှာဖွေဖို့ optimize လုပ်ထားတဲ့ database (သို့) database extension တစ်ခုဖြစ်ပြီး exact matching အစား nearest-neighbor search ကို အများအားဖြင့် သုံးပါတယ်။
Embedding
Text, image, (သို့) data အခြားတစ်ခုခု၏ numeric vector representation တစ်ခုဖြစ်ပြီး machine learning model တစ်ခုက ထုတ်လုပ်ပေးကာ အဓိပ္ပာယ်ဆင်တူသော item တွေဟာ အနီးကပ် vector တွေနဲ့ ကိုက်ညီစွာ ရလာပါတယ်။
text
AI APPLICATION DATA ARCHITECTURE
--------------------------------
User Data  ------------------> PostgreSQL (relational)
(accounts, orders, courses)     exact + relational queries

Documents  ------------------> Object Storage (e.g. S3)
(PDFs, uploads, raw files)      durable file storage

Embeddings ------------------> Vector Store (vector-capable DB)
(from document text)            similarity / nearest-neighbor

              PostgreSQL + Object Storage + Vector Store
                              |
                              v
                    combined as context
                              |
                              v
                        LLM ---> AI response

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

လက်တွေ့ RAG application တစ်ခုမှာ user တစ်ဦးက PDF upload လုပ်တာက write သီးခြားသုံးခုကို ဖြစ်ပေါ်စေပါတယ်: file ကို object storage ဆီ၊ embedding တွေကို vector store ဆီ၊ metadata record ကို relational database ဆီ။

Similarity ဆိုတာ permission မဟုတ်ပါ

Vector store က chunk ဆင်တူတာကို ပြန်ပေးတာက query လုပ်နေတဲ့ user ကြည့်ခွင့်ရှိတယ်လို့ မဆိုလိုပါ။ Relational database ရဲ့ permission check တွေက similarity search နဲ့ အတူတကွ ဆက်လုပ်ရဆဲပါ။

အောက်က code ဥပမာက တမင် သေးငယ်အောင် ဖန်တီးထားပါတယ်: data type ဥပမာသုံးခုကို သက်ဆိုင်ရာ storage type ဆီ route လုပ်ပေးပါတယ်။ Embedding, RAG pipeline လက်တွေ့နက်နက်နဲနဲ အတွက် ဒီ site ရဲ့ Local AI tutorial content ကို ကြည့်ပါ။

အတူတူ စမ်းရေးကြည့်မယ်

javascript
function routeDataToStorage(dataType) {
  const routingTable = {
    userAccountData: "relational database (e.g. PostgreSQL)",
    documentText: "object storage (e.g. S3-compatible bucket)",
    textEmbeddingVector: "vector store (vector-capable database)"
  };
  return routingTable[dataType] || "unknown data type";
}

for (const dataType of ["userAccountData", "documentText", "textEmbeddingVector"]) {
  console.log(dataType + " -> " + routeDataToStorage(dataType));
}
You should see
Data type ဥပမာသုံးခုကို route လုပ်တဲ့အခါ: userAccountData -> relational database (e.g. PostgreSQL), documentText -> object storage (e.g. S3-compatible bucket), textEmbeddingVector -> vector store (vector-capable database) လို့ ပြန်ပေးပါတယ် — data အမျိုးအစားတစ်ခုစီကို ဘယ်လို query လုပ်မလဲဆိုတာနဲ့ တကယ်သင့်တော်တဲ့ storage type ဆီ map လုပ်ထားပါတယ်။

၅ မိနစ် စမ်းကြည့်

RoutingTable ထဲကို "chatMessageLog" (user နှင့် AI assistant ကြား chat message log) အတွက် စတုတ္ထ case တစ်ခု ထည့်ပြီး storage type သုံးခုထဲက ဘယ်ဟာနဲ့ သင့်တော်လဲ ဆုံးဖြတ်ပါ။ Data ကို နောက်ပိုင်း ဘယ်လို query လုပ်မလဲဆိုတာအရ ရွေးချယ်ချက်ကို ရှင်းပြပါ။

သတိလေးတစ်ချက်

Similarity search ကို relational database ထဲ အတင်းထည့်ဖို့ ကြိုးစားခြင်း (သို့) structured application data ကို nearest-neighbor lookup အတွက်ပဲ optimize လုပ်ထားတဲ့ system ထဲ သိမ်းခြင်းပါ။

Vector store ရဲ့ similarity ရလဒ်ကို အဖြေအပြည့်အဝအဖြစ် ယုံကြည်ပြီး query လုပ်နေတဲ့ user တကယ်ကြည့်ခွင့်ရှိလား သီးခြား permission check မလုပ်ခြင်းပါ။

Wikipedia: Vector databaseHow Databases Work

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Similarity search ကို relational database ထဲ အတင်းထည့်ဖို့ ကြိုးစားခြင်း (သို့) structured application data ကို nearest-neighbor lookup အတွက်ပဲ optimize လုပ်ထားတဲ့ system ထဲ သိမ်းခြင်းပါ။
  • Vector store ရဲ့ similarity ရလဒ်ကို အဖြေအပြည့်အဝအဖြစ် ယုံကြည်ပြီး query လုပ်နေတဲ့ user တကယ်ကြည့်ခွင့်ရှိလား သီးခြား permission check မလုပ်ခြင်းပါ။
  • ဒီ course က database concept/landscape ကို framework-neutral level မှာသာ သင်ပေးပါတယ် — SQL syntax, PostgreSQL, MongoDB, Redis ကို နက်နက်ရှိုင်းရှိုင်း လေ့လာချင်ရင် SQL, PostgreSQL, MongoDB, Redis tutorial တွေဆီ ဆက်သွားပါ။

လေ့ကျင့်ခန်း

RoutingTable ထဲကို "chatMessageLog" (user နှင့် AI assistant ကြား chat message log) အတွက် စတုတ္ထ case တစ်ခု ထည့်ပြီး storage type သုံးခုထဲက ဘယ်ဟာနဲ့ သင့်တော်လဲ ဆုံးဖြတ်ပါ။ Data ကို နောက်ပိုင်း ဘယ်လို query လုပ်မလဲဆိုတာအရ ရွေးချယ်ချက်ကို ရှင်းပြပါ။

You'll know it worked when: Data type ဥပမာသုံးခုကို route လုပ်တဲ့အခါ: userAccountData -> relational database (e.g. PostgreSQL), documentText -> object storage (e.g. S3-compatible bucket), textEmbeddingVector -> vector store (vector-capable database) လို့ ပြန်ပေးပါတယ် — data အမျိုးအစားတစ်ခုစီကို ဘယ်လို query လုပ်မလဲဆိုတာနဲ့ တကယ်သင့်တော်တဲ့ storage type ဆီ map လုပ်ထားပါတယ်။

Vector Database နှင့် AI | Thuta Learning