यह एक पूर्ण समाधान नहीं है, लेकिन आप अपने स्टैक के हिस्से के रूप में ओरिएंटीडीबी में देखना चाह सकते हैं । ओरिएंट एक ग्राफ़-दस्तावेज़ डेटाबेस सर्वर है जो पूरी तरह से जावा में लिखा गया है।
ग्राफ डेटाबेस में, रिश्तों को प्रथम श्रेणी के नागरिक माना जाता है और इसलिए उन रिश्तों को ट्रेस करना बहुत जल्दी किया जा सकता है। ओरिएंट भी एक दस्तावेज़ डेटाबेस है जो आपको स्कीमा-मुक्त वास्तुकला की तरह की अनुमति देता है जो आपको लगता है कि आपको इसकी आवश्यकता होगी। हालांकि, मैं ओरिएंट का वास्तविक कारण इसकी व्यापकता के कारण बताता हूं। यह सॉकेट्स के माध्यम से स्ट्रीमिंग का समर्थन करता है, और पूरे डेटाबेस को दूसरे एप्लिकेशन में एम्बेड किया जा सकता है। अंत में, इसे कुशलता से बढ़ाया जा सकता है और / या पूरी तरह से मेमोरी के माध्यम से काम कर सकता है। तो, कुछ जावा विशेषज्ञता के साथ, आप वास्तव में स्मृति में डेटाबेस के खिलाफ अपने पूर्व निर्धारित प्रश्नों को चला सकते हैं।
हम भी कुछ ऐसा ही कर रहे हैं। सामाजिक विज्ञान अनुसंधान सहयोग के लिए एक ऐप / साइट बनाने में, हमने खुद को बेहद जटिल डेटा मॉडल के साथ पाया। हमने ग्रेमलिन ट्रैवर्सल लैंग्वेज (ग्रूवी का एक उप-समूह, जो निश्चित रूप से, इसके दिल में जावा है) का उपयोग करके कई प्रश्नों को लिखना समाप्त कर दिया, और फिर ओरिएंटबीडी के बाइनरी कनेक्शन सर्वर के माध्यम से उन प्रश्नों को उजागर किया। तो, क्लाइंट एक टीसीपी सॉकेट खोलता है, एक छोटा बाइनरी संदेश भेजता है, और इन-मेमोरी डेटाबेस के खिलाफ सीधे जावा में क्वेरी निष्पादित कर रहा है।
ओरिएंटबैंक जावास्क्रिप्ट में फ़ंक्शन क्वेश्चन लिखने का भी समर्थन करता है, और आप सीधे ओरिएंट उदाहरण के साथ बातचीत करने के लिए Node.js का उपयोग कर सकते हैं।
इस आकार के कुछ के लिए, मैं हेदोप के साथ ओरिएंट का उपयोग करना चाहूंगा या ऐसा कुछ। आप एस्पर के साथ संयोजन में ओरिएंट का भी उपयोग कर सकते हैं।
विचार करें: ओरिएंट से परिचय: http://www.sitepoint.com/a-look-at-orientdb-the-graph-document-nosql/
जटिल, वास्तविक समय के प्रश्न: http://www.gft-blog.com/business-trends/leveraging-real-time-scoring-through-bigdata-to-detect-insurance-fraud/
जावा और ओरिएंटेशन के साथ स्ट्रीमिंग विकल्पों के बारे में एक चर्चा: https://github.com/orientechnologies/orientdb/issues/122