अत्यधिक समवर्ती भंडारण प्रणाली


12

अपनी आवश्यकता की कल्पना करें कि आपके पास 3 विशाल तालिकाओं (संरचित डेटा) हैं, जिनमें से प्रत्येक में 30 बिलियन पंक्तियाँ (कुल 4TB का आकार) और आपके कई समवर्ती उपयोगकर्ता (जो दूरस्थ LAN मशीनों पर समांतर ओएस थ्रेड्स हैं) के एक हिस्से को पढ़ने की आवश्यकता होगी डेटा को उनके SELELCT के माध्यम से जहां ग्रुपबीए के सवाल और अत्यधिक समवर्ती हैं, एक ही समय में 10,000 समवर्ती पढ़ता है और उपयोगकर्ताओं को भी इन तालिकाओं में डेटा (कोई अद्यतन नहीं) सम्मिलित करने की आवश्यकता है, जो 2000 के समवर्ती लेखकों की तरह अत्यधिक समवर्ती हैं (सभी डेटा डेटा SQL नेटवर्क पर) । उपयोगकर्ता इस संग्रहण को यथासंभव तेज़ी से पढ़ना और सम्मिलित करना चाहते हैं, जहाँ प्रत्येक पढ़ने और लिखने का कार्य एमएस से 1 सेकंड की सीमा में होगा।

ऐसी आवश्यकता को पूरा करने के लिए आप किन तकनीकों की सलाह देते हैं? क्या कोई डेटा स्टोरेज या की-वैल्यू स्टोर है जो ऐसा कर सकता है? क्लाउड एक विकल्प नहीं है।

कुछ स्पष्टीकरण:

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

डेटा सारणीबद्ध प्रारूप में है और प्रत्येक पंक्ति लगभग 60 बाइट्स है।

कोई भी क्लाउड विकल्प नहीं है जहां मैं डायनमोडीबी या इसी तरह के समाधान का उपयोग नहीं कर सकता हूं। मुझे इसे आंतरिक रूप से डेटा सेंटर में होस्ट करने में सक्षम होना चाहिए।

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

इसके अलावा, मेरी सबसे बड़ी चिंता उन सभी समवर्ती लेखन हैं जो समवर्ती पठन के साथ हो रहे हैं।

इस में आपकी अंतर्दृष्टि की बहुत सराहना की जाती है।

और अधिक बात, मेरे पास तीन टेबल हैं जिनमें प्रत्येक 30 बिलियन पंक्तियों के साथ विभिन्न ऑब्जेक्ट प्रकार हैं


क्लाउड को परिभाषित करें क्योंकि ज्यादातर लोग क्या कहते हैं, 99% सामान्य आबादी और 100% मार्केटिंग वाले लोग कहते हैं कि क्लाउड केवल एक क्लस्टर है जिसे कोई व्यक्ति बनाए रखता है।

मेरा मतलब है, मैं डायनमोबीडी या कुछ तकनीक का उपयोग नहीं कर सकता जो केवल सार्वजनिक क्लाउड जैसे अमेज़ॅन या एज़्योर और इतने पर उपलब्ध हैं।
.दो

जवाबों:


6

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

यदि आप अपने डेटा को तारीख और पुरानी पंक्तियों से अपडेट नहीं कर सकते हैं तो आप एक पारंपरिक OLAP सर्वर का उपयोग करके हाइब्रिड OLAP सिस्टम बना सकते हैं जैसे Microsoft विश्लेषण सेवाएं एक साधारण RDBMS प्लेटफ़ॉर्म द्वारा समर्थित हैं। डेटा के ~ 4TB के साथ इसका सामना करना संभव होना चाहिए और SQL सर्वर और SSAS दोनों साझा-डिस्क क्लस्टर करेंगे। इसी तरह के OLAP सिस्टम (जैसे Oracle / Hyperion Essbase) अन्य विक्रेताओं से उपलब्ध हैं।

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

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

रियलटाइम डेटा को एक छोटे से अग्रणी विभाजन को बनाए रखकर लागू किया जा सकता है - वर्तमान माह के लिए, यदि आवश्यक हो तो दिन या घंटे भी। OLAP सर्वर डेटाबेस के खिलाफ क्वेरी जारी करेगा; यदि यह विभाजन छोटा है तो DBMS जल्दी से प्रतिक्रिया देने में सक्षम होगा। एक नियमित प्रक्रिया नए अग्रणी विभाजन बनाती है और बंद ऐतिहासिक अवधियों को MOLAP में परिवर्तित करती है। पुराने विभाजन को विलय किया जा सकता है, जिससे ऐतिहासिक डेटा को वांछित किसी भी अनाज में प्रबंधित किया जा सकता है।

डेटाबेस में लिखने वाले क्लाइंट सीधे अंतर्निहित आरडीबीएमएस लिखते हैं। यदि ऐतिहासिक डेटा स्थिर रहता है तो वे केवल प्रमुख विभाजन को लिख रहे होंगे। यदि आपको अतिरिक्त DBMS प्रदर्शन की आवश्यकता है, तो SSDs का उपयोग करने के लिए 4TB एक व्यावहारिक मात्रा है। यहां तक ​​कि मुख्यधारा के विक्रेताओं के पास विकल्प के रूप में तेजी से एसएलसी इकाइयों के साथ एसएसडी आधारित प्रसाद हैं।


आपकी प्रतिक्रिया के लिए धन्यवाद। तुम सही हो। मेरी समस्या एल्गोरिथम ट्रेडिंग प्लेटफॉर्म के समान है लेकिन अलग भी है। हमने आरडीबीएमएस मार्ग की कोशिश की है और यह पैमाना नहीं बना सका है। मुझे एक स्टोरेज की आवश्यकता है जो स्केल कर सके और उसमें OLAP सिस्टम की जटिलता न हो क्योंकि हमारे डेटा का आकार सिर्फ बढ़ रहा है और एक बार जब हम तीन तालिकाओं पर अधिक टीबी प्राप्त कर लेते हैं, तो RDBMS सिर्फ बहुत सारे लॉकिंग और इसी तरह का मुद्दा बनाएगा। मैं उम्मीद कर रहा हूं कि एक नोसक्ल विकल्प ऐसी आवश्यकताओं को पूरा कर सकता है। उस पर कोई विचार?
odeकोड

@MDotnet 12k समवर्ती उपयोगकर्ता के लिए एक सरल समाधान के लिए आपकी अपेक्षा / आवश्यकता, 4TB आकार की समस्या अवास्तविक हो सकती है। आप उल्लेख करते हैं कि आपने RDBMS दृष्टिकोणों को देखा और इसका कोई पैमाना नहीं था; 1) क्या आप इसका विवरण अपने Q 2 में जोड़ सकते हैं) यह उत्तर हाइब्रिड रोल / मोलैप दृष्टिकोण की वकालत कर रहा है, न कि एक शुद्ध संबंधपरक डेटाबेस।
मार्क स्टोरी-स्मिथ

मैं एक डीबीए नहीं हूं और मुझे लगता है कि "ड्राइव बाय अपवोट्स" अधिकांश विशेष साइटों के लिए खराब हैं, लेकिन मुझे परवाह नहीं है, यह उत्तर सिर्फ एक अपवोट के लिए बहुत अच्छा है। +1
Psr
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.