နားလည်ထားရမယ့် အချက်
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 တွေနဲ့ ကိုက်ညီစွာ ရလာပါတယ်။
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 ကို ကြည့်ပါ။
အတူတူ စမ်းရေးကြည့်မယ်
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));
}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 database — How Databases Work