डेटाबेस के नजरिए से रियल टाइम डेटा को कैसे संभालें?


14

मेरे मन में एक विचार है, लेकिन यह अभी भी मुझे डेटाबेस क्षेत्र को भ्रमित करता है

कल्पना करें कि मैं वास्तविक समय डेटा दिखाना चाहता हूं , और नवीनतम ब्राउज़र प्रौद्योगिकियों ( वेब सॉकेट्स - यहां तक ​​कि पुराने ब्राउज़रों का उपयोग करके ) का उपयोग करके सभी पर्यवेक्षकों (उपयोगकर्ता ब्राउज़र) को दिखाना बहुत आसान है कि हर कोई क्या कर रहा है।

रेमी शार्प नेइस बारे में सरलता के बारेमें एक उदाहरण दिया है।

लेकिन मुझे अभी भी डेटाबेस का हिस्सा नहीं मिलता है, मैं कैसे फ़ीड करूंगा , आइए कल्पना करें (रेमी गेम ट्रॉन का उपयोग करके) जो मैं डेटाबेस में प्रत्येक जुड़े उपयोगकर्ता के लिए पथ को सहेजना चाहता हूं और यदि कोई ग्राहक देखना चाहता है कि क्या चल रहा है एक 5 सेकंड देरी , वह है कि देखेंगे, न केवल 5 उस पल जब तक सेकंड लेकिन समय में निरंतरता ...

मैं इस तरह एक DB कैसे क्वेरी कर सकता हूं?

SELECT x, y FROM run WHERE time >= DATEADD(second, -5, rundate);

क्या अनुशंसित पथ सही नहीं है?

और एक्स समय में इस एक्स को खींचना ... यह वास्तविक डेटा फ़ीड सही नहीं है?

अगर कोई मुझे डेटाबेस के दृष्टिकोण को समझने में मदद कर सकता है, तो मैं बहुत सराहना करूंगा।

जवाबों:


7

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

आप किसी दिए गए बिंदु के लिए संकेतों के एक सेट में समय के साथ क्वेरी कर सकते हैं, भले ही वह उस विशेष बिंदु के लिए कोई मूल्य नहीं रखता हो (यह ज्ञात बिंदुओं के बीच अंतर कर सकता है)।

हालाँकि, प्रत्येक क्वेरी आपको केवल एक ही समय देता है। आपको अभी भी चुनाव करना है।

समय श्रृंखला डेटाबेस विषय पर जारी रखते हुए, ओपनपीडीसी देखें (एक फ़ेज़र डेटा कंसंट्रेटर विद्युत ग्रिड के लिए विशिष्ट है, लेकिन यह एक समय श्रृंखला इतिहासकार है)। विशेष रूप से, यह उद्धरण:

स्ट्रीमिंग प्लेबैक उपयोगिता जिसे स्थानीय इतिहासकार संग्रह से घटनाओं को फिर से पढ़ने और बड़े डेटासेट को निकालने के लिए उपयोग किया जा सकता है

यह वास्तव में आप क्या चाहते हैं ... किसी प्रकार का प्लेबैक तंत्र।

मुझे नहीं लगता कि आप वास्तव में एक डेटाबेस चाहते हैं। आप FIFO का एक गुच्छा चाहते हैं।


7

रियल टाइम और डेटाबेस का एक-दूसरे से कोई लेना-देना नहीं है।

जब मैंने रडार (और हीट पंप और शिप कंट्रोल सिस्टम) बनाए तो मुझे पता चला कि रियल टाइम डेटा पूरी तरह से बफ़र्स और साझा मेमोरी में रहता है।

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

वास्तविक वास्तविक समय डेटा, हालांकि, विश्वसनीयता के लिए संदेश कतारों के माध्यम से या तत्काल (लेकिन संभवत: नाजुक) सूचना के लिए यूडीपी पैकेट के माध्यम से प्रवाहित होता है।


4

इस सवाल पर ठोकर मुझे लगता है कि आप इस गलत के बारे में सोच रहे हैं, और अन्य जवाब वास्तव में समस्या को उजागर नहीं करते हैं।

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

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

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


1

इस साइट में कुछ "वास्तविक समय" विशेषताएं हैं। आप पाएंगे कि कई उच्च-यातायात साइटों में वेब सर्वर और डेटाबेस के बीच कई खिलौने हैं। Redis एक ऐसी चीज़ है जिसका उपयोग आप मेमोरी में डेटा रखने के लिए कर सकते हैं। मुझे यकीन है कि विभिन्न ढेरों के लिए अन्य हैं।

मुझे लगता है कि Firebase.com एक महान रीयल-टाइम डेटा सेवा है (यकीन नहीं कि वे वास्तविक डेटाबेस बैकएंड के लिए क्या करते हैं, लेकिन जब से वे इसे सेवा देते हैं, मुझे यकीन नहीं है कि मैं वास्तव में जिज्ञासा से परे देखभाल करता हूं।)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.