यदि आप एकाधिक वीएम में स्केल करना चाहते हैं, तो आप GemStone/S पर एक नज़र डालना चाहेंगे।
हालांकि, याद रखें कि जेमस्टोन proprietary, commercial product है। तो, आप इसके लिए भुगतान करना होगा। हालांकि, मूल्य निर्धारण मॉडल आम तौर पर इस तरह से डिज़ाइन किया गया है, कि यदि आप को एक बड़ा संस्करण की आवश्यकता है तो आपके पास आमतौर पर उपयोगकर्ताओं को उस संस्करण के लिए का भुगतान करना होगा। कीमतें 4 GiByte डिस्क/1 GiByte RAM/1 CPU संस्करण के लिए 0 $ पर शुरू होती हैं।
ध्यान देने योग्य एक और बात यह है कि जेमस्टोन स्मॉलटाक अपनी बोली है, इसलिए आपका स्क्वाक कोड संभवतया असम्बद्ध नहीं होगा, लेकिन बंदरगाह के लिए काफी आसान होना चाहिए। (उदाहरण के लिए, जेमस्टोन इंजीनियरों ने एक एडाप्टर बनाया है जो आपको मोंटेसिल्लो (स्क्वाक के संस्करण नियंत्रण प्रणाली) पैकेज को जेमस्टोन/एस में लोड करने की अनुमति देता है, वे आम तौर पर सुनिश्चित करते हैं कि समुद्रतट चलता है।)
तो, जेमस्टोन क्या है? असल में, यह स्वत: ऑब्जेक्ट दृढ़ता के साथ एक वितरित वीएम है। सामान्य स्मॉलटॉक वीएम की तुलना में व्याख्या करना सबसे आसान है। यदि आपके पास दो छोटे-छोटे वीएम चल रहे हैं, तो उनमें से प्रत्येक की अपनी ऑब्जेक्ट मेमोरी है (यानी कचरा कलेक्टर प्रबंधन करता है)। और वह ऑब्जेक्ट मेमोरी रैम में है। जेमस्टोन में, क्लस्टर में सभी वीएम समान ऑब्जेक्ट मेमोरी और यह डिस्क पर रहता है, रैम में नहीं। तो, आप को डेटाबेस की आवश्यकता नहीं है, यहां तक कि ऑब्जेक्ट-ओरिएंटेड एक भी नहीं, क्योंकि आपकी ऑब्जेक्ट्स हर जगह, "हर जगह" होती हैं।
(यह केवल एक बहुत ही सरल वर्णन है। उदाहरण के लिए, ढेर वास्तव में वीएम में साझा नहीं किया गया है। यह समझ में नहीं आता है कि आप नेटवर्क पर बनाए गए हर अस्थायी ऑब्जेक्ट को दोहराना नहीं चाहते हैं। , आपके पास एक वैश्विक भंडार वस्तु है (मूल रूप से, एक शब्दकोश) और कचरा कलेक्टर की तरह कुछ प्रसिद्ध रूट ऑब्जेक्ट पर शुरू होगा और फिर उन सभी वस्तुओं को रखें जो वहां से पहुंच योग्य हैं, और जो नहीं हैं उन्हें हटाएं, जेमस्टोन शुरू हो जाएगा वैश्विक भंडार वस्तु पर, और जारी रहती है/केवल वस्तुओं है कि वहाँ से पहुंचा जा सकता है नकल करती हैं।)
रत्न भी डेटाबेस-ish सुविधाओं की है, इसलिए वैश्विक प्रतिनिधि के लिए उपयोग ository एसीआईडी लेनदेन में लपेटा गया है, और एक एसक्यूएल-प्रेरित लेकिन छोटी-छोटी क्वेरी भाषा है।
जेमस्टोन का एक अच्छा उपकरण है कि वे "GLASS" (जेमस्टोन, लिनक्स, अपाचे, समुद्रतट और स्मॉलटाक के लिए) को जाने-माने "लैंप" (लिनक्स, अपाचे, माईएसक्यूएल और PHP) के समान कहते हैं। ग्लास में जेसस्टोन का मुफ्त संस्करण सीसाइड प्रीइंस्टॉल किया गया है और अपाचे के साथ सब कुछ सेटअप जुबंटू के शीर्ष पर चल रहा है, सब कुछ अच्छी तरह से एक वीएमवेयर डिस्क छवि में पैक किया गया है।
मैं पूरी तरह से सहमत हूं, जेमस्टोन/एस जाने का रास्ता है। –
दिलचस्प ... तो अगर मेरे पास 10 मिलियन ऑब्जेक्ट्स के साथ एक संग्रह था, तो * पूरे * संग्रह मेरी स्थानीय मेमोरी में होगा? - मैं सिर्फ यह पता लगाने की कोशिश कर रहा हूं कि मेरा डेटा कहां होगा। – KHWP
पूरा संग्रह _local_ मेमोरी में नहीं होना चाहिए ... बड़ी वस्तुओं को आंतरिक रूप से btrees (मूल रूप से) का उपयोग करके कार्यान्वित किया जाता है ताकि आंशिक संग्रह स्थानीय मेमोरी में लोड किए जा सकें - आपका कामकाजी सेट स्थानीय मेमोरी में रखा जाता है और बाकी डिस्क –