2012-11-10 13 views
15

मैं किसी भी डेटा को जारी रखना नहीं चाहता हूं लेकिन अभी भी इसके ग्राफ ट्रैवर्सल और एल्गोरिदम क्षमताओं के लिए नियो 4j का उपयोग करना चाहता हूं। एक एम्बेडेड डेटाबेस में, मैंने cache_type = strong कॉन्फ़िगर किया है और सभी लिखने के बाद मैंने लेनदेन को विफलता में सेट किया है। लेकिन मेरी लेखन गति (नोड, संबंध निर्माण गति) धीमी है और यह मेरी प्रक्रिया में एक बड़ी बाधा बन रही है।किसी भी दृढ़ता के बिना पूरी तरह से स्मृति में Neo4j चल रहा है

तो सवाल यह है कि क्या Neo4j बिना किसी दृढ़ता पहलुओं के चल सकता है और एक शुद्ध एपीआई के रूप में? मैंने जेजीआरटीटी जैसे अन्य लोगों की कोशिश की लेकिन उनको ट्रैवर्सल तंत्र नहीं हैं जैसे Neo4j प्रदान करता है।

+3

क्या आपको अभी तक एक व्यवहार्य समाधान मिला है? – jagamot

+0

तो Neo4j इसका समर्थन नहीं करता है? मैं अपनी ग्राफ ट्रैवर्सिंग क्षमताओं के लिए, फ़ाइल सिस्टम में किसी भी बैकअप के बिना, स्मृति में नियो 4j को भी चलाने के लिए चाहता हूं। – Sergio

उत्तर

4

जहाँ तक मुझे पता है, नियो 4 जे डेटा स्टोरेज और ल्यूसीन इंडेक्स हमेशा फाइलों पर लिखे जाते हैं। लिनक्स पर, कम से कम, आप फ़ाइलों को स्मृति में रखने के लिए ramfs फाइलिंग सिस्टम सेट अप कर सकते हैं।

यह भी देखें:

+0

हम अभी बस कोई बैंडविड्थ :( मैं 1.8 उपयोग कर रहा हूँ और कहीं भी डॉक्स में स्मृति समर्थन में नहीं दिख रहा है Neo4j का इन-स्मृति कार्यान्वयन करने के लिए योजना बना रहे हैं, लेकिन पहली 1.0 के बाद,। – chethan

+0

हां, मुझे लगता है कि अभी तक बैंडविड्थ नहीं मिला ;-) – DNA

+2

इसके अलावा, आप परीक्षण के लिए ImpermanentGraphDatabase को आजमा सकते हैं? https://github.com/neo4j/community/blob/master/kernel/src/test/java/org/neo4j/test/ImpermanentGraphDatabase.java –

2

कितने परिवर्तन आप प्रत्येक लेन-देन में समूह करते हैं? लेनदेन करने से डिस्क पर लॉजिकल लॉग को मजबूर करने के बाद आपको प्रत्येक लेनदेन में हजारों परिवर्तनों को समूहित करने का प्रयास करना चाहिए।

 
db.tx().unforced().begin(); 
के बजाय

:

हालांकि, आपके मामले में आप इसके बजाय अपने लेनदेन के साथ शुरू कर सकते थे

 
db.beginTx(); 

कौन सा है कि लेनदेन करता है डिस्क और बनाता करने के लिए मजबूर करने के लिए तार्किक लॉग के लिए नहीं इंतजार छोटे लेन-देन बहुत तेज़ होते हैं, लेकिन एक पावर आउटेज आपको पिछले कुछ सेकंड के डेटा को संभावित रूप से खो सकता है।

टीएक्स() विधि GraphDatabaseAPI पर बैठती है, उदाहरण के लिए एम्बेडेडग्राफडेटाबेस लागू करता है।

+0

मैंने अब बैच इंसर्टर पर स्विच किया, मामूली सुधार लेकिन बहुत कुछ नहीं। तो चिंता करने के लिए कोई लेनदेन नहीं है। – chethan

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