2009-06-04 6 views
9

मैं 25 हर्ट्ज फ्लोटिंग पॉइंट डेटा के 100 चैनलों को संग्रहीत करने के लिए संभावित तरीकों की पहचान करने की कोशिश कर रहा हूं। इसके परिणामस्वरूप 78,840,000,000 डेटा-पॉइंट प्रति वर्ष होगा।100 x 25 हर्ट्ज समय श्रृंखला के कई वर्षों के मूल्य को कैसे स्टोर करें - एसक्यूएल सर्वर या टाइम्सरी डेटाबेस

आदर्श रूप से यह डेटा वेब साइट्स और टूल जैसे एसक्यूएल सर्वर रिपोर्टिंग सेवाओं के लिए कुशलता से उपलब्ध होगा। हम जानते हैं कि रिलेशनल डेटाबेस इस पैमाने की समय-श्रृंखला को संभालने में खराब हैं लेकिन अभी तक एक निश्चित समय-श्रृंखला विशिष्ट डेटाबेस की पहचान नहीं करनी है।

प्रमुख समस्याएं कुशल संग्रहण के लिए संपीड़न हैं, फिर भी आसान और कुशल क्वेरी, रिपोर्टिंग और डेटा खनन की पेशकश भी करती हैं।

  • आप इस डेटा को कैसे संभालेंगे?

  • क्या एसक्यूएल सर्वर में फीचर्स या टेबल डिज़ाइन हैं जो समय-श्रृंखला डेटा की मात्रा को संभाल सकते हैं?

  • यदि नहीं, तो क्या एसक्यूएल सर्वर के लिए कोई तीसरी पार्टी एक्सटेंशन कुशल समय-श्रृंखला को कुशलता से संभालने के लिए है?

  • यदि नहीं, तो ऐसे समय-श्रृंखला डेटाबेस हैं जो ऐसे डेटा को संभालने में विशेषज्ञ हैं, फिर भी एसक्यूएल, नेट और एसक्यूएल रिपोर्टिंग सेवाओं के माध्यम से प्राकृतिक पहुंच प्रदान करते हैं?

धन्यवाद!

+0

डेटा पॉइंट कितने बड़े हैं? – cgp

+0

नमूने का डेटाटाइप क्या है? नमूना/फ़ीड दर तय या अलग है? क्या आपको नमूना समय स्टोर करने की आवश्यकता है या इसे अनुमानित किया जा सकता है? और किस तरह का डेटा नमूना जा रहा है? – RBarryYoung

+0

32-बिट फ़्लोटिंग पॉइंट मानें। कुछ अनुकूलन हो सकता है लेकिन अगर हम उस सिर-दर्द को संभालने की ज़रूरत नहीं रखते तो यह सही होगा। – Duncan

उत्तर

1

मैं डेटा को 216,000,000 पंक्तियों के छोटे बिट्स में विभाजित करने के लिए, कह सकता हूं, तिथि को विभाजित करता हूं।

बशर्ते कि आपको पूरे वर्ष के आंकड़ों की आवश्यकता न हो, यह इंडेक्स द्वारा आसानी से सेवा योग्य है।

कहें, "" जैसी क्वेरी मुझे दिए गए घंटे के लिए औसत देती है "सेकंड की बात होगी।

+0

उत्तर के लिए धन्यवाद। एसक्यूएल सर्वर पार्टियनिंग या सिर्फ एकाधिक टेबल का उपयोग करना? यदि इसकी कई टेबलें हैं, तो टेबल पर प्रश्नों को आसानी से संभालने के लिए कोई डिज़ाइन पैटर्न हैं? – Duncan

+0

@ डंकन: एसक्यूएल सर्वर विरोधाभास सबसे अच्छा होगा, लेकिन मुझे नहीं पता कि यह कितने विभाजन की अनुमति देगा।एकाधिक तालिकाओं के साथ, आप चयन को फिर से बनाने के लिए शेड्यूलर चला सकते हैं * तालिका_20090609 यूनियन से चुनें * तालिका_20090608 से सभी चुनें .. तालिका में विभाजन कॉलम शामिल करना न भूलें। – Quassnoi

1

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

+0

उत्तर के लिए धन्यवाद। बड़ी सरणी के लिए एक ब्लॉब का उपयोग करना? क्या ब्लॉब आसानी से पूछताछ करने के लिए कोई डिज़ाइन दृष्टिकोण है उदा। देखा गया? – Duncan

1

विशेषता सेट जो आप वर्णन कर रहे हैं वह विश्लेषण घन के लिए है। Microsoft से विश्लेषण सेवाओं की जाँच करें अगर आप तकनीक दुनिया के उस हिस्से में कर रहे हैं:

http://msdn.microsoft.com/en-us/library/ms175609(SQL.90).aspx

जहाँ तक मॉडल आप का वर्णन कर रहे हैं, तो आप एक Kimball मॉडल लागू करने की आवश्यकता के रूप में (मानक डेटा वेयरहाउसिंग मॉडल) एक समय आयाम के साथ। मैं थोड़ी देर पहले मीडिया लॉग फ़ाइलों को संग्रहीत करने में इस समस्या में भाग गया।

शुभकामनाएं।

+0

उत्तर के लिए धन्यवाद। डेटा-वेयरहाउसिंग के साथ कहां से शुरू करना है यह जानना मुश्किल है। मैंने गुमराह किया है और अपने लिंक के चारों ओर पढ़ा है लेकिन एक नमूना परियोजना की तरह कुछ फायदा होगा जो एक समान समस्या का सामना करता है। क्या आप इस तरह से कुछ जानते हैं? – Duncan

+0

आप सही हैं कि डाटा वेयरहाउसिंग शुरू करना मुश्किल है। सबसे अच्छी प्रक्रिया जो मैं अनुशंसा कर सकता हूं वह है (और ध्यान रखें कि मैं माइक्रोसॉफ्ट विजुअल स्टूडियो और एसक्यूएल सर्वर 2005/2008 से बात कर रहा हूं) एडवेंचरवर्क्स डीएस के नमूना गोदाम डाउनलोड करने के लिए: http://www.microsoft.com/ डाउनलोड/detail.aspx? FamilyId = E719ECF7-9F46-4312-AF89-6AD8702E4E6E और displaylang = en और फिर एसक्यूएल सर्वर के लिए प्रयोगशालाओं पर कुछ हाथों की जांच करें: http://www.microsoft.com/sqlserver/2008 /en/us/virtual-labs.aspx अन्त में, मेरा सुझाव है Kimball की किताब आरंभ करने के लिए: http://www.ralphkimball.com/html/booksDWT2.html गुड लक! –

0

आपके पास

ए 365 x 24 x 100 = 876,000 प्रति घंटा संकेतों (सभी चैनलों) प्रति वर्ष

बीप्रत्येक संकेत 3600 * 25 = 90.000 datapoints

शामिल कैसे के बारे में यदि आप वर्तमान में समर्थित उपयोग के मामलों के लिए सारांश/क्वेरी आँकड़े के लिए कॉलम के साथ, संकेत प्रति एक पंक्ति के रूप में डाटा स्टोर, और एक blob के लिए संकुचित संकेत के भविष्य वाले लोग?

+0

उत्तर के लिए धन्यवाद। मैं सुझाव पूरी तरह से समझ नहीं सकता। क्या प्रत्येक पंक्ति को पसंद करने के लिए सुझाव है (सिग्नलआईडी, टाइमपेरियोड, फ्लोट एवी, फ्लोट मिनट, फ्लोट मैक्स, ब्लॉब कच्चा)? क्या ब्लॉब डेटा आसानी से क्वेरी करने योग्य बनाने के कोई उदाहरण हैं उदा। देखा गया? – Duncan

+0

उन पंक्तियों के साथ कुछ, लेकिन मुझे ब्लॉब डेटा को बिल्कुल पूछने योग्य बनाने के बारे में निश्चित नहीं है .. मेरी सोच आवश्यकतानुसार अतिरिक्त आंकड़े कॉलम पर प्रश्नों को सीमित करना था। – bubaker

1

मुझे लगता है कि आप इन्फोब्राइट समुदाय या एंटरप्राइज़ संस्करण देख सकते हैं। यह कॉलम उन्मुख भंडारण है जो विश्लेषिकी उद्देश्यों के लिए डिज़ाइन किया गया है और बड़े (वर्तमान में 30 टीबी तक मौजूदा इंस्टॉलेशन) जैसा कि वे कहते हैं) डेटा और अच्छी संपीड़न दर।

डेटा लोडर भी बहुत तेज़ हैं और ईटीएल-टूल्स (तालेंड, केटल और इतने पर) के लिए कनेक्टर मौजूद हैं।

समुदाय संस्करण जीएनयू जीपीएल शर्तों के तहत मुफ्त में उपलब्ध है, लेकिन केवल देशी लोडर के माध्यम से डेटा जोड़ने की अनुमति देता है। एंटरप्राइज़ संस्करण डीएमएल के माध्यम से सिंगल पंक्ति द्वारा एड/अपडेट का समर्थन करता है।

एक और लाभ जो आप इसे MySQL कनेक्शन का समर्थन करने वाले सभी उपकरणों के साथ उपयोग कर सकते हैं।

कॉलम-ओरिएंटेशन आपको अनुमति देता है, f.e., बेहतर प्रदर्शन के लिए प्रत्येक आवश्यक समेकन स्तर (मैं दिनांक, सप्ताह संख्या, महीनों और qtr।) पर दिनांक घटक के लिए कॉलम जोड़ता हूं, लेकिन यह इसके बिना भी अच्छा है।

मैं इसे विश्लेषणात्मक उद्देश्यों के लिए अपेक्षाकृत छोटी (अभी तक) व्यापार लेनदेन डेटा के लिए उपयोग करता हूं, आर के साथ डेटा विश्लेषण उपकरण के रूप में mysql इंटरफ़ेस और पायथन (numpy) स्क्रिप्ट्स के माध्यम से किसी प्रकार के ईटीएल के रूप में।

विपक्ष: आधिकारिक यूटीएफ -8 समर्थन की कमी, कार्य मूल्यों द्वारा एकत्रीकरण (चयन महीने (तिथि ...)) अभी तक लागू नहीं किया गया है (योजना: जुलाई 200 9, AFAIK), लेकिन मैं इसके लिए ईटीएल का उपयोग करता हूं।

लिंक: http://www.infobright.org/Download/ICE/

+0

धन्यवाद - मैं एक नज़र डालेगा। – Duncan

+0

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

0

आप http://opentsdb.net की तरह एक समय श्रृंखला डेटाबेस पर विचार किया है?

0

क्या आपने एचबीएएसई या ओपन टीएसडीबी माना है। आप कैसंड्रा

0

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