पर वर्तमान में मेरे पास Google क्लाउड प्लेटफ़ॉर्म पर होस्ट किया गया एक एप्लिकेशन है जो वेब एनालिटिक्स प्रदान करता है और सत्र गतिविधि (क्लिक, डाउनलोड इत्यादि) प्रदान करता है और वेब पंजीकरण के साथ उस वेब गतिविधि से संबंध रखता है।रिलेशनल डेटाबेस से बिग डेटा
फिलहाल हम अपने सभी क्लिक और सत्र प्रोफाइल डेटा को MySQL में संग्रहीत करते हैं और कुल और प्रति-उपयोगकर्ता रिपोर्ट उत्पन्न करने के लिए SQL क्वेरी का उपयोग करते हैं, हालांकि, डेटा की मात्रा बढ़ने के साथ ही, हम वास्तविक धीमी गति से देख रहे हैं- क्वेरी प्रतिक्रियाओं में नीचे जो बदले में पेज लोड समय धीमा कर रहा है।
जांच के तरीकों से हम इस समस्या को हल कर सकते हैं, हमने डेटा क्लाउड प्लेटफार्म जैसे डाटाप्रोक और डेटाफ्लो के साथ-साथ नोएसक्यूएल समाधान पर उपलब्ध टूल्स में देखा है, हालांकि, मुझे समझने में कठिनाई हो रही है कि हम अपने वर्तमान समाधान को कैसे लागू कर सकते हैं इनमें से कोई भी समाधान।
User table
- id
- name
- email
Profile table (web browser/device)
- id
- user id
- user agent string
Session table
- id
- profile id
- session string
Action table
- id
- session id
- action type
- action details
- timestamp
अपना शोध के आधार पर, क्या सबसे अच्छा समाधान होगा की मेरी समझ की तरह एक NoSQL डेटाबेस समाधान में दुकान कार्रवाई के आंकड़ों के होगा:
वर्तमान में, हमारे डेटा स्कीमा का मोटा अनुमान इस प्रकार है बिगटेबल जो डेटाप्रोक या डेटाफ्लो जैसे समाधान में डेटा खिलाता है जो रिपोर्ट उत्पन्न करता है। हालांकि, यह देखते हुए कि हमारी वर्तमान स्कीमा एक अत्यधिक रिलेशनल संरचना है, ऐसा लगता है कि नोएसक्यूएल समाधान की तरफ बढ़ने का विकल्प हटा दिया गया है क्योंकि मेरा पूरा शोध इंगित करता है कि आपको संबंध डेटा को नोएसक्यूएल समाधान में नहीं ले जाना चाहिए।
मेरा सवाल है, क्या इन उपकरणों को सही तरीके से लागू करने की मेरी समझ है? या क्या बेहतर समाधान हैं? क्या MySQL से दूर जाने पर विचार करना भी आवश्यक है? और यदि नहीं, तो किस प्रकार के समाधान उपलब्ध हैं जो हमें पृष्ठभूमि में रिपोर्टिंग डेटा को पूर्व-प्रक्रिया/उत्पन्न करने की अनुमति देगा?
क्या सत्र और क्रिया तालिका मान अपडेट किए गए हैं? मेरा मतलब है कि वे केवल इन प्रविष्टियां हैं या क्या अपडेट भी हैं? –
सत्र तालिका को क्रोनबॉज के माध्यम से अपडेट किया जाता है जो सत्र डेटा में प्रति सत्र एक्शन-गिनती जैसे कुछ डेटा एकत्र करता है, हालांकि, क्रियाएं केवल सम्मिलित होती हैं। –
आप MySQL में एक अस्थायी सत्र तालिका रख सकते हैं और एक बार सत्र समाप्त होने के बाद या दिन के अंत में इसे सभी BigQuery में डंप कर सकते हैं। –