2012-01-25 16 views
8

मैं एक मोंटे कार्लो सिमुलेशन सॉफ्टवेयर पैकेज विकसित कर रहा हूं जिसमें एकाधिक भौतिकी और सिमुलेटर शामिल हैं। मुझे ऑनलाइन विश्लेषण करने की आवश्यकता है, कच्चे डेटा पर व्युत्पन्न डेटा की निर्भरता का ट्रैक, और "मुझे तापमान के लिए तरंगों को दें> 400 और स्थिति (x0, y0)" जैसी क्वेरी करें। तो इन-मेमोरी डेटा मॉडल बल्कि जटिल है।वैज्ञानिक सिमुलेशन डेटा, मोंगोड + एचडीएफ 5 की डेटा निरंतरता?

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

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

मुझे sqlalchemy + sqlite विकल्प से अवगत है। हालांकि, एचडीएफ 5 में भारी डेटा स्ट्रीमिंग को स्वाक्लैक्मी में स्वाभाविक रूप से समर्थित नहीं लगता है, और एक निश्चित स्कीमा बोझिल है।

मुझे इस पोस्ट ( Searching a HDF5 dataset) से अवगत है), लेकिन "इंडेक्स टेबल" को तेज़ क्वेरी के लिए कुछ इन-मेमोरी इंडेक्स की आवश्यकता है।

मुझे आश्चर्य है कि क्या कोई वैकल्पिक समाधान है जो मुझे कूदने से पहले देखना चाहिए? या क्या मेरी कोई योजना है जिसे मैंने अपनी योजना में अनदेखा कर दिया है?

टीआईए।

उत्तर

0

क्या आपने Vistrails पर देखा है?

+0

पॉइंटर के लिए बहुत बहुत धन्यवाद। मैं विस्ट्राइल्स दस्तावेज़ के माध्यम से skimmed। मेरे पास यह धारणा है कि VisTrail पोस्ट-प्रसंस्करण और ग्राफ बनाने के लिए बिल्कुल सही है। मुझे लगता है कि मेरा एप्लिकेशन एक समस्या के लिए अधिक विशिष्ट है, और उपयोगकर्ता से अधिक विश्लेषण विवरण छिपाने के लिए –

+0

की आवश्यकता है। मैं इसका स्रोत कोड पढ़ रहा हूं और देखता हूं कि VisTrail में डेटा कैसे संग्रहीत किया जाता है, उम्मीद है कि मैं उनसे कुछ सीख सकता हूं। VisTrail सॉफ्टवेयर का एक प्रभावशाली टुकड़ा है, मेरी इच्छा है कि मैं इसे स्नातक छात्र के रूप में प्राप्त करूं। धन्यवाद। –

3

कुछ बातें आपके साथ ऐसी स्थिति का वर्णन किया प्रासंगिक हो सकती हैं जो मोंगो के बारे में पता करने के लिए और क्यों यह एक अच्छा फिट हो सकता है:

मैं ऑनलाइन विश्लेषण, कच्चे पर ली गई डेटा की निर्भरता का ट्रैक करने की जरूरत है डेटा, और प्रश्नों को निष्पादित करें जैसे "मुझे तापमान के लिए तरंगों को दें> 400 और निकट स्थिति (x0, y0)"।

मोंगो में एक लचीली क्वेरी भाषा है जो इस तरह के प्रश्नों को करना बहुत आसान बनाता है। भू-स्थानिक (2 डी) इंडेक्स भी समर्थित हैं - प्लस यदि आपको स्थिति और तापमान पर अक्सर पूछताछ करने की आवश्यकता है, तो आप (तापमान, स्थिति) पर एक कंपाउंड इंडेक्स बना सकते हैं और यह सुनिश्चित करेगा कि क्वेरी हमेशा अच्छा प्रदर्शन करेगी।

अधिकांश वस्तुओं में भारी डेटा (बाइनरी न्यूमेरिक सरणी के कई एमबी) के साथ-साथ कुछ हल्के डेटा (तापमान, स्थिति इत्यादि) होते हैं।

MongoDB में प्रत्येक दस्तावेज़ डेटा की 16MB के बैठने की है, और एक द्विआधारी फ़ील्ड प्रकार भी समर्थित है - तो यह अपेक्षाकृत एक क्षेत्र में द्विआधारी के कुछ megs एम्बेड करने के लिए आसान होगा, और अन्य पूछताछ की इसे पुनः प्राप्त डेटा में फ़ील्ड। यदि आपको 16 एमबी से अधिक की आवश्यकता होने की उम्मीद है, तो आप मोंगोडब के ग्रिडएफएस एपीआई का भी उपयोग कर सकते हैं, जो आपको डिस्क पर बाइनरी डेटा के मनमाने ढंग से बड़े ब्लब्स स्टोर करने और उन्हें तुरंत पुनर्प्राप्त करने की अनुमति देता है।

कुल डेटा उत्पन्न दर प्रति घंटे कई जीबी है।

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

+0

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

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