30 KiB
MCP डाटाबेस एकीकरण परिचय
🎯 यस ल्याबले के समेट्छ
यस परिचयात्मक ल्याबले मोडेल कन्टेक्स्ट प्रोटोकल (MCP) सर्भरहरू डाटाबेस एकीकरणसँग कसरी निर्माण गर्ने विषयमा व्यापक अवलोकन प्रदान गर्दछ। तपाईंलाई व्यवसायिक केस, प्राविधिक वास्तुकला, र वास्तविक-विश्व प्रयोगहरू बुझ्न मद्दत गर्नेछ, Zava Retail एनालिटिक्स प्रयोग केस मार्फत https://github.com/microsoft/MCP-Server-and-PostgreSQL-Sample-Retail मा।
अवलोकन
मोडेल कन्टेक्स्ट प्रोटोकल (MCP) ले एआई सहायकहरूलाई सुरक्षित तरिकाले वास्तविक-समयमा बाह्य डाटास्रोतहरूसँग पहुँच र अन्तरक्रिया गर्न सक्षम बनाउँछ। डाटाबेस एकीकरणसँग संयोजन हुँदा, MCP ले डेटा-आधारित एआई अनुप्रयोगहरूको लागि शक्तिशाली क्षमता खुला गर्छ।
यो सिकाइ मार्गले तपाईंलाई उत्पादनको लागि तयार MCP सर्भरहरू निर्माण गर्न सिकाउँछ जुन एआई सहायकहरूलाई PostgreSQL मार्फत खुद्रा बिक्री डेटा संग जडान गर्छ, र एंटरप्राइज नमूनाहरू जस्तै रो लेवल सुरक्षा, सेमेन्टिक खोज, र बहु-भाडाभोगी डेटा पहुँच लागू गर्छ।
सिकाइ उद्देश्यहरू
यस ल्याबको अन्त्यसम्म, तपाईं सक्षम हुनुहुनेछ:
- परिभाषित गर्नुहोस् मोडेल कन्टेक्स्ट प्रोटोकल र यसको डाटाबेस एकीकरणका मुँदाका फाइदा
- पहिचान गर्नुहोस् डाटाबेसहरूसँग MCP सर्भर वास्तुकलाका मुख्य घटकहरू
- बुझ्नुहोस् Zava Retail प्रयोग केस र यसको व्यवसायिक आवश्यकताहरू
- मान्यता दिनुहोस् सुरक्षित र स्केलेबल डाटाबेस पहुँचका लागि एंटरप्राइज नमूनाहरू
- सूची बनाउनुहोस् यस सिकाइ मार्गमा प्रयोग भएका उपकरण र प्रविधिहरू
🧭 चुनौती: एआई र वास्तविक-विश्व डेटा को सामना
परम्परागत एआई सीमाहरू
आधुनिक एआई सहायकहरू अत्यन्त शक्तिशाली भए पनि, वास्तविक-विश्व व्यवसाय डेटा संग काम गर्दा महत्वपूर्ण सीमाहरू सामना गर्छन्:
| चुनौती | विवरण | व्यवसाय प्रभाव |
|---|---|---|
| स्थिर ज्ञान | AI मोडेलहरू स्थिर डाटासेटमा प्रशिक्षित, वर्तमान व्यवसाय डेटा पहुँच सक्दैनन् | पुराना अन्तर्दृष्टिहरू, अवसर गुममाउने |
| डेटा साइलोहरू | जानकारी डाटाबेसहरू, एपीआईहरू, र प्रणालीहरूमा बन्द, जहाँ AI पुग्दैन | अपूरा विश्लेषण, टुक्रिएका कार्यप्रवाहहरू |
| सुरक्षा प्रतिबन्धहरू | प्रत्यक्ष डाटाबेस पहुँचले सुरक्षा र नियम पालनाका चिन्ताहरू ल्याउँछ | सीमित तैनाती, म्यानुअल डेटा तयारी |
| जटिल क्वेरीहरू | व्यवसाय प्रयोगकर्ताहरूले डेटा विश्लेषण निकाल्न प्राविधिक ज्ञान चाहिन्छ | कम अपनत्व, अप्रभावकारी प्रक्रियाहरू |
MCP समाधान
मोडेल कन्टेक्स्ट प्रोटोकलले यी समस्या समाधान गर्छ:
- वास्तविक-समय डेटा पहुँच: AI सहायकहरूले लाइव डाटाबेस र एपीआईहरू क्वेरी गर्छन्
- सुरक्षित एकीकरण: प्रमाणीकरण र अनुमति नियन्त्रणसहित नियन्त्रित पहुँच
- प्राकृतिक भाषा इंटरफेस: व्यवसाय प्रयोगकर्ताहरूले साधारण अंग्रेजीमा प्रश्न सोध्छन्
- मानकीकृत प्रोटोकल: विभिन्न AI प्लेटफर्म र उपकरणहरूमा काम गर्छ
🏪 Zava Retail संग परिचय: हाम्रो सिकाइ केस अध्ययन https://github.com/microsoft/MCP-Server-and-PostgreSQL-Sample-Retail
यस सिकाइ मार्गभरि, हामी एक MCP सर्भर बनाउनेछौं Zava Retail का लागि, जुन एक काल्पनिक DIY खुद्रा चेन हो जसका धेरै स्टोर स्थानहरू छन्। यो वास्तविक स्थितिले एंटरप्राइज-स्तर MCP कार्यान्वयन प्रदर्शित गर्दछ।
व्यवसायिक संदर्भ
Zava Retail सञ्चालन गर्दछ:
- 8 भौतिक स्टोरहरू वाशिंगटन राज्यभरि (सिएटल, बेलिभ्यु, टेकोमा, स्पोकेन, एभरेट, रेडमन्ड, किर्कल्याण्ड)
- 1 अनलाइन स्टोर इ-कमर्स बिक्रीका लागि
- विविध उत्पाद सूची जसमा उपकरणहरू, हार्डवेयर, बगैंचा सामाग्री, र निर्माण सामग्रीहरू समावेश छन्
- बहु-स्तर व्यवस्थापन स्टोर प्रबन्धकहरू, क्षेत्रीय प्रबन्धकहरू, र कार्यकारीहरुका साथ
व्यवसाय आवश्यकताहरू
स्टोर प्रबन्धक र कार्यकारीहरूले एआई-शक्ति भएको एनालिटिक्स चाहन्छन् जसले:
- स्टोरहरू र समय अवधि अनुसार बिक्री प्रदर्शन विश्लेषण गर्ने
- सूची स्तरहरू ट्र्याक गर्ने र पुनः स्टक आवश्यकताहरू पहिचान गर्ने
- ग्राहक व्यवहार र खरिद प्रवृत्तिहरू बुझ्ने
- सेमेन्टिक खोज मार्फत उत्पादन अन्तर्दृष्टिहरू पत्ता लगाउने
- प्राकृतिक भाषा क्वेरीहरूसँग रिपोर्टहरू सिर्जना गर्ने
- भूमिकामा आधारित पहुँच नियन्त्रणसँग डेटा सुरक्षा कायम गर्ने
प्राविधिक आवश्यकताहरू
MCP सर्भरले प्रदान गर्नुपर्छ:
- बहु-भाडाभोगी डेटा पहुँच जहाँ स्टोर प्रबन्धकहरूले केवल आफ्नै स्टोरको डेटा मात्र देख्छन्
- लचिलो क्वेरीिङ जटिल SQL अपरेशन्स समर्थन गर्ने
- सेमेन्टिक खोज उत्पादन पत्ता लगाउने र सिफारिस गर्ने
- वास्तविक-समय डेटा हालको व्यवसाय अवस्था प्रतिबिम्बित गर्ने
- सुरक्षित प्रमाणीकरण रो-लेवल सुरक्षा सहित
- स्केलेबल वास्तुकला धेरै समानान्तर प्रयोगकर्ताहरू समर्थन गर्ने
🏗️ MCP सर्भर वास्तुकला अवलोकन
हाम्रो MCP सर्भरले डाटाबेस एकीकरणका लागि अनुकूलित तहगत वास्तुकला कार्यान्वयन गर्दछ:
┌─────────────────────────────────────────────────────────────┐
│ VS Code AI Client │
│ (Natural Language Queries) │
└─────────────────────┬───────────────────────────────────────┘
│ HTTP/SSE
▼
┌─────────────────────────────────────────────────────────────┐
│ MCP Server │
│ ┌─────────────────┐ ┌─────────────────┐ ┌───────────────┐ │
│ │ Tool Layer │ │ Security Layer │ │ Config Layer │ │
│ │ │ │ │ │ │ │
│ │ • Query Tools │ │ • RLS Context │ │ • Environment │ │
│ │ • Schema Tools │ │ • User Identity │ │ • Connections │ │
│ │ • Search Tools │ │ • Access Control│ │ • Validation │ │
│ └─────────────────┘ └─────────────────┘ └───────────────┘ │
└─────────────────────┬───────────────────────────────────────┘
│ asyncpg
▼
┌─────────────────────────────────────────────────────────────┐
│ PostgreSQL Database │
│ ┌─────────────────┐ ┌─────────────────┐ ┌───────────────┐ │
│ │ Retail Schema │ │ RLS Policies │ │ pgvector │ │
│ │ │ │ │ │ │ │
│ │ • Stores │ │ • Store-based │ │ • Embeddings │ │
│ │ • Customers │ │ Isolation │ │ • Similarity │ │
│ │ • Products │ │ • Role Control │ │ Search │ │
│ │ • Orders │ │ • Audit Logs │ │ │ │
│ └─────────────────┘ └─────────────────┘ └───────────────┘ │
└─────────────────────┬───────────────────────────────────────┘
│ REST API
▼
┌─────────────────────────────────────────────────────────────┐
│ Azure OpenAI │
│ (Text Embeddings) │
└─────────────────────────────────────────────────────────────┘
मुख्य घटकहरू
1. MCP सर्भर तह
- FastMCP फ्रेमवर्क: आधुनिक Python MCP सर्भर कार्यान्वयन
- उपकरण दर्ता: प्रकार सुरक्षा सहित डिक्लेरेटिभ उपकरण परिभाषाहरू
- अनुरोध सन्दर्भ: प्रयोगकर्ता पहिचान र सत्र व्यवस्थापन
- त्रुटि सम्हाल्नु: दिगो त्रुटि व्यवस्थापन र लगिंग
2. डाटाबेस एकीकरण तह
- जोडाई पूलिङ: कुशल asyncpg कनेक्शन व्यवस्थापन
- स्कीमा प्रदायक: गतिशील तालिका स्कीमा खोज
- क्वेरी कार्यान्वयनकर्ता: RLS सन्दर्भसहित सुरक्षित SQL कार्यान्वयन
- ट्रान्जेक्सन व्यवस्थापन: ACID अनुपालन र रोलब्याक सम्हाल्नु
3. सुरक्षा तह
- रो लेवल सुरक्षा: PostgreSQL RLS द्धारा बहु-भाडाभोगी डेटा अलगाव
- प्रयोगकर्ता पहिचान: स्टोर प्रबन्धक प्रमाणीकरण र अनुमोदन
- प्रवेश नियन्त्रण: सूक्ष्म अनुमति र अडिट ट्रेलहरू
- इनपुट मान्यकरण: SQL इन्जेक्सन रोकथाम र क्वेरी मान्यकरण
4. एआई सुधार तह
- सेमेन्टिक खोज: उत्पादन पत्ता लगाउन भेक्टर एमबेडिङहरू
- Azure OpenAI एकीकरण: टेक्स्ट एमबेडिङ उत्पादन
- समानता एल्गोरिदमहरू: pgvector कोसाइन समानता खोज
- खोज अनुकूलन: इन्डेक्सिङ र प्रदर्शन ट्यूनिङ
🔧 प्रविधि स्ट्याक
मूल प्रविधिहरू
| घटक | प्रविधि | उद्देश्य |
|---|---|---|
| MCP फ्रेमवर्क | FastMCP (Python) | आधुनिक MCP सर्भर कार्यान्वयन |
| डाटाबेस | PostgreSQL 17 + pgvector | भेक्टर खोजसहित सम्बन्धपरक डाटा |
| एआई सेवा | Azure OpenAI | टेक्स्ट एमबेडिङ र भाषामोडेलहरू |
| कन्टेनराइजेशन | Docker + Docker Compose | विकास वातावरण |
| क्लाउड प्लेटफर्म | Microsoft Azure | उत्पादन तैनाती |
| IDE एकीकरण | VS Code | एआई च्याट र विकास कार्यप्रवाह |
विकास उपकरणहरू
| उपकरण | उद्देश्य |
|---|---|
| asyncpg | उच्च-प्रदर्शन PostgreSQL चालक |
| Pydantic | डेटा मान्यकरण र सिरियलाइजेशन |
| Azure SDK | क्लाउड सेवा एकीकरण |
| pytest | परीक्षण फ्रेमवर्क |
| Docker | कन्टेनराइजेशन र तैनाती |
उत्पादन स्ट्याक
| सेवा | Azure स्रोत | उद्देश्य |
|---|---|---|
| डाटाबेस | Azure Database for PostgreSQL | प्रबन्धित डाटाबेस सेवा |
| कन्टेनर | Azure Container Apps | सर्वररहित कन्टेनर होस्टिंग |
| एआई सेवा | Microsoft Foundry | OpenAI मोडेलहरू र अन्तबिन्दुहरू |
| अवलोकन | Application Insights | अवलोकन र निदान |
| सुरक्षा | Azure Key Vault | गोपनीयता र कन्फिगरेसन व्यवस्थापन |
🎬 वास्तविक-विश्व प्रयोग परिदृश्यहरू
हेरौं कसरी विभिन्न प्रयोगकर्ताहरू हाम्रो MCP सर्भरसँग अन्तरक्रिया गर्छन्:
परिदृश्य १: स्टोर प्रबन्धक प्रदर्शन समीक्षा
प्रयोगकर्ता: Sarah, सिएटल स्टोर प्रबन्धक
लक्ष्य: गत त्रैमासिकको बिक्री प्रदर्शन विश्लेषण
प्राकृतिक भाषा क्वेरी:
"मेरो स्टोरको लागि Q4 2024 मा राजश्व अनुसार शीर्ष 10 उत्पादनहरू देखाऊ"
के हुन्छ:
- VS Code AI Chat ले क्वेरी MCP सर्भरमा पठाउँछ
- MCP सर्भरले Sarah को स्टोर सन्दर्भ (सिएटल) पहिचान गर्छ
- RLS नीति अनुसार डेटा केवल सिएटल स्टोरमा फिल्टर हुन्छ
- SQL क्वेरी उत्पन्न र कार्यान्वयन हुन्छ
- परिणाम फारम्याट गरेर AI Chat मा फर्काइन्छ
- AI विश्लेषण र अन्तर्दृष्टिहरू प्रदान गर्छ
परिदृश्य २: सेमेन्टिक खोजसहित उत्पादन पत्ता लगाउने
प्रयोगकर्ता: Mike, सूची प्रबन्धक
लक्ष्य: ग्राहकको अनुरूप समान उत्पादनहरू खोज्नुहोस्
प्राकृतिक भाषा क्वेरी:
"हाम्रो के के 'बाहिरी उपयोगका लागि वाटरप्रूफ विद्युत कनेक्टरहरू' जस्तै उत्पादनहरू छन्?"
के हुन्छ:
- क्वेरी सेमेन्टिक खोज उपकरणले प्रक्रिया गर्छ
- Azure OpenAI ले एमबेडिङ भेक्टर उत्पादन गर्छ
- pgvector समानता खोज गर्छ
- सम्बन्धित उत्पादनहरू सान्दर्भिकताका आधारमा वर्गीकृत हुन्छन्
- परिणामले उत्पादन विवरण र उपलब्धता समावेश गर्छ
- AI वैकल्पिक र बन्डलिङ अवसरहरू सुझाउँछ
परिदृश्य ३: क्रस-स्टोर विश्लेषण
प्रयोगकर्ता: Jennifer, क्षेत्रीय प्रबन्धक
लक्ष्य: सबै स्टोरमा प्रदर्शन तुलना गर्नुहोस्
प्राकृतिक भाषा क्वेरी:
"अन्तिम ६ महिनामा सबै स्टोरहरूका लागि वर्ग अनुसार बिक्री तुलना गर"
के हुन्छ:
- क्षेत्रीय प्रबन्धक पहुँचका लागि RLS सन्दर्भ सेट हुन्छ
- जटिल बहु-स्टोर क्वेरी उत्पन्न हुन्छ
- स्टोर स्थानहरूमा डेटा संकलन हुन्छ
- परिणामहरूमा प्रवृत्ति र तुलना समावेश हुन्छ
- AI अन्तर्दृष्टिहरू र सिफारिसहरू पहिचान गर्छ
🔒 सुरक्षा र बहु-भाडाभोगी डिटेल डाइभ
हाम्रो कार्यान्वयनमा एंटरप्राइज-स्तर सुरक्षा प्राथमिकता दिइन्छ:
रो लेवल सुरक्षा (RLS)
PostgreSQL RLS ले डेटा अलगाव सुनिश्चित गर्छ:
-- Store managers see only their store's data
CREATE POLICY store_manager_policy ON retail.orders
FOR ALL TO store_managers
USING (store_id = get_current_user_store());
-- Regional managers see multiple stores
CREATE POLICY regional_manager_policy ON retail.orders
FOR ALL TO regional_managers
USING (store_id = ANY(get_user_store_list()));
प्रयोगकर्ता पहिचान व्यवस्थापन
प्रत्येक MCP कनेक्शनमा हुन्छ:
- स्टोर प्रबन्धक ID: RLS सन्दर्भका लागि अनन्य पहिचानकर्ता
- भूमिका नियुक्ति: अनुमति र पहुँच स्तरहरू
- सत्र व्यवस्थापन: सुरक्षित प्रमाणीकरण टोकनहरू
- अडिट लगिंग: सम्पूर्ण पहुँच इतिहास
डेटा संरक्षण
सुरक्षाका धेरै तहहरू:
- जोडाई इन्क्रिप्शन: सबै डाटाबेस कनेक्शनको लागि TLS
- SQL इञ्जेक्सन रोकथाम: मात्र प्यारामिटराइज्ड क्वेरीहरू
- इनपुट मान्यकरण: व्यापक अनुरोध मान्यकरण
- त्रुटि सम्हाल्नु: त्रुटि सन्देशमा कुनै संवेदनशील डेटा हुँदैन
🎯 मुख्य सिकाइहरू
यो परिचय पूरा गरेपछि तपाईंले बुझ्नु पर्ने कुरा:
✅ MCP मूल्य प्रस्ताव: कसरी MCP ले AI सहायक र वास्तविक-विश्व डेटाबीच पुल बनाउँछ
✅ व्यवसायिक सन्दर्भ: Zava Retail का आवश्यकताहरू र चुनौतीहरू
✅ वास्तुकला अवलोकन: मुख्य घटकहरू र तिनको अन्तरक्रिया
✅ प्रविधि स्ट्याक: संपूर्ण सिकाइ मार्गभरि प्रयोग भएका उपकरण र फ्रेमवर्कहरू
✅ सुरक्षा मोडेल: बहु-भाडाभोगी डेटा पहुँच र सुरक्षा
✅ प्रयोग नमूनाहरू: वास्तविक-विश्व क्वेरी परिदृश्यहरू र कार्यप्रवाहहरू
🚀 के छ अगाडि
गहिराइमा जान तयार? यसलाई जारी राख्नुहोस्:
Lab 01: Core Architecture Concepts
MCP सर्भर वास्तुकला नमूनाहरू, डाटाबेस डिजाइन सिद्धान्तहरू, र हाम्रो खुद्रा एनालिटिक्स समाधानलाई शक्ति दिने विस्तृत प्राविधिक कार्यान्वयन बारे जान्नुहोस्।
📚 थप स्रोतहरू
MCP कागजातहरू
- MCP Specification - आधिकारिक प्रोटोकल कागजात
- MCP for Beginners - व्यापक MCP सिकाइ मार्गदर्शन
- FastMCP Documentation - Python SDK कागजात
डाटाबेस एकीकरण
- PostgreSQL Documentation - पूर्ण PostgreSQL सन्दर्भ
- pgvector Guide - भेक्टर विस्तार कागजात
- Row Level Security - PostgreSQL RLS मार्गदर्शक
Azure सेवा
- Azure OpenAI Documentation - एआई सेवा एकीकरण
- Azure Database for PostgreSQL - प्रबन्धित डाटाबेस सेवा
- Azure Container Apps - सर्वररहित कन्टेनरहरू
अस्वीकरण: यो एउटा सिकाइ अभ्यास हो जसमा काल्पनिक खुद्रा डेटा प्रयोग गरिएको छ। उत्पादन वातावरणमा यस्ता समाधानहरू कार्यान्वयन गर्दा तपाईंको संगठनको डाटा शासन र सुरक्षा नीतिहरूको पालना गर्न सधैं ध्यान दिनुहोस्।
अस्वीकरण: यो दस्तावेज़ AI अनुवाद सेवा Co-op Translator प्रयोग गरेर अनुवाद गरिएको हो। हामी सही हुन प्रयास गर्छौं, तर कृपया जानकार हुनुस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छन्। मूल दस्तावेज़ यसको मूल भाषामा आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीका लागि व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न कुनै पनि गलत बुझाइ वा त्रुटिको लागि हामी जिम्मेवार छैनौं।