क्या कोई मुझे विश्लेषणात्मक प्रश्न करते समय नियमित एसक्यूएल पर एमडीएक्स के फायदे का एक अच्छा उदाहरण दिखा सकता है? मैं एक SQL क्वेरी के साथ MDX क्वेरी की तुलना करना चाहूंगा जो समान परिणाम देता है।
हालांकि, इनमें से कुछ को पारंपरिक एसक्यूएल में अनुवाद करना संभव है, फिर भी अक्सर बहुत ही सरल एसक्यूएल अभिव्यक्तियों के लिए अनाड़ी एसक्यूएल अभिव्यक्तियों के संश्लेषण की आवश्यकता होती है।
लेकिन न तो कोई उद्धरण है और न ही उदाहरण। मुझे पूरी तरह से पता है कि अंतर्निहित डेटा को अलग तरीके से व्यवस्थित किया जाना चाहिए, और ओएलएपी को प्रति डाला अधिक प्रसंस्करण और भंडारण की आवश्यकता होगी। (मेरा प्रस्ताव Oracle RDBMS से Apache Kylin + Hadoop में जाने का है )
संदर्भ: मैं अपनी कंपनी को यह समझाने की कोशिश कर रहा हूं कि हमें OLTP डेटाबेस के बजाय OLAP डेटाबेस को क्वेरी करना चाहिए। अधिकांश CRM क्वेरी समूह-प्रकार, सॉर्ट और एकत्रीकरण का भारी उपयोग करती हैं। प्रदर्शन को बढ़ावा देने के अलावा, मुझे लगता है कि OLAP (MDX) क्वेरी समतुल्य OLTP SQL की तुलना में अधिक संक्षिप्त और पढ़ने / लिखने में आसान होगी। एक ठोस उदाहरण बिंदु घर चलाएगा, लेकिन मैं SQL में एक विशेषज्ञ नहीं हूं, बहुत कम MDX ...
यदि यह मदद करता है, तो पिछले सप्ताह हुई फ़ायरवॉल घटनाओं के लिए एक नमूना सिएम-संबंधित SQL क्वेरी है:
SELECT 'Seoul Average' AS term,
Substr(To_char(idate, 'HH24:MI'), 0, 4)
|| '0' AS event_time ,
Round(Avg(tot_accept)) AS cnt
FROM (
SELECT *
FROM st_event_100_#yyyymm-1m#
WHERE idate BETWEEN trunc(sysdate, 'iw')-7 AND trunc(sysdate, 'iw')-3 #stat_monitor_group_query#
UNION ALL
SELECT *
FROM st_event_100_#yyyymm#
WHERE idate BETWEEN trunc(sysdate, 'iw')-7 AND trunc(sysdate, 'iw')-3 #stat_monitor_group_query# ) pm
GROUP BY substr(to_char(idate, 'HH24:MI'), 0, 4)
|| '0'
UNION ALL
SELECT 'today' AS term ,
substr(to_char(idate, 'HH24:MI'), 0, 4)
|| '0' AS event_time ,
round(avg(tot_accept)) AS cnt
FROM st_event_100_#yyyymm# cm
WHERE idate >= trunc(sysdate) #stat_monitor_group_query#
GROUP BY substr(to_char(idate, 'HH24:MI'), 0, 4)
|| '0'
ORDER BY term DESC,
event_time ASC