टी एल, डी आर
बड़ी मात्रा में पदानुक्रम संरचित डेटा को संग्रहीत करने के लिए वैज्ञानिक कंप्यूटिंग सर्किलों में स्वीकृत सर्वोत्तम अभ्यास क्या है? उदाहरण के लिए, SQL बड़े विरल मैट्रीस के साथ अच्छी तरह से नहीं खेलता है। क्या इस तरह के डेटा की संरचना, भंडारण और विश्लेषण के लिए एक अच्छा उपकरण है? LHC में लोग क्या उपयोग करते हैं?
केस विवरण का उपयोग करें
मैं निम्नलिखित पदानुक्रम के अनुसार प्रोटीन सिमुलेशन से डेटा संग्रहीत करना चाहता हूं:
protein
|__simulation conditions
|____|__residues
|____|____|__conformers
|____|____|____|__atoms
प्रत्येक प्रोटीन को इसके प्रत्येक अवशेषों के बारे में पता होना चाहिए, प्रत्येक परमाणु को इसके सिमुलेशन, आदि के लिए उपयोग की जाने वाली शर्तों को जानना चाहिए और इसके विपरीत।
मूल रूप से मुझे लगा कि एक रिलेशनल डेटाबेस इस एप्लिकेशन के लिए एकदम सही होगा, और इसलिए मैंने अजगर और sqlalchemey का उपयोग करके एक प्रोग्राम लिखा जो डेटा को SQL डेटाबेस में संग्रहीत करता है। व्यवहार में, हालांकि, यह कार्यक्रम इतनी अच्छी तरह से काम नहीं कर रहा है।
सबसे बड़ा मुद्दा इस तथ्य से संबंधित है कि कंफ़ॉर्मर डेटा स्तर पर एक एन एक्स एन मैट्रिक्स है जो हर संभव जोड़ी के बीच जोड़ीदार इंटरैक्शन के कारण संभावित ऊर्जा को संग्रहीत करता है। मैट्रिक्स में अधिकांश प्रविष्टियाँ शून्य हैं, इसलिए मैं मैट्रिक्स को डेटाबेस में एक अलग तालिका में एक प्रकार के विरल प्रारूप में, प्रति पंक्ति एक पंक्ति में संग्रहीत कर रहा हूँ। दुर्भाग्य से, एक अनुकार के लिए जिसमें कई हज़ार सम्मिलित होते हैं जोड़ीदार तालिका अभी भी कई सौ पंक्तियों के साथ समाप्त होती है और:
क) बहुत धीरे-धीरे (घंटे)
बी बनाता है और मेरी हार्ड ड्राइव पर डेटा के बराबर सादे पाठ प्रतिनिधित्व की तुलना में अधिक स्थान का क्रम लेता है, गैर-विरल मैट्रिक्स
सी के रूप में डेटा की दस से अधिक गीगाबाइट मेमोरी लेता है तालिका को स्मृति में पढ़ा जाता है
मेरा अंतिम लक्ष्य डेटाबेस में दसियों हज़ारों रन (कई दर्जन सिमुलेशन शर्तों के तहत हजारों प्रोटीन से प्राप्त) को संग्रहीत करना है ताकि वे सभी एक साथ विश्लेषण कर सकें। इसका मतलब यह होगा कि जोड़ीदार मेट्रिक्स का प्रतिनिधित्व करने वाली तालिका संभवतः लगभग एक अरब पंक्तियों तक बढ़ेगी। वर्तमान में ऐसा लग रहा है कि मुझे इस डेटाबेस पर एक क्वेरी चलाने के लिए एक क्रे या कुछ अन्य साझा-मेमोरी मॉन्स्टर की आवश्यकता होगी।
क्या मेरे पास यहां कोई बेहतर विकल्प है? LHC में लोग क्या उपयोग करते हैं?