आपकी अमूर्त आवश्यकताएं मेरे लिए "PostgreSQL" चिल्लाती हैं। हालाँकि, मुझे लगता है कि यह पूंजीपति के लिए क्या है, इसके बराबर रहने के लायक है, इसलिए यहां विभिन्न सामानों की एक सूची दी गई है जिन्हें आप जांचना चाहते हैं।
मुफ्त सामान
- CouchDB - पहले NoSQL डेटाबेस में से एक, शक्तिशाली मैप / कम क्वेरी सिस्टम, अत्यधिक वितरित और गलती सहिष्णु। बेहतर NoSQL दावेदारों में से एक।
- हाइपरडेक्स - खोज क्षमताओं के साथ बहुत नया, वितरित हैश तालिका।
- रियाक - कुछ सम्मान के योग्य हैश तालिका वितरित की।
अजीब मुफ्त सामान
- Metakit - SQLite जैसे एम्बेडेड डेटाबेस का अधिक लेकिन SQL- आधारित नहीं, इसलिए अधिक प्रक्रियात्मक।
- FramerD - एक क्लासिक "नेटवर्क" डेटाबेस की तरह, बहुत सूचक-केंद्रित। शायद मर गया?
- मैग्मा - स्मॉलटाकल ओओडीबीएमएस। शांत लेकिन अच्छी तरह से प्रलेखित नहीं।
गैर-मुक्त सामान
- AllegroGraph - RDF (ग्राफ) डेटाबेस, SPARQL का समर्थन करता है। लिस्प के स्वाद का।
- कैच - एक हाइब्रिड रिलेशनल / OO डेटाबेस, मूल रूप से MUMPS (IIRC) पर आधारित है।
- वस्तुनिष्ठता - पिछले कुछ बड़ी OODBs में से एक। बहुत शक्तिशाली, प्रभावशाली और महंगी।
- VoltDB - अत्यधिक स्केलेबल ज्यादातर रिलेशनल डेटाबेस। "सबसे" SQL का समर्थन करता है। बहुत नया। मुझे लगता है कि उनका एक सामुदायिक संस्करण भी है।
निष्कर्ष
मैंने इनमें से किसी भी चीज का बड़े पैमाने पर इस्तेमाल नहीं किया है। मैंने उनमें से अधिकांश के साथ थोड़ा सा खेला है और हमेशा पोस्टग्रेक्यूएल के साथ वापस घाव करता हूं। अपनी आवश्यकताओं को देखते हुए, केवल एक PostgreSQL बॉक्स से बाहर नहीं मिलता है स्केलेबिलिटी है। दूसरी ओर, मेरे उद्देश्यों के लिए, इस समस्या पर क्लाउड नोड्स या कम-अंत मशीनों के 4000 डॉलर फेंकने की तुलना में एकल समर्पित डेटाबेस मशीन पर $ 4000 हार्डवेयर फेंकना बहुत आसान है। और PostgreSQL के साथ मापनीयता प्राप्त करने के तरीके हैं, जैसे कि EnterpriseDB के साथ ।
साइड में इन चीजों के साथ खेलने में बहुत मज़ा आता है, लेकिन जब मूल्यवान, अपरिवर्तनीय उत्पादन डेटा को किसी चीज़ में डालने का समय आता है, तो विश्वसनीयता, स्थिरता और दीर्घकालिक व्यवहार्यता जैसे उबाऊ गुणों का एक गुच्छा सामने आ जाता है।
आपके लिए प्रयोग सोचा
इस पर विचार करो। कल्पना कीजिए कि आप मार्क जुकरबर्ग हैं, और आपको अपना कोडबेस या अपना डेटा छोड़ना होगा। आप अपने सभी विकास कर्मचारियों को रख सकते हैं, लेकिन आपको या तो अपने सभी कोड - हर लाइन को छोड़ना होगा, यहां तक कि सभी डेवलपर्स को याद भी होगा कि उन्होंने सब कुछ कैसे लागू किया है - क्या आप अपने सभी उपयोगकर्ता खातों और अपने सभी उपयोगकर्ताओं को अपलोड करने के लिए तैयार रहते हैं डेटा और वह सब, या आप सभी डेटा छोड़ सकते हैं। सभी संरचना और सर्वर और कॉन्फ़िगरेशन, सेटअप रखें, लेकिन हर डेटाबेस में हर तालिका में प्रत्येक पंक्ति खो दें।
यह स्पष्ट होना चाहिए कि डेटा खोना बदतर होगा। आपके सभी उपयोगकर्ता उस सभी डेटा को पुन: उत्पन्न क्यों करेंगे? सभी मार्केटिंग डेटा खो गए, जो फेसबुक वास्तव में अपना पैसा बनाता है, के बारे में सोचो। लोगों को अपने फेसबुक क्लोन का उपयोग करने का अवसर मिलने पर कई टन लार टपक रही है - अब वे सभी पूर्व-अपुष्ट पूर्व-फेसबुक उपयोगकर्ता विकल्प पर विचार करते हुए बाहर होंगे। दूसरी ओर, यदि वे कोडबेस को खो देते हैं, तो वे इसका पुनर्निर्माण कर सकते हैं, शायद यह अब भी बेहतर है, लेकिन वे बहुत ही कम क्रम में कुछ ऑनलाइन कर सकते हैं। बिल्ली - वे शायद खरीद सकते हैंकिसी और का फेसबुक क्लोन कोडबेस है और इसे वास्तविक डेटा के साथ लोड करता है, लेकिन आप सिर्फ उनके डेटा को कॉपी नहीं कर सकते। यदि फेसबुक के पास अभी भी अपने सर्वर पर सभी के महत्वपूर्ण डेटा हैं, तो छोड़ने का प्रोत्साहन बहुत कम है। अभी भी बुरा है, लेकिन इतना कम है। हैरानी की बात तो कम है।
विडंबना यह है कि एक सनकी दुर्घटना में अपने सभी डेटा को खोने के बजाय अपने सभी कोड को खोना बहुत आसान है। सबसे इंटरनेट कंपनियों के लिए, हालांकि, डेटा है कंपनी है, यह है अपने सबसे मूल्यवान संपत्ति। और यह एक पारंपरिक, समय-परीक्षणित, पुराने जमाने के, अनदेखे संबंधपरक डेटाबेस का उपयोग करने पर विचार करने का एक मजबूत कारण है।