पदानुक्रमित सिमुलेशन डेटा संग्रहीत करने के लिए सबसे अच्छा अभ्यास


13

टी एल, डी आर

बड़ी मात्रा में पदानुक्रम संरचित डेटा को संग्रहीत करने के लिए वैज्ञानिक कंप्यूटिंग सर्किलों में स्वीकृत सर्वोत्तम अभ्यास क्या है? उदाहरण के लिए, SQL बड़े विरल मैट्रीस के साथ अच्छी तरह से नहीं खेलता है। क्या इस तरह के डेटा की संरचना, भंडारण और विश्लेषण के लिए एक अच्छा उपकरण है? LHC में लोग क्या उपयोग करते हैं?

केस विवरण का उपयोग करें

मैं निम्नलिखित पदानुक्रम के अनुसार प्रोटीन सिमुलेशन से डेटा संग्रहीत करना चाहता हूं:

protein
  |__simulation conditions
  |____|__residues
  |____|____|__conformers
  |____|____|____|__atoms

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

मूल रूप से मुझे लगा कि एक रिलेशनल डेटाबेस इस एप्लिकेशन के लिए एकदम सही होगा, और इसलिए मैंने अजगर और sqlalchemey का उपयोग करके एक प्रोग्राम लिखा जो डेटा को SQL डेटाबेस में संग्रहीत करता है। व्यवहार में, हालांकि, यह कार्यक्रम इतनी अच्छी तरह से काम नहीं कर रहा है।

सबसे बड़ा मुद्दा इस तथ्य से संबंधित है कि कंफ़ॉर्मर डेटा स्तर पर एक एन एक्स एन मैट्रिक्स है जो हर संभव जोड़ी के बीच जोड़ीदार इंटरैक्शन के कारण संभावित ऊर्जा को संग्रहीत करता है। मैट्रिक्स में अधिकांश प्रविष्टियाँ शून्य हैं, इसलिए मैं मैट्रिक्स को डेटाबेस में एक अलग तालिका में एक प्रकार के विरल प्रारूप में, प्रति पंक्ति एक पंक्ति में संग्रहीत कर रहा हूँ। दुर्भाग्य से, एक अनुकार के लिए जिसमें कई हज़ार सम्मिलित होते हैं जोड़ीदार तालिका अभी भी कई सौ पंक्तियों के साथ समाप्त होती है और:

क) बहुत धीरे-धीरे (घंटे)
बी बनाता है और मेरी हार्ड ड्राइव पर डेटा के बराबर सादे पाठ प्रतिनिधित्व की तुलना में अधिक स्थान का क्रम लेता है, गैर-विरल मैट्रिक्स
सी के रूप में डेटा की दस से अधिक गीगाबाइट मेमोरी लेता है तालिका को स्मृति में पढ़ा जाता है

मेरा अंतिम लक्ष्य डेटाबेस में दसियों हज़ारों रन (कई दर्जन सिमुलेशन शर्तों के तहत हजारों प्रोटीन से प्राप्त) को संग्रहीत करना है ताकि वे सभी एक साथ विश्लेषण कर सकें। इसका मतलब यह होगा कि जोड़ीदार मेट्रिक्स का प्रतिनिधित्व करने वाली तालिका संभवतः लगभग एक अरब पंक्तियों तक बढ़ेगी। वर्तमान में ऐसा लग रहा है कि मुझे इस डेटाबेस पर एक क्वेरी चलाने के लिए एक क्रे या कुछ अन्य साझा-मेमोरी मॉन्स्टर की आवश्यकता होगी।

क्या मेरे पास यहां कोई बेहतर विकल्प है? LHC में लोग क्या उपयोग करते हैं?

जवाबों:


12

एचडीएफ 5 फ़ाइल प्रारूप का उपयोग करने पर विचार करें । HDF5 एक पदानुक्रमित डेटा भंडारण प्रारूप है जिसमें कई अच्छी विशेषताएं हैं:

  • प्लेटफ़ॉर्म इंडिपेंडेंट स्टोरेज: लाइब्रेरी आपके लिए कम / बड़ी एंडियननेस का ख्याल रखती है
  • डेटासेट के पदानुक्रमित लेआउट: एक फ़ाइल के भीतर एक फाइलसिस्टम की तरह
  • बड़े, बढ़ने योग्य एन-आयामी सरणी भंडारण
  • मिश्रित डेटासेट प्रकार एक फ़ाइल के भीतर मौजूद हो सकते हैं (जैसे, पूर्णांक, फ़्लोट आदि)
  • स्वचालित संपीड़न उपलब्ध है
  • बाइनरी स्टोरेज
  • समानांतर i / o

सी और फोरट्रान इंटरफेस हैं, साथ ही पायथन ( h5py और पाइटेबल्स ) रैपर भी हैं। MATLAB भी HDF5 पढ़ सकते हैं। HDF5 काफी लचीला है, लगभग एक गलती है, अर्थात, यह "आत्म-वर्णन" नहीं है, इसलिए XDMF का निर्माण ।

मुझे बिल्कुल यकीन नहीं है कि आपके द्वारा "सिमुलेशन के लिए उपयोग की जाने वाली शर्तों" से क्या मतलब है, लेकिन अगर ये मापदंडों के छोटे संग्रह हैं तो आप उन्हें विशेषताओं के रूप में संग्रहीत कर सकते हैं ।


3
एचडीएफ 5 में दो-तरफ़ा लिंक को बनाए रखने के लिए थोड़ा दर्द होता है। चूँकि HDF5 प्रारूप वैसे भी रोल-अप करने के लिए आधे रास्ते हैं, आप एक संबंधपरक डेटाबेस में मेटाडेटा को बनाए रखने पर विचार कर सकते हैं और यदि आप चाहें तो भारी डेटा को अलग-अलग फ़ाइलों (HDF5) में रख सकते हैं।
जेड ब्राउन

0

एक डेटाबेस का उपयोग आपको सिमुलेशन डेटा को व्यवस्थित करने / खोजने में मदद करने के लिए बहुत अच्छा है (प्रोटीन द्वारा खोजें, सिमुलेशन मापदंडों द्वारा खोज)। डेटाबेस को तब आपको यह बताना चाहिए कि डिस्क पर प्रासंगिक जानकारी कहां से मिली, जहां मैं कल्पना करता हूं कि यह संभव है कि जो भी फाइल प्रकार में विश्लेषण के लिए लोड करने के लिए सबसे सुविधाजनक है (चाहे वह कस्टम या जो भी हो आपको सूट करता है) 'पुनः उपयोग कर रहे हैं)।

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


-8

देखें कि क्या TextMaster Data Editor PRO आपकी कुछ मदद कर सकता है। http://exnp.com/TM/


2
नीना, SciComp में आपका स्वागत है! क्या आप इस बारे में विस्तार से बता सकते हैं कि यह सॉफ्टवेयर मददगार क्यों हो सकता है? इसके अलावा, कृपया अपनी संबद्धता का खुलासा करें। समुदाय साइट पर व्यापक योगदान के बिना पदोन्नति पर ध्यान केंद्रित करता है; देखने के विवरण के लिए पूछे जाने वाले प्रश्न के इस हिस्से
ज्योफ ऑक्सीबेरी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.