Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या MySQL और Neo4j का एक साथ उपयोग करना एक अच्छा विचार है?

इस पर कुछ विचार:

मैं ग्राफ में प्रत्येक नोड की विशेषताओं को शामिल करने के लिए आपके Neo4j डोमेन मॉडल को मॉडलिंग करने का प्रयास करूंगा। अपने डेटा को दो अलग-अलग डेटा स्टोर में अलग करके आप कुछ ऐसे ऑपरेशनों को सीमित कर सकते हैं जिन्हें आप करना चाहते हैं।

मुझे लगता है कि यह नीचे आता है कि आप अपने ग्राफ के साथ क्या करेंगे। यदि, उदाहरण के लिए, आप एक विशिष्ट नोड से जुड़े सभी नोड्स को खोजना चाहते हैं, जिनकी विशेषताएँ (अर्थात नाम, आयु.. नियो4जे? जब आप Neo4j में यह सब कर सकते हैं तो यह धीमा और अत्यधिक जटिल लगता है। तो सवाल यह है:क्या ग्राफ़ को पार करते समय आपको नोड के गुणों की आवश्यकता होगी?

क्या आपका डेटा बदल जाएगा या यह स्थिर है? दो अलग-अलग डेटा स्टोर होने से यह मामले को जटिल बना देगा।

जबकि एक MySQL डेटाबेस का उपयोग करके आंकड़े उत्पन्न करना Neo4j में सब कुछ करने से आसान हो सकता है, परिभाषित मानदंडों को पूरा करने वाले सभी नोड्स को खोजने के लिए ग्राफ़ को पार करने के लिए आवश्यक कोड अत्यधिक कठिन नहीं है। ये आँकड़े क्या हैं, इससे आपका समाधान निकल सकता है।

मैं नोड आईडी चुनने के लिए MySQL क्वेरी के प्रदर्शन पर टिप्पणी नहीं कर सकता। मुझे लगता है कि यह नीचे आता है कि आपको कितने नोड्स चुनने की आवश्यकता होगी और आपकी अनुक्रमण रणनीति। हालांकि जब ग्राफ़ को पार करने की बात आती है तो मैं चीजों के प्रदर्शन पक्ष के बारे में सहमत होता हूं।

यह इस पर एक अच्छा लेख है:बड़े पैमाने पर ग्राफ़ ट्रैवर्सल और इस मामले में, जब वे बड़े कहते हैं, तो उनका मतलब केवल दस लाख शिखर/नोड्स और चार मिलियन किनारों का होता है। तो यह विशेष रूप से घना ग्राफ भी नहीं था।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. IF शर्त के साथ MYSQL योग क्वेरी

  2. MySQL डेटाबेस के लिए .net कोर 2.1 MVC में क्षणिक विफलता प्रबंधन

  3. लेन-देन, पंक्ति-स्तरीय लॉकिंग और विदेशी कुंजियों का समर्थन करता है

  4. MySQL:ALTER IGNORE TABLE अखंडता बाधा उल्लंघन देता है

  5. अल्पविराम से अलग मूल्यों के साथ mysql