का उपयोग करके टेराबाइट्स की बड़ी तालिका विभाजित करें मुझे क्षैतिज विभाजन पता है ... आप कई टेबल बना सकते हैं।MYSQL शेरिंग
मेरे पास seen है कि एक अनुप्रयोग आधारित शेरिंग में, आपके पास एकाधिक डेटाबेस सर्वर पर एक ही डेटाबेस संरचना होगी। लेकिन इसमें एक ही डेटा नहीं होगा।
उदाहरण के लिएतो:
Users 1 - 10000: server A
Users 10001 - 20000: server B
तकनीक ठीकरा करने के लिए नियोजित MySQL-प्रॉक्सी कर रहे हैं, उदाहरण के लिए कुछ उपकरण (MySQL प्रॉक्सी के आधार पर) SpockProxy है। हम मैन्युअल रूप से भी shard कर सकते हैं। आवश्यक .. एक मास्टर तालिका, उदा .:
-------------------
| userA | server1 |
| userB | server2 |
| userC | server1 |
-------------------
लेकिन इन ऊपर तकनीक आवेदन स्तर पर संभाल .. मैं डीबी सर्वर के स्तर पर इसे हल करना चाहते हैं होगा
हम पारदर्शी रूप से कई सर्वरों के साथ ऐसा कर सकते हैं? यह MySQL तालिका को स्केल करने की अनुमति देगा।
एक्स सर्वर पर एक्स टेबल बनाएं, और अंतिम उपयोगकर्ता को सामान्य क्वेरी द्वारा एकल डीबी सर्वर पर डेटा प्राप्त होता है?
संक्षेप में मैं एकल तालिका में 16 टेराबाइट का डेटा डालना चाहता हूं लेकिन मेरे पास एकल मशीन पर इतनी बड़ी जगह नहीं है, इसलिए मैं 8 टेराबाइट की प्रत्येक क्षमता को दो सर्वर स्थापित करना चाहता हूं। लेकिन एकल डीबी के लिए उपयोगकर्ता क्वेरी और बैकएंड पर परिणाम प्राप्त करने के दौरान शेडिंग का उपयोग किया जा सकता है।
मैं कुछ अन्य अच्छे समाधानों के लिए भी इस चर्चा को खोलता हूं उदा। MYSQL Clustering
।
क्या कोई भी समझाने की देखभाल करता है, या एक अच्छा शुरुआत करने वाला ट्यूटोरियल (चरण-दर-चरण) है जो आपको कई सर्वरों में विभाजन करने का तरीका सिखाता है?
मेरे ज्ञान के लिए सभी sharding आवेदन स्तर पर किया जाता है। MySQL यह पारदर्शी रूप से नहीं करता है। – Namphibian
@ नम्फिबियन इस समस्या का कोई अन्य समाधान है उदा। MySQL क्लस्टरिंग आदि .. – Imran
आज इसे देखेंगे लेकिन आखिरी बार मैंने क्लस्टरिंग का उपयोग किया था, यह धीमा था और वास्तव में प्रयास के लायक नहीं था। – Namphibian