Redis एक में स्मृति दुकान है। सभी डेटा स्मृति में फिट होना चाहिए। इसलिए यदि आपके पास डेटा के प्रति वर्ष 3 टीबी रैम है, तो यह सही विकल्प नहीं है। 2^32 सीमा वास्तव में अभ्यास में कोई मुद्दा नहीं है, क्योंकि आपको शायद अपने डेटा को किसी भी तरह से शेड करना होगा (यानी कई उदाहरणों का उपयोग करें), और क्योंकि सीमा वास्तव में 2^32 कुंजी 2^32 आइटम प्रति कुंजी के साथ है।https://github.com/antirez/redis-timeseries
तुम भी एक उचित समय श्रृंखला जोड़ने के लिए Redis पैच करने के लिए चाहते हो सकता है:
आप पर्याप्त स्मृति है और अभी भी उपयोग करना चाहते हैं (sharded) Redis, यहाँ आप कैसे अंतरिक्ष कुशल समय श्रृंखला स्टोर कर सकते हैं है डेटा संरचना। पर लुका Sbardella के कार्यान्वयन देखें:
https://github.com/lsbardel/redis
http://lsbardel.github.com/python-stdnet/contrib/redis_timeseries.html
Redis वास्तविक समय में समस्त आँकड़े को उत्कृष्ट है और इन caclulations (अर्थात धूल अनुप्रयोग) का परिणाम की दुकान। हालांकि, रेडिस में ऐतिहासिक डेटा संग्रहीत करना बहुत कम दिलचस्प है, क्योंकि यह इन आंकड़ों पर ऑफलाइन गणना करने के लिए कोई क्वेरी भाषा नहीं प्रदान करता है। शॉर्टिंग का समर्थन करने वाले बॉट्री आधारित स्टोर (उदाहरण के लिए मोंगोडीबी) बड़ी समय श्रृंखला को स्टोर करने के लिए रेडिस की तुलना में शायद अधिक सुविधाजनक हैं।
पारंपरिक संबंधपरक डेटाबेस समय श्रृंखला को स्टोर करने के लिए इतना बुरा नहीं हैं। लोग इस विषय से सारी किताबों समर्पित कर दिया है:
Developing Time-Oriented Database Applications in SQL
एक अन्य विकल्प पर विचार करने की एक bigdata समाधान का उपयोग कर रहा है कर सकते हैं:
storing massive ordered time series data in bigtable derivatives
मुख्य बिंदु (जो भी भंडारण इंजन) IMO इन आंकड़ों तक पहुंच पैटर्न का मूल्यांकन करना है। आप इन डेटा का उपयोग किसके लिए करना चाहते हैं? एक बार संग्रहीत किए जाने के बाद आप इन डेटा तक कैसे पहुंचेंगे? क्या आपको किसी दिए गए प्रतीक से संबंधित सभी डेटा पुनर्प्राप्त करने की आवश्यकता है? क्या आपको किसी दिए गए समय सीमा में कई प्रतीकों के विकास को पुनः प्राप्त करने की आवश्यकता है? क्या आपको समय के साथ विभिन्न प्रतीकों के मूल्यों को सहसंबंधित करने की आवश्यकता है? आदि ...
मेरी सलाह है कि इन सभी एक्सेस पैटर्न को सूचीबद्ध करने का प्रयास करें। किसी दिए गए भंडारण तंत्र की पसंद केवल इस विश्लेषण का परिणाम होगा।
MySQL उपयोग के संबंध में, मैं निश्चित रूप से डेटा की मात्रा के कारण table partitioning पर विचार करता हूं। पहुंच पैटर्न के आधार पर, मैं ARCHIVE engine पर भी विचार करूंगा। यह इंजन संकुचित फ्लैट फ़ाइलों में डेटा स्टोर करता है। यह अंतरिक्ष कुशल है। इसका विभाजन विभाजन के साथ किया जा सकता है, इसलिए यह डेटा को इंडेक्स नहीं करता है, लेकिन विभाजन ग्रैन्युलरिटी सावधानी से चुने जाने पर यह डेटा के सबसेट को पुनः प्राप्त करने में सक्षम हो सकता है।
MySQL एक रिलेशनल डेटाबेस है, जबकि रेडिस्ट एक कुंजी है: वैल्यू स्टोर। उस अकेले ही घंटी बजाना चाहिए कि क्या उपयोग करना है। अमेज़ॅन आरडीएस पर MySQL बस पढ़ने और लिखने की बात आती है। अगर मैं आप थे (और ऐप को वापस करने के लिए कुछ नकदी थी), तो मैं इसे MySQL के साथ बनाउंगा और अमेज़ॅन आरडीएस पर स्थापित करूंगा। –