2008-09-03 9 views
11

आम तौर पर डेटाबेस सर्वर सबसे बड़ा, सबसे महंगी बॉक्स है जिसे हमें लंबवत रूप से स्केलिंग के रूप में खरीदना है, केवल एकमात्र विकल्प है। क्या ऐसे कोई डेटाबेस हैं जो क्षैतिज रूप से स्केल करते हैं (यानी कई कमोडिटी मशीनों में) और इस दृष्टिकोण में सीमाएं क्या हैं?क्या आप क्षैतिज रूप से स्केल करने वाले डेटाबेस की अनुशंसा कर सकते हैं?

+0

क्या आपने किसी भी नए एसक्यूएल विकल्पों की जांच की है? NuoDB, Clustrix, और Xeround प्रत्येक वितरित OLTP डेटाबेस हैं। मैं क्लस्टरिक्स में काम करता हूं और इसे एक शानदार उत्पाद सोचता हूं। – clieu

उत्तर

4

चिंता न करें, अच्छे समाधान आ रहे हैं!

Couchdb और Hypertable ओपन सोर्स और अभी भी अल्फा में हैं, लेकिन वे स्पष्ट रूप से कमोडिटी सॉफ़्टवेयर पर स्केलिंग करने के लिए डिज़ाइन किए गए हैं। वे बहुत अच्छी तरह से काम करते हैं, और डेटाबेस के बारे में आप कैसे सोच सकते हैं बदल सकते हैं।

इसके अलावा, अगर किसी और को आपके लिए वितरण करने देना ठीक है, तो Google AppEngine और Amazon SimpleDB बेहद सस्ते वितरित डेटाबेस सेवाएं हैं, हालांकि वे अभी बीटा में हैं इसलिए सख्त सीमाएं लागू की गई हैं।

2

जावास्पेस (या वाणिज्यिक कार्यान्वयन जैसे कि गिगास्पेस) जैसी स्टोरेज तकनीकें हैं जो अत्यधिक स्केलेबल, तेज़ & ऑब्जेक्ट्स तक सुरक्षित पहुंच प्रदान करती हैं।

मेमकैड जैसे वितरित कैशिंग सिस्टम भी हैं, जो एक समान दृष्टिकोण प्रदान करते हैं।

बेशक, इनमें से कोई भी वास्तविक डेटाबेस नहीं हैं, लेकिन वे ऐसी चीजें हैं जो डेटाबेस के संयोजन के साथ काम कर सकती हैं ताकि एक उपयुक्त आर्किटेक्चर के बाद क्षैतिज स्केलेबिलिटी की बड़ी मात्रा प्रदान की जा सके। वास्तविक समस्या यह है कि यदि आप डेटाबेस के साथ आने वाली सभी एसीआईडी ​​भलाई चाहते हैं, तो कुछ अपरिहार्य प्रदर्शन दंड हैं। एकमात्र तरीका उन बिट्स को समझना है जहां आपको एसीआईडी ​​की आवश्यकता नहीं है, और उन बिट्स की सेवा के लिए अन्य तकनीकों का उपयोग करें।

1

Netezza और अन्य डाटावायरहाउस उपकरण इस तरह से स्केल करते हैं, लेकिन वे OLTP और वेब ऐप वर्कलोड के लिए अच्छे नहीं हैं।

1

एकाधिक मशीनों में स्केलिंग के लिए ओरेकल मार्ग को रियल एप्लिकेशन क्लस्टर (ओरेकल आरएसी) कहा जाता है। इस जगह पर दस्तावेज़ीकरण का कोई अंत नहीं है; आप http://www.oracle.com/database/rac_home.html से शुरू करने का प्रयास कर सकते हैं।

5

Oracle RAC - असली अनुप्रयोग क्लस्टर

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

यह निश्चित रूप से काफी खर्चशील है।

2

ओरेकल आरएसी डेटाबेस के रोल्स रॉयस है जो अतिरिक्त हार्डवेयर नोड्स को अपेक्षाकृत आसानी से और हार्डवेयर विफलता जोड़ने की इजाजत देता है।

हालांकि, आपकी कमोडिटी हार्डवेयर लागत लाइसेंस लागत से बौना हो जाएगी।

आपको ऐसा लगता है कि आपको क्षैतिज स्केलिंग की आवश्यकता क्यों है। 40 जीबी रैम और SAN स्टोरेज वाला एक बहु सीपीयू कोर सर्वर बहुत ही बड़े डीबी इंस्टॉलेशन का समर्थन कर सकता है।

क्या आप अपनी समस्या की बेहतर समझने के लिए कोई आकार और अपेक्षित गतिविधि जानकारी प्रदान कर सकते हैं?

0

ओरेकल रियल एप्लिकेशन क्लस्टर। यदि आप सबसे अच्छा चाहते हैं तो इसे देखें।

0

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

सभी डेटाबेस क्षैतिज रूप से गंभीर लागत पर आएंगे।

जब तक आपके पास समस्या पर फेंकने के लिए मेगा $$ नहीं है, तो आरएसी के बारे में भूल जाओ। जबकि यह बहुत अच्छा है, एक बार जब आप 2 नोड्स से अधिक पैमाने पर जाते हैं तो यह बहुत महंगा होता है।

2

यदि आप आरएसी मार्ग पर जाते हैं तो यह याद रखने योग्य है कि यह क्षैतिज रूप से हमेशा स्केल नहीं करता है। यहां तक ​​कि बिक्री के लोग भी मानते हैं कि 9 0% आरएसी ग्राहक 4 नोड्स या उससे कम हैं। एक बार जब आप उससे अधिक जाते हैं तो आपको कम रिटर्न मिलता है। तो आरएसी आपके लिए काम कर सकता है, लेकिन यह जवाब होने की गारंटी नहीं है।

2

MySQL: http://www.mysql.com/why-mysql/scaleout.html

सीमाएं है कि यह पढ़ने के ज्यादातर वर्कलोड के साथ सबसे अच्छा काम करता है। आपके पास आमतौर पर एक 'मास्टर' होता है जो सभी लिखने, और कई 'दास' प्राप्त करता है जो लिखने को दोहराते हैं। फिर आप सभी डेटाबेस पर पढ़ने को वितरित करते हैं।

MySQL प्रतिकृति असीमित है, इसलिए आपको शायद समय अंतराल की समस्याओं से निपटना होगा (आप मास्टर को लिखते हैं, और फिर लिखने से पहले दास से पढ़ते हैं)।

6

ओरेकल आरएसी क्षैतिज रूप से मापनीय नहीं है, क्योंकि सभी ओरेकल उदाहरण समान डाटा स्टोरेज साझा करते हैं। हां, SAN सामान के साथ आप एक बड़ा आकार डीबी प्राप्त कर सकते हैं, लेकिन यह बिल्कुल स्केलेबल नहीं है। दूसरे शब्दों में, ओरेकल आरएसी अभी भी एक पैमाने पर दृष्टिकोण है। तो स्केलिंग-आउट या क्षैतिज स्केलिंग के लिए, आपको अपने डेटा को फ़ंक्शन द्वारा विभाजित करना होगा जिसका अर्थ है विभिन्न डेटाबेस में टेबल के विभिन्न समूह डालना; या प्रति तालिका अपने डेटा को विभाजित करें जिसका अर्थ है कि एक तालिका को एक ही स्कीमा के साथ एकाधिक उप-सारणी में विभाजित करना है लेकिन विभिन्न डेटाबेस में स्टोर करना है। इस तरह, आपको एक स्केलिंग-आउट समाधान मिलता है। उस पर कई संसाधन हैं। Sharding वेब 2.0 वेबसाइट आर्किटेक्चर ब्लॉग क्षेत्र में थोड़ी देर के लिए एक चर्चा शब्द रहा है। क्योंकि शेर्डिंग सीधे डेटाबेस द्वारा समर्थित नहीं है, तो आपको अपना स्वयं का समाधान बनाना होगा। लेकिन जैसा कि मैंने कहा, पहले से ही कई सबक हैं। ऑर्केकल के लिए, विभाजन तालिका संभव है। Mysql के लिए, this question

0

MongoDB क्षैतिज रूप से स्केल करने वाले सर्वोत्तम डेटाबेस में से एक है।

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

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