5

मैं एक रेल ऐप बना रहा हूं जिसमें बहुत से "गणना" या "समेकित" डेटा होंगे, यानी उपयोगकर्ता द्वारा संग्रहीत डेटा पर महंगे संचालन करके गणना की जाने वाली जानकारी। मुझे लगता है कि मुझे इस डेटा को संग्रहीत करने के कुछ तरीके की आवश्यकता है इसलिए ए। मैं लगातार डीबी संचालन नहीं कर रहा हूं, और बी। ताकि मैं दिए गए गुणों के लिए समय के साथ सुंदर ग्राफ के साथ "रिपोर्ट" थूक सकूं।समेकित जानकारी संग्रहीत रेल

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

मुझे आश्चर्य हुआ कि इसका सबसे आम तरीका क्या है, और मुझे रेल ऐप के भीतर इसे लागू करने के बारे में कैसे जाना चाहिए?

उत्तर

1

मैं एक ही समस्या पर काम कर रहा हूं और मैंने उन अनुप्रयोगों पर भी काम किया है जो गलत तरीके से करते हैं।

यहाँ मेरी सर्वोत्तम प्रथाओं सिफारिश है:

  • स्टोर मॉडल में कच्चे डेटा, चलो कॉल Feed
  • एक और मॉडल है कि गणना मूल्यों धारण करने के लिए एक एक पर एक संघ सेट अप है उदाहरण के लिए FeedStats। सटीक मामले के आधार पर यह एक-से-कई सहयोग या कई से भी हो सकता है; आप कुछ अलग-अलग Feed रिकॉर्ड को किसी प्रकार के कुल, आदि में रोल कर सकते हैं।
  • सभी मूल कच्चे डेटा को चारों ओर रखें। यह बाद में उपयोगी होगा यदि आप बाद में कुछ अन्य एल्गोरिदम में गणना करना चाहते हैं और आपको पुराने डेटा को पुन: सम्मिलित करने की आवश्यकता हो सकती है, या यदि आप गणना में बग खोजते हैं, तो
  • पृष्ठभूमि कार्य पर गणना को सेट अप करें Resque (जैसे शेड्यूलर के साथ या बिना), DelayedJob या इसी तरह के उपकरण।

यदि आप थोड़ा अधिक विशिष्ट हो सकते हैं और अपनी सटीक समस्या के कुछ उदाहरण दे सकते हैं, तो शायद मैं कुछ और विशिष्ट सुझाव दे सकता हूं। सौभाग्य।

+0

आपकी प्रतिक्रिया के लिए धन्यवाद, मेरे पास कुछ मॉडल हैं जिनमें संख्यात्मक गुण हैं (कुछ डीबी कॉलम, कुछ विधियां जो मूल्यों की गणना करती हैं)। मैं इन समय में परिवर्तनों को ग्राफ करना चाहता हूं। मुझे लगता है कि सीमा में सभी मानों का चयन करना सबसे आसान तरीका होगा, और कैश में बनाए गए रेल का उपयोग करके इस क्वेरी को कैश करें। मैंने सोचा कि क्या ऐसे आंकड़े तैयार करने के लिए मानक तरीका है? मैंने यह मणि देखा है जो सही रेखाओं के साथ दिखता है: https://github.com/acatighera/statistics - धन्यवाद फिर से :) – Fred

+0

मैंने इसे पार नहीं किया है, लेकिन यह दिलचस्प लग रहा है। –

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