2010-07-15 11 views
22

के लिए जावा ओआरएम कोई भी एचबीएएस के लिए एक अच्छा जावा ओआरएम कार्यान्वयन जानता है। यह एक रूबीएचबीएस

http://www.stanford.edu/~sqs/rhino/doc/

के लिए वास्तव में अच्छा लग रहा है लेकिन जावा के लिए एक नहीं पा सके।

धन्यवाद।

+10

यह प्रश्न क्यों बंद है !!!!! 33 9 0 बार विचारों के साथ यह एक बहुत अच्छा सवाल है! एसओएफ मॉडरेटर क्या करते हैं? – Heidarzadeh

+4

यह एक बहुत ही महत्वपूर्ण सवाल है, इसे रचनात्मक क्यों नहीं माना जाता है? – nitefrog

+0

यह अभी भी एक प्रासंगिक सवाल है। इस प्रश्न के अधिकांश जवाब पुराने या गैर-विद्यमान परियोजनाओं को इंगित करते हैं। मैं इनमें से किसी एक का उपयोग करने की सलाह देता हूं: [1] अपाचे फीनिक्स + हाइबरनेट [2] https://flipkart-incubator.github.io/hbase-object-mapper/ (प्रकटीकरण: मैं इस प्रोजेक्ट का लेखक हूं) –

उत्तर

2

pigi और parhely है और मैंने उनमें से कोई भी उपयोग नहीं किया है। आईएमओ एचबेस तेजी से कुंजी/मूल्य स्टोर इंजन है, लेकिन यदि आपको अवशोषण की एक और परत की आवश्यकता है, तो आपको उन्हें जांचना चाहिए।

+0

धन्यवाद । पेरहेली में प्रलेखन प्रतीत नहीं होता है इसलिए मैं पहले पिगी का उपयोग करना चुन रहा हूं। –

4

जैसा कि मैंने देखा है, एचबीएएस की ताकत स्थिर कॉलम परिवारों में गतिशील कॉलम रखने में है। मेरे अनुभव से एचबीएएस के साथ अनुप्रयोगों को विकसित करने से मुझे लगता है कि सेल क्वालीफायर और मान निर्धारित करने के लिए एसक्यूएल जितना आसान नहीं है।

उदाहरण के लिए, आपके एक्सेस पैटर्न, लेखक संपादन, ऐप-लेयर कैश कार्यान्वयन के आधार पर कई लेखकों के रूप में एक पुस्तक, आप पुस्तक तालिका में संपूर्ण लेखक को सहेजना चुन सकते हैं (लेखक लेखक 2 तालिका में रहता है, लेखक टेबल और बुक टेबल) या सिर्फ लेखक आईडी। इसके अलावा लेखक के संग्रह को एक सेल में एक्सएमएल/जेएसओएन या व्यक्तिगत लेखकों के लिए व्यक्तिगत कोशिकाओं के रूप में सहेजा जा सकता है।

इस समझ के साथ मैंने एक पूर्ण उड़ा हुआ ओआरएम लिखना समाप्त किया जैसे कि हाइबरनेट न केवल बहुत कठिन हो सकता है, वास्तव में निर्णायक नहीं हो सकता है। तो मैंने एक अलग दृष्टिकोण लिया, जैसे iBatis हाइबरनेट के लिए है।

मुझे यह बताने की कोशिश करें कि यह कैसे काम करता है। इसके लिए मैं here और here से स्रोत कोड का उपयोग करूंगा।

  1. पहला और सबसे बड़ा कार्य ऑब्जेक्टरो कनवर्टर इंटरफ़ेस को कार्यान्वित करना है, इस मामले में सत्रडेटा ऑब्जेक्ट कनवर्टर। अमूर्त वर्ग एचबीएस समुदाय से चर्चा और सीखा के रूप में बुनियादी सर्वोत्तम प्रथाओं को समाहित करता है। विस्तार मूल रूप से आपको अपनी वस्तु को HBase पंक्ति में परिवर्तित करने के तरीके पर 100% नियंत्रण देता है और इसके विपरीत। इसके लिए एपीआई से केवल प्रतिबंध ही है कि आपके डोमेन ऑब्जेक्ट्स को इंटरफ़ेस PersistentDTO को कार्यान्वित करना होगा जिसका उपयोग आंतरिक रूप से पुट, डिलीट, बाइट [] को आईडी ऑब्जेक्ट और इसके विपरीत बनाने के लिए किया जाता है।
  2. अगला कार्य HBaseImplModule में किए गए निर्भरताओं को तार करना है। यदि आप रुचि रखते हैं तो कृपया मुझे बताएं कि मैं निर्भरता इंजेक्शन के माध्यम से जाऊंगा।

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

यह ओआरएम हमारे लिए विकसित किया गया है आंतरिक उद्देश्य और मैं अपनी गर्दन तक रहा हूं और इसलिए कुछ दस्तावेज अभी तक नहीं कर सकते हैं।लेकिन यदि आप रुचि रखते हैं तो मुझे बताएं और मैं प्राथमिकता के साथ दस्तावेज़ के लिए समय बना सकता हूं।

3

कैसे datanucleus के बारे में: यदि आप अपने एपीआई और बैकएंड दुकान के रूप में HBase के रूप में जेपीए या JDO का उपयोग कर सकते हैं: http://www.datanucleus.org/plugins/store.hbase.html

2

हम HBase ORM उपयोग कर रहे हैं - Surus https://github.com/mushkevych/surus/wiki

शायद उल्लेख के लायक

  • हम इसे हडोप मानचित्र के साथ भारी उपयोग कर रहे हैं/
  • में अतिरिक्त मॉड्यूल है जो आपको JSON स्ट्रीमसे HBase डेटा में पंप करने की अनुमति देता है(हमारे मामले में यह पायथन कोड से आता है)
12

हाल ही में कुंडरा-2.0.4 की एक नई रिलीज जो एचबीएस पर ओआरएम है। यह अन्य बातों के जो अनुक्रमण की तरह बहुत उपयोगी होते हैं,, पार डेटा संग्रह हठ की पर्याप्त प्रदान करता है आदि

मेरा सुझाव है कि यह एक कोशिश https://github.com/impetus-opensource/Kundera

निष्पादन जार में है दे:

https://github.com/impetus-opensource/Kundera

4

हाइबरनेट ओजीएम गैर एसक्यूएल डेटाबेस के लिए एक अच्छा समाधान है। कोशिश करके देखो।

http://www.hibernate.org/subprojects/ogm.html

+0

अच्छा लगता है, लेकिन ऐसा लगता है कि HBase के लिए कोई समर्थन नहीं है। –

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