2008-09-07 11 views
27

एक MySQL तालिका के लिए अधिकतम आकार क्या है? क्या यह 50 जीबी पर 2 मिलियन है? 80 जीबी पर 5 मिलियन?एक MySQL डेटाबेस के लिए अधिकतम तालिका आकार

आकार के उच्चतम स्तर पर, क्या मुझे डेटा को संपीड़ित करने के बारे में सोचना चाहिए? या शायद टेबल को विभाजित करना अगर यह बहुत बड़ा हो गया है?

+0

अच्छी तरह से यदि आप बड़े होते हैं तो आप वास्तव में एक टेबल को विभाजित नहीं करना चाहते हैं, आप बस इसे विभाजित करना चाहते हैं। –

+1

संभावित डुप्लिकेट [प्रदर्शन से पहले एक MySQL डेटाबेस कितना बड़ा हो सकता है] प्रदर्शन शुरू होने से पहले (http://stackoverflow.com/questions/1276/how-big-can-a-mysql-डेटा-get-before-performance-starts -to-degrade) – random

उत्तर

0

अपने पहले प्रश्न के बारे में, डेटाबेस के लिए प्रभावी अधिकतम आकार आमतौर पर ऑपरेटिंग सिस्टम से निर्धारित होता है, विशेष रूप से फ़ाइल आकार MySQL सर्वर में सक्षम हो जाएगा MySQL सर्वर द्वारा स्वयं बनाओ। उन सीमाओं तालिका आकार सीमा में एक बड़ी भूमिका निभाते हैं। और MyISAM InnoDB से अलग-अलग काम करता है। तो कोई भी सीमा उन सीमाओं पर निर्भर होगी।

यदि आप इनो डीबी का उपयोग करते हैं तो आपके पास टेबल आकारों में हेरफेर करने के अधिक विकल्प होंगे, इस मामले में टेबलस्पेस का आकार बदलना एक विकल्प है, इसलिए यदि आप इसे आकार देने की योजना बना रहे हैं, तो यह तरीका है। The table is full त्रुटि पृष्ठ पर एक नज़र डालें।

मुझे यकीन नहीं है कि प्रत्येक तालिका की वास्तविक रिकॉर्ड मात्रा सभी आवश्यक जानकारी (ओएस, टेबल प्रकार, कॉलम, डेटा प्रकार और प्रत्येक के आकार आदि) ... और मुझे यकीन नहीं है कि यह जानकारी आसान है या नहीं गणना करें, लेकिन मैंने कुछ मामलों में लगभग 1 बीबी रिकॉर्ड के साथ सरल तालिका देखी है और MySQL को छोड़ दिया नहीं है।

+1

ओएस आपकी तालिका के आकार को सीमित क्यों करेगा? MySQL केवल एक फ़ाइल में टेबल का समर्थन कर सकता है? कोई टेबलस्पेस अवधारणा नहीं है जो एक से अधिक फाइलों को एक टेबल पर मैप करने की अनुमति देगी? –

35

मैंने एक बार एक बहुत बड़े (टेराबाइट +) MySQL डेटाबेस के साथ काम किया। हमारे पास सबसे बड़ी तालिका सचमुच एक बिलियन पंक्तियों से अधिक थी।

यह काम किया। MySQL ने डेटा को सही ढंग से संसाधित किया। हालांकि यह बेहद कमजोर था।

बस बैक अप और डेटा संग्रह करना एक चुनौती थी। यदि हमें आवश्यकता होती है तो टेबल को पुनर्स्थापित करने में कुछ दिन लगेंगे।

हमारे पास 10-100 मिलियन पंक्ति सीमा में कई तालिकाओं थीं। टेबल में कोई भी महत्वपूर्ण जुड़ने में बहुत समय लगता था और हमेशा के लिए ले जाएगा। इसलिए हमने संग्रहित प्रक्रियाओं को टेबल पर 'चलने' के लिए लिखा और प्रक्रिया 'आईडी' की सीमाओं के खिलाफ जुड़ती है। इस तरह हम एक समय में डेटा 10-100,000 पंक्तियों को संसाधित करेंगे (आईडी के 1-100,000 के बाद 100,001-200,000 इत्यादि के साथ जुड़ें)। यह पूरी तालिका के खिलाफ शामिल होने से काफी तेज था।

प्राथमिक कुंजी पर आधारित बहुत बड़ी टेबल पर इंडेक्स का उपयोग करना भी अधिक कठिन है। MySQL स्टोरों को दो टुकड़ों में संग्रहीत करता है - यह प्राथमिक कुंजी मानों के लिए इंडेक्स के रूप में इंडेक्स (प्राथमिक अनुक्रमणिका के अलावा) को संग्रहीत करता है। इसलिए अनुक्रमित लुकअप दो हिस्सों में किया जाता है: पहला MySQL एक इंडेक्स पर जाता है और इसे प्राथमिक कुंजी मानों को खींचता है जिसे इसे ढूंढने की आवश्यकता होती है, फिर यह प्राथमिक कुंजी इंडेक्स पर दूसरा लुकअप करता है यह पता लगाने के लिए कि वे मान कहां हैं।

इसका शुद्ध यह है कि बहुत बड़ी टेबल (1-200 मिलियन प्लस पंक्तियों) के लिए तालिकाओं के खिलाफ अनुक्रमण अधिक प्रतिबंधक है। आपको कम, सरल सूचकांक की आवश्यकता है। और यहां तक ​​कि सरल चयन कथन भी कर रहे हैं जो सीधे इंडेक्स पर नहीं हैं, कभी वापस नहीं आ सकते हैं। जहां खंड हिट इंडेक्स होना चाहिए या इसके बारे में भूल जाना चाहिए।

लेकिन सभी जो कहा जा रहा है, चीजें वास्तव में काम करती थीं। हम इन बहुत बड़ी तालिकाओं के साथ MySQL का उपयोग करने में सक्षम थे और गणना करते हैं और सही उत्तर प्राप्त करते हैं।

+1

क्या आपके पास एक संकेत है जहां मुझे परीक्षण के लिए इतनी बड़ी टेबल मिल सकती हैं? हम डेटाबेस प्रबंधन प्रणाली लिख रहे हैं और MySQL के साथ हमारे सिस्टम के प्रदर्शन का परीक्षण करना चाहते हैं। – StanE

-1

बड़े डेटाबेस के लिए इस http://www.clb4u.com/2013/10/scalability-and-limits-of-mysql.html

समर्थन देखें। हम डेटाबेस के साथ MySQL सर्वर का उपयोग करते हैं जिसमें 50 मिलियन रिकॉर्ड होते हैं। हम उन उपयोगकर्ताओं के बारे में भी जानते हैं जो 200,000 टेबल और लगभग 5,000,000,000 पंक्तियों के साथ MySQL सर्वर का उपयोग करते हैं।

+3

कृपया लिंक केवल उत्तर न दें। यहां उत्तर के आवश्यक हिस्सों को भी शामिल करें। – Harry

+3

लिंक टूटा हुआ है। – dbcb

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^