يتم تفسير Olap بالمعنى الضيق للكلمة على أنه: مكعبات olap. بناء المكعب الأول الخاص بك

لقد كنت مقيمًا في حبر منذ فترة طويلة، لكنني لم أقرأ مطلقًا مقالات حول موضوع المكعبات متعددة الأبعاد وOLAP وMDX، على الرغم من أن الموضوع مثير للاهتمام للغاية ويصبح ذا صلة متزايدة كل يوم.
ليس سرا أنه خلال تلك الفترة القصيرة من الزمن في تطوير قواعد البيانات، محاسبة الكترونيةو الأنظمة عبر الإنترنتلقد تراكمت الكثير من البيانات نفسها. والآن، يعد التحليل الكامل للأرشيف، وربما محاولة التنبؤ بمواقف نماذج مماثلة في المستقبل، أمرًا مثيرًا للاهتمام أيضًا.
من ناحية أخرى، يمكن للشركات الكبيرة، حتى على مدار عدة سنوات أو أشهر أو حتى أسابيع، تجميع كميات كبيرة من البيانات حتى أن تحليلها الأساسي يتطلب أساليب غير عادية ومتطلبات أجهزة صارمة. يمكن أن تكون هذه أنظمة معالجة المعاملات المصرفية، ووكلاء الصرف، مشغلي الهاتفإلخ.
أعتقد أن الجميع يدرك جيدًا طريقتين مختلفتين لتصميم قاعدة البيانات: OLTP وOLAP. تم تصميم النهج الأول (معالجة المعاملات عبر الإنترنت - معالجة المعاملات في الوقت الحقيقي) لجمع البيانات بكفاءة في الوقت الحقيقي، في حين أن النهج الثاني (المعالجة التحليلية عبر الإنترنت - المعالجة التحليلية في الوقت الحقيقي) يهدف على وجه التحديد إلى أخذ عينات ومعالجة البيانات بأكثر الطرق كفاءة. طريق.

دعونا نلقي نظرة على القدرات الرئيسية لمكعبات OLAP الحديثة والمشكلات التي تحلها (يتم أخذ خدمات التحليل 2005/2008 كأساس):

  • الوصول السريعإلى البيانات
  • التجميع المسبق
  • تَسَلسُل
  • العمل مع الوقت
  • لغة الوصول إلى البيانات متعددة الأبعاد
  • KPI (مؤشرات الأداء الرئيسية)
  • التعدين التاريخ
  • التخزين المؤقت متعدد المستويات
  • دعم متعدد اللغات
لذلك، دعونا نلقي نظرة على قدرات مكعبات OLAP بمزيد من التفاصيل.

المزيد عن الاحتمالات

الوصول السريع إلى البيانات
في الواقع، الوصول السريع إلى البيانات، بغض النظر عن حجم المصفوفة، هو أساس أنظمة OLAP. وبما أن هذا هو محور التركيز الرئيسي، فعادةً ما يتم بناء مستودع البيانات على مبادئ مختلفة عن مبادئ قواعد البيانات العلائقية.
هنا، يتم قياس الوقت اللازم لجلب البيانات البسيطة بأجزاء من الثانية، والاستعلام الذي يتجاوز بضع ثوانٍ على الأرجح يتطلب التحسين.

التجميع المسبق
بالإضافة إلى استرداد البيانات الموجودة بسرعة، فإنه يوفر أيضًا القدرة على التجميع المسبق للقيم "الأكثر احتمالاً للاستخدام". على سبيل المثال، إذا كان لدينا سجلات يومية لمبيعات بعض المنتجات، فإن النظام ربمايمكننا أيضًا تجميع مبالغ المبيعات الشهرية والربع سنوية مسبقًا، مما يعني أنه إذا طلبنا بيانات شهرية أو ربع سنوية، فسيقدم لنا النظام النتيجة على الفور. لماذا لا يحدث التجميع المسبق دائمًا - لأن مجموعات السلع/الوقت/إلخ ممكنة نظريًا. يمكن أن يكون هناك عدد كبير، مما يعني أنك بحاجة إلى قواعد واضحة بشأن العناصر التي سيتم بناء التجميع عليها وتلك التي لن يتم بناؤها. بشكل عام، موضوع مراعاة هذه القواعد والتصميم الفعلي للتجمعات واسع النطاق ويستحق مقالة منفصلة في حد ذاته.

التسلسلات الهرمية
ومن الطبيعي أنه عند تحليل البيانات وبناء التقارير النهائية، لا بد من الأخذ في الاعتبار أن الأشهر تتكون من أيام، وهي في حد ذاتها تشكل أرباعًا، ويتم تضمين المدن في المناطق التي بدورها جزء من مناطق أو دول . والخبر السار هو أن مكعبات OLAP تعرض في البداية البيانات من حيث التسلسلات الهرمية والعلاقات مع المعلمات الأخرى لنفس الكيان، لذا فإن بناء واستخدام التسلسلات الهرمية في المكعبات أمر بسيط للغاية.

العمل مع الوقت
نظرًا لأن تحليل البيانات يتم بشكل أساسي في المناطق الزمنية، فإن الوقت يحظى بأهمية خاصة في أنظمة OLAP، مما يعني أنه بمجرد تحديد النظام حيث لدينا وقت هنا، يمكنك في المستقبل بسهولة استخدام وظائف مثل Year To Date، Month To Date (الفترة من بداية العام/الشهر حتى التاريخ الحالي)، الفترة الموازية (في نفس اليوم أو الشهر، ولكن في العام الماضي)، وما إلى ذلك.

لغة الوصول إلى البيانات متعددة الأبعاد
MDX(التعبيرات متعددة الأبعاد) - لغة استعلام بسيطة و الوصول الفعاللهياكل البيانات متعددة الأبعاد. وهذا يوضح كل شيء – سيكون هناك بعض الأمثلة أدناه.

مؤشرات الأداء الرئيسية (KPI)
مؤشرات الأداء الرئيسيةهو نظام قياس مالي وغير مالي يساعد المنظمة على تحديد مدى تحقيق الأهداف الإستراتيجية. يمكن تعريف مؤشرات الأداء الرئيسية بكل بساطة في أنظمة OLAP واستخدامها في التقارير.

تاريخ التعدين
بيانات التعدين(التنقيب في البيانات) - في الأساس، تحديد الأنماط أو العلاقات المخفية بين المتغيرات في مجموعات البيانات الكبيرة.
لا يحتوي المصطلح الإنجليزي "Data Mining" على ترجمة لا لبس فيها إلى اللغة الروسية (استخراج البيانات، واستخراج البيانات، واستخراج المعلومات، واستخراج البيانات/المعلومات) لذلك يتم استخدامه في معظم الحالات في الأصل. أنجح ترجمة غير مباشرة هي مصطلح "استخراج البيانات" (DMA). ومع ذلك، هذا منفصل، لا أقل موضوع مثير للاهتمامللنظر فيها.

التخزين المؤقت متعدد المستويات
في الواقع، لضمان أكثر السرعه العاليهالوصول إلى البيانات، بالإضافة إلى هياكل البيانات الذكية والتجميعات المسبقة، تدعم أنظمة OLAP التخزين المؤقت متعدد المستويات. بالإضافة إلى التخزين المؤقت للاستعلامات البسيطة، يتم أيضًا تخزين أجزاء من البيانات المقروءة من المتجر والقيم المجمعة والقيم المحسوبة مؤقتًا أيضًا. وبالتالي، كلما طالت فترة العمل مع مكعب OLAP، كلما بدأ العمل بشكل أسرع. هناك أيضًا مفهوم "تسخين ذاكرة التخزين المؤقت" - وهي عملية تقوم بإعداد نظام OLAP للعمل مع تقارير أو استعلامات محددة أو جميعها مجتمعة.

دعم متعدد اللغات
نعم نعم نعم. كحد أدنى، تدعم Analysis Services 2005/2008 (على الرغم من إصدار Enterprise Edition) تعدد اللغات في الأصل. يكفي توفير الترجمة معلمات السلسلةبياناتك، وسيتلقى العميل الذي حدد لغته بيانات محلية.

مكعبات متعددة الأبعاد

فما هي بالضبط هذه المكعبات متعددة الأبعاد؟
دعونا نتخيل مساحة ثلاثية الأبعاد محاورها هي الوقت والمنتجات والعملاء.
ستشير نقطة في مثل هذه المساحة إلى حقيقة أن أحد المشترين اشترى منتجًا معينًا في شهر معين.

في الواقع، سيكون المستوى (أو مجموعة كل هذه النقاط) هو المكعب، وبالتالي، سيكون الوقت والمنتجات والعملاء هي أبعاده.
من الأصعب قليلاً تخيل (ورسم) مكعب رباعي الأبعاد أو أكثر، لكن الجوهر لا يتغير، والأهم من ذلك، بالنسبة لأنظمة OLAP، لا يهم على الإطلاق عدد الأبعاد التي ستعمل بها (في حدود المعقول الحدود طبعا).

القليل من MDX

إذًا، ما هو جمال MDX؟ على الأرجح أننا لا نحتاج إلى وصف الطريقة التي نريد بها تحديد البيانات، ولكن؟ ماذا بالضبطنحن نريد.
على سبيل المثال،
يختار
( . ) على الأعمدة،
( .، . ) على الصفوف
من
أين (.، .)

مما يعني أنني أريد معرفة عدد أجهزة iPhone المباعة في شهري يونيو ويوليو في موزمبيق.
وفي نفس الوقت أصف أيّهذه هي البيانات التي أريدها و كيفأريد رؤيتهم في التقرير.
جميلة، أليس كذلك؟

إليك الأمر الأكثر تعقيدًا بعض الشيء:

مع الأعضاء متوسط ​​الإنفاق AS
. / .
يختار
(متوسط ​​الإنفاق) على الأعمدة،
( ..، .. ) على الصفوف
من
أين (.)

* تم تمييز كود المصدر هذا باستخدام Source Code Highlighter.

في الواقع، نقوم أولاً بتحديد صيغة حساب “متوسط ​​حجم الشراء” ونحاول مقارنة من (أي جنس) في زيارة واحدة متجر آبل، ينفق المزيد من المال.

اللغة نفسها مثيرة للاهتمام للغاية للدراسة والاستخدام، وربما تستحق الكثير من المناقشة.

خاتمة

في الحقيقة، هذا المقاليغطي القليل جدا حتى مفاهيم أساسيةأود أن أسميها "المقبلات" - وهي فرصة لإثارة اهتمام مجتمع الهبرة بهذا الموضوع وتطويره بشكل أكبر. أما بالنسبة للتنمية، فهناك مجال كبير غير محراث هنا، وسأكون سعيدًا بالإجابة على جميع أسئلتك.

ملاحظة.هذه هي مشاركتي الأولى حول OLAP وأول منشور على حبري - وسأكون ممتنًا جدًا للتعليقات البناءة.
تحديث:لقد قمت بنقله إلى SQL، وسوف أقوم بنقله إلى OLAP بمجرد أن يسمحوا لي بإنشاء مدونات جديدة.

العلامات: إضافة العلامات

كجزء من هذا العمل، سيتم النظر في القضايا التالية:

  • ما هي مكعبات OLAP؟
  • ما هي المقاييس والأبعاد والتسلسلات الهرمية؟
  • ما أنواع العمليات التي يمكن إجراؤها على مكعبات OLAP؟
مفهوم مكعب OLAP

الفرضية الرئيسية لـ OLAP هي تعدد الأبعاد في عرض البيانات. في مصطلحات OLAP، يتم استخدام مفهوم المكعب، أو المكعب الفائق، لوصف مساحة بيانات منفصلة متعددة الأبعاد.

مكعبعبارة عن بنية بيانات متعددة الأبعاد يمكن لمحلل المستخدم من خلالها الاستعلام عن المعلومات. يتم إنشاء المكعبات من الحقائق والأبعاد.

بيانات- هذه بيانات حول الأشياء والأحداث في الشركة التي ستخضع للتحليل. حقائق من نفس النوع قياسات. المقياس هو نوع القيمة في خلية مكعب.

قياسات- هذه هي عناصر البيانات التي يتم من خلالها تحليل الحقائق. تشكل مجموعة من هذه العناصر سمة البعد (على سبيل المثال، أيام الأسبوع يمكن أن تشكل سمة البعد الزمني). في مهام تحليل الأعمال للمؤسسات التجارية، غالبًا ما تتضمن الأبعاد فئات مثل "الوقت"، و"المبيعات"، و"المنتجات"، و"العملاء"، و"الموظفون"، و"الموقع الجغرافي". غالبًا ما تكون الأبعاد هياكل هرمية، تمثل فئات منطقية يمكن للمستخدم من خلالها تحليل البيانات الفعلية. يمكن أن يحتوي كل تسلسل هرمي على مستوى واحد أو أكثر. وبالتالي، فإن التسلسل الهرمي لبعد "الموقع الجغرافي" قد يشمل المستويات: "البلد - المنطقة - المدينة". في التسلسل الهرمي الزمني، يمكننا التمييز، على سبيل المثال، التسلسل التالي من المستويات: يمكن أن يحتوي البعد على عدة تسلسلات هرمية (يجب أن يكون لكل تسلسل هرمي لبعد واحد نفس السمة الرئيسية لجدول الأبعاد).

يمكن أن يحتوي المكعب على بيانات فعلية من جدول حقائق واحد أو أكثر، وغالبًا ما يحتوي على أبعاد متعددة. عادة ما يكون لأي مكعب معين تركيز محدد للتحليل.

ويبين الشكل 1 مثالاً لمكعب مصمم لتحليل مبيعات المنتجات البترولية من قبل شركة معينة حسب المنطقة. يحتوي هذا المكعب على ثلاثة أبعاد (الوقت والمنتج والمنطقة) ومقياس واحد (حجم المبيعات معبرًا عنه من الناحية النقدية). يتم تخزين قيم القياس في الخلايا المقابلة للمكعب. يتم تحديد كل خلية بشكل فريد من خلال مجموعة من الأعضاء من كل بعد، تسمى الصف. على سبيل المثال، يتم تحديد الخلية الموجودة في الركن الأيسر السفلي من المكعب (تحتوي على القيمة 98399 دولارًا) بواسطة الصف [يوليو 2005، الشرق الأقصى، ديزل]. هنا تظهر قيمة 98.399 دولارًا حجم مبيعات الديزل (من الناحية النقدية) في الشرق الأقصى لشهر يوليو 2005.

ومن الجدير بالذكر أيضًا أن بعض الخلايا لا تحتوي على أي قيم: هذه الخلايا فارغة لأن جدول الحقائق لا يحتوي على بيانات خاصة بها.

أرز. 1.مكعب يحتوي على معلومات عن مبيعات المنتجات البترولية في مختلف المناطق

الهدف النهائي من إنشاء مثل هذه المكعبات هو تقليل وقت معالجة الاستعلامات التي تستخرج المعلومات المطلوبة من البيانات الفعلية. لإنجاز هذه المهمة، تحتوي المكعبات عادةً على إجماليات محسوبة مسبقًا تسمى التجمعات(التجمعات). أولئك. يغطي المكعب مساحة بيانات أكبر من المساحة الفعلية - توجد به نقاط منطقية ومحسوبة. تتيح لك وظائف التجميع حساب قيم النقاط في المساحة المنطقية بناءً على القيم الفعلية. أبسط وظائف التجميع هي SUM، MAX، MIN، COUNT. لذلك، على سبيل المثال، باستخدام الدالة MAX، بالنسبة للمكعب الموضح في المثال، يمكنك تحديد متى حدثت ذروة مبيعات الديزل في الشرق الأقصى، وما إلى ذلك.

ميزة أخرى محددة للمكعبات متعددة الأبعاد هي صعوبة تحديد الأصل. على سبيل المثال، كيف يمكنك تعيين النقطة 0 لبُعد المنتج أو المناطق؟ الحل لهذه المشكلة هو تقديم سمة خاصة تجمع كل عناصر البعد. تحتوي هذه السمة (التي تم إنشاؤها تلقائيًا) على عنصر واحد فقط - الكل. ل وظائف بسيطةمن تجميع مثل المجموع، فإن العنصر All يعادل مجموع قيم جميع عناصر المساحة الفعلية لبعد معين.

أحد المفاهيم المهمة في نموذج البيانات متعدد الأبعاد هو الفضاء الفرعي، أو المكعب الفرعي. المكعب الفرعي هو جزء من المساحة الكاملة للمكعب على شكل شكل متعدد الأبعاد داخل المكعب. بما أن الفضاء متعدد الأبعاد للمكعب منفصل ومحدود، فإن المكعب الفرعي أيضًا منفصل ومحدود.

العمليات على مكعبات OLAP

يمكن تنفيذ العمليات التالية على مكعب OLAP:

  • شريحة؛
  • دوران؛
  • الدمج؛
  • تفصيل.
شريحة(الشكل 2) هي حالة خاصة للمكعب الفرعي. هذا هو إجراء لتشكيل مجموعة فرعية من مصفوفة بيانات متعددة الأبعاد تتوافق مع قيمة واحدة لواحد أو أكثر من عناصر البعد غير المضمنة في هذه المجموعة الفرعية. على سبيل المثال، لمعرفة كيفية تقدم مبيعات المنتجات البترولية بمرور الوقت في منطقة معينة فقط، وبالتحديد في جبال الأورال، تحتاج إلى تثبيت بُعد "المنتجات" على عنصر "الأورال" واستخراج المجموعة الفرعية المقابلة (المكعب الفرعي) من العنصر "الأورال" مكعب.
  • أرز. 2.شريحة مكعب OLAP

    دوران(شكل 3) - عملية تغيير مكان القياسات المقدمة في التقرير أو في الصفحة المعروضة. على سبيل المثال، قد تتضمن عملية التدوير إعادة ترتيب صفوف وأعمدة الجدول. بالإضافة إلى ذلك، يؤدي تدوير مكعب البيانات إلى نقل الأبعاد خارج الجدول إلى مكانها مع الأبعاد الموجودة على الصفحة المعروضة، والعكس صحيح.

    تحدثنا في المقالة السابقة من هذه السلسلة (انظر رقم 2’2005) عن أهم الابتكارات في الخدمات التحليلية خادم قاعدة البيانات 2005. سنلقي اليوم نظرة فاحصة على الأدوات اللازمة لإنشاء حلول OLAP المضمنة في هذا المنتج.

    باختصار حول أساسيات OLAP

    قبل أن نبدأ بالحديث عن أدوات إنشاء حلول OLAP، دعنا نذكرك أن OLAP (المعالجة التحليلية عبر الإنترنت) هي تقنية معقدة تحليل متعدد المتغيراتالبيانات التي تم وصف مفهومها في عام 1993 من قبل المؤلف الشهير إي إف كود النموذج العلائقيبيانات. حاليًا، يتم تنفيذ دعم OLAP في العديد من أنظمة إدارة قواعد البيانات والأدوات الأخرى.

    مكعبات OLAP

    ما هي بيانات OLAP؟ للإجابة على هذا السؤال، خذ مثالا بسيطا. لنفترض أنه يوجد في قاعدة بيانات الشركة الخاصة بمؤسسة معينة مجموعة من الجداول التي تحتوي على معلومات حول مبيعات السلع أو الخدمات، وعلى أساسها تم إنشاء طريقة عرض الفواتير باستخدام الحقول البلد (البلد)، المدينة (المدينة)، اسم العميل (اسم الشركة العميلة)، ومندوب المبيعات (مدير المبيعات)، وتاريخ الطلب (تاريخ تقديم الطلب)، واسم الفئة (فئة المنتج)، واسم المنتج (اسم المنتج)، واسم الشاحن (شركة النقل)، والسعر الممتد (الدفع مقابل البضائع)، بينما آخر هذه المجالات هو في الواقع موضوع التحليل.

    يمكن تحديد البيانات من طريقة العرض هذه باستخدام الاستعلام التالي:

    حدد البلد، المدينة، اسم العميل، مندوب المبيعات،

    تاريخ الطلب، اسم الفئة، اسم المنتج، اسم الشاحن، السعر الممتد

    من الفواتير

    لنفترض أننا مهتمون بالقيمة الإجمالية للطلبات المقدمة من العملاء من مختلف البلدان. للحصول على إجابة لهذا السؤال عليك تقديم الطلب التالي:

    حدد البلد، SUM (السعر الممتد) من الفواتير

    المجموعة حسب البلد

    ستكون نتيجة هذا الاستعلام مجموعة أحادية البعد من البيانات المجمعة (في في هذه الحالةكميات):

    دولة SUM (السعر الموسع)
    الأرجنتين 7327.3
    النمسا 110788.4
    بلجيكا 28491.65
    البرازيل 97407.74
    كندا 46190.1
    الدنمارك 28392.32
    فنلندا 15296.35
    فرنسا 69185.48
    209373.6
    ...

    إذا أردنا معرفة التكلفة الإجمالية للطلبات التي يقدمها العملاء من بلدان مختلفة ويتم تسليمها بواسطة خدمات توصيل مختلفة، فيجب علينا تشغيل استعلام يحتوي على معلمتين في جملة GROUP BY:

    حدد البلد، واسم الشاحن، والمجموع (السعر الممتد) من الفواتير

    المجموعة حسب البلد، اسم الشاحن

    استنادا إلى نتائج هذا الاستعلام، يمكنك إنشاء جدول يبدو كالتالي:

    تسمى هذه المجموعة من البيانات بالجدول المحوري.

    حدد البلد، واسم الشاحن، ومجموع مندوبي المبيعات (السعر الممتد) من الفواتير

    المجموعة حسب البلد، اسم الشاحن، السنة

    وبناء على نتائج هذا الاستعلام، يمكن بناء مكعب ثلاثي الأبعاد (الشكل 1).

    إضافة خيارات إضافيةللتحليل، يمكنك إنشاء مكعب بأي عدد من الأبعاد نظريًا، بالإضافة إلى المجاميع، يمكن أن تحتوي خلايا مكعب OLAP على نتائج حساب الوظائف التجميعية الأخرى (على سبيل المثال، المتوسط، والحد الأقصى، الحد الأدنى من القيم، عدد سجلات العرض الأصلي المقابلة لمجموعة معينة من المعلمات). تسمى الحقول التي يتم حساب النتائج منها بمقاييس المكعب.

    التسلسلات الهرمية في الأبعاد

    لنفترض أننا مهتمون ليس فقط بالقيمة الإجمالية للطلبات المقدمة من العملاء دول مختلفة، ولكن أيضًا التكلفة الإجمالية للطلبات المقدمة من العملاء في مدن مختلفة من نفس البلد. في هذه الحالة، يمكنك الاستفادة من حقيقة وجود القيم المرسومة على المحاور مراحل مختلفةالتفاصيل يتم وصفها ضمن مفهوم التسلسل الهرمي للتغييرات. لنفترض أن البلدان تقع في المستوى الأول من التسلسل الهرمي، وتقع المدن في المستوى الثاني. لاحظ أنه بدءًا من SQL Server 2000، تدعم خدمات التحليل ما يسمى بالتسلسلات الهرمية غير المتوازنة، والتي تحتوي، على سبيل المثال، على أعضاء لا يتم تضمين "توابعهم" في المستويات المجاورة من التسلسل الهرمي أو تكون مفقودة بالنسبة لبعض أعضاء التغيير. أحد الأمثلة النموذجية لهذا التسلسل الهرمي هو الأخذ في الاعتبار حقيقة أنه في بلدان مختلفة قد تكون أو لا توجد وحدات إدارية إقليمية مثل دولة أو منطقة، تقع في التسلسل الهرمي الجغرافي بين البلدان والمدن (الشكل 2).

    لاحظ أن في مؤخرامن الشائع تسليط الضوء على التسلسلات الهرمية النموذجية، مثل تلك التي تحتوي على بيانات جغرافية أو زمنية، ودعم وجود تسلسلات هرمية متعددة في بُعد واحد (على وجه الخصوص، للسنة التقويمية والمالية).

    إنشاء مكعبات OLAP في SQL Server 2005

    يتم إنشاء مكعبات SQL Server 2005 باستخدام باستخدام SQLاستوديو تطوير ذكاء الأعمال الخادم. هذه الأداة هي نسخة خاصة Visual Studio 2005، مصمم لحل هذه الفئة من المشكلات (وإذا كانت لديك بيئة تطوير مثبتة بالفعل، فسيتم تجديد قائمة قوالب المشاريع بمشاريع مصممة لإنشاء حلول عليها على أساس SQLسيفير وخدماته التحليلية). على وجه الخصوص، تم تصميم قالب مشروع خدمات التحليل لإنشاء حلول تعتمد على الخدمات التحليلية (الشكل 3).

    لإنشاء مكعب OLAP، عليك أولاً أن تقرر البيانات التي ستشكله. في أغلب الأحيان، يتم بناء مكعبات OLAP على أساس مستودعات البيانات العلائقية ذات مخططات النجوم أو ندفة الثلج (تحدثنا عنها في الجزء السابق من المقالة). تتضمن حزمة SQL مثالاً لمثل هذا التخزين: قاعدة بيانات AdventureWorksDW، لاستخدامها كمصدر يجب أن تجد مجلد مصادر البيانات في Solution Explorer، حدد قائمة السياقمصدر بيانات جديد والإجابة باستمرار على أسئلة المعالج المقابل (الشكل 4).

    ومن المستحسن بعد ذلك إنشاء طريقة عرض مصدر البيانات التي سيتم إنشاء المكعب عليها. للقيام بذلك، حدد عنصر قائمة السياق المناسب مجلدات البياناتطرق عرض المصدر والإجابة باستمرار على أسئلة المعالج. ستكون نتيجة هذه الإجراءات عبارة عن مخطط بيانات، والذي سيتم من خلاله إنشاء تمثيل لمصادر البيانات، وفي المخطط الناتج، بدلاً من الأسماء الأصلية، يمكنك تحديد أسماء الجداول "المألوفة" (الشكل 5) .

    يمكن نقل المكعب الموصوف بهذه الطريقة إلى خادم الخدمات التحليلية عن طريق تحديد خيار النشر من قائمة سياق المشروع وعرض بياناته (الشكل 7).

    يستفيد إنشاء المكعب الآن من العديد من ميزات الإصدار الجديد من SQL Server، مثل عرض مصدر البيانات. يتم الآن وصف البيانات المصدر لإنشاء المكعب، بالإضافة إلى وصف بنية المكعب، باستخدام أداة Visual Studio المألوفة لدى العديد من المطورين، وهي ميزة كبيرة للإصدار الجديد من هذا المنتج - يتم تقليل دراسة الأدوات الجديدة من قبل مطوري الحلول التحليلية في هذه الحالة.

    لاحظ أنه في المكعب الذي تم إنشاؤه، يمكنك تغيير تكوين المقاييس، وحذف سمات البعد وإضافتها، وإضافة السمات المحسوبة لأعضاء البعد بناءً على السمات الموجودة (الشكل 8).

    أرز. 8. أضف سمة محسوبة

    بالإضافة إلى ذلك، يمكن لمكعبات SQL Server 2005 تجميع أعضاء البعد أو فرزهم تلقائيًا حسب قيمة السمة، وتحديد العلاقات بين السمات، وتنفيذ علاقات متعدد إلى متعدد، وتحديد مقاييس الأعمال الرئيسية، وغير ذلك الكثير (تعرف على كيفية العثور على كل هذه الخطوات في البرنامج التعليمي لخدمات تحليل SQL Server نظام المساعدةمن هذا المنتج).

    في الأجزاء اللاحقة من هذا المنشور، سنستمر في استكشاف الخدمات التحليلية لـ SQL Server 2005 ومعرفة ما هو جديد في مجال دعم استخراج البيانات.

    OLAP (المعالجة التحليلية عبر الإنترنت)هي طريقة إلكترونية المعالجة التحليليةالبيانات التي تمثل تنظيم البيانات في فئات هرمية باستخدام الإجماليات المحسوبة مسبقًا. يتم تنظيم بيانات OLAP بشكل هرمي ويتم تخزينها في مكعبات بدلاً من الجداول. مكعبات OLAP هي مجموعة بيانات متعددة الأبعاد ذات محاور تحتوي على معلمات وخلايا تحتوي على بيانات مجمعة تعتمد على المعلمات. تم تصميم المكعبات للتحليل المعقد متعدد الأبعاد لكميات كبيرة من البيانات لأنها توفر نتائج موجزة فقط لإعداد التقارير، بدلاً من عدد كبير من السجلات الفردية.

    تم وصف مفهوم OLAP في عام 1993 من قبل باحث قواعد البيانات الشهير ومؤلف نموذج البيانات العلائقية، E. F. Codd. حاليًا، يتم تنفيذ دعم OLAP في العديد من أنظمة إدارة قواعد البيانات والأدوات الأخرى.

    يحتوي مكعب OLAP على نوعين من البيانات:

    · القيم الإجمالية، القيم التي تريد تلخيصها وتمثيلها حقول البيانات المحسوبة;

    · المعلومات الوصفية التي تمثل قياساتأو أبعاد. عادةً ما يتم تنظيم المعلومات الوصفية في مستويات من التفصيل. على سبيل المثال: "السنة" و"ربع السنة" و"الشهر" و"اليوم" في بُعد "الوقت". يسمح تنظيم الحقول في مستويات من التفاصيل لمستخدمي التقارير باختيار مستوى التفاصيل التي يريدون عرضها، بدءًا من البيانات التلخيصية عالية المستوى ثم الانتقال إلى عرض أكثر تفصيلاً، والعكس صحيح.

    تسمح لك أدوات Microsoft Query أيضًا بإنشاء مكعبات OLAP من استعلام يقوم بتحميل البيانات قاعدة علائقيةالبيانات، على سبيل المثال مدخل البرمجيات المرنة، ويحدث التحول الجدول الخطيفي التسلسل الهرمي الهيكلي (المكعب).

    معالج إنشاء مكعب OLAP مدمج أداة مايكروسوفتاستفسار. لإنشاء مكعب OLAP استنادًا إلى قاعدة بيانات علائقية، يجب عليك إكمال الخطوات التالية قبل تشغيل المعالج.

    1. تحديد مصدر البيانات (انظر الشكل 6.1).

    2. ج باستخدام مايكروسوفتاستعلام لإنشاء استعلام، بما في ذلك فقط تلك الحقول التي ستكون إما حقول بيانات أو حقول أبعاد لمكعب OLAP؛ إذا تم استخدام حقل في المكعب أكثر من مرة، فيجب تضمينه في الاستعلام بالعدد المطلوب مرات.

    3. تشغيل اخر خطوةمعالج إنشاء الاستعلام قم بتعيين المفتاح إلى إنشاء مكعب OLAP من من هذا الطلب (انظر الشكل 6.2) أو بعد إنشاء الطلب باستخدام قائمة الاستعلام مباشرة ملفاختر فريقا يخلق مكعب OLAP ، وبعد ذلك سيتم إطلاق معالج إنشاء OLAP Cube.

    يتكون معالج إنشاء مكعب OLAP من ثلاث خطوات.

    في الخطوة الأولى للمعالج (انظر الشكل 6.6) حقول البيانات- الحقول المحسوبة التي يجب تحديد القيم الإجمالية لها.



    أرز. 6.6. تحديد حقول البيانات

    الحقول المحسوبة المقصودة (عادةً الحقول الرقمية) يضعها المعالج في أعلى القائمة، ويفحصها، ويحدد الوظيفة النهائية لهذه الحقول، عادةً - مجموع. عند تحديد حقول البيانات، يجب تحديد حقل واحد على الأقل كحقل محسوب ويجب ترك حقل واحد على الأقل بدون تحديد لتحديد البعد.

    عند إنشاء مكعب OLAP، يمكنك استخدام أربع وظائف تلخيصية - مجموع, رقم(عدد القيم)، الحد الأدنى, أقصىللحقول الرقمية ووظيفة واحدة رقملجميع المجالات الأخرى. إذا كنت تريد استخدام عدة دوال تلخيصية مختلفة لنفس الحقل، فيجب تضمين هذا الحقل في الاستعلام بالعدد المطلوب من المرات.

    يمكن تغيير اسم الحقل المحسوب في عمود اسم حقل البيانات.

    في الخطوة الثانية من المعالج، يتم تحديد البيانات الوصفية وأبعادها (انظر الشكل 6.7). لاختيار حقل القياس، يجب عليك من القائمة حقول المصدراسحب حقل البعد المطلوب افضل مستوىإلى القائمة قياساتإلى المنطقة التي تم وضع علامة عليها اسحب الحقول هنا لإنشاء الأبعاد. لإنشاء مكعب OLAP، يجب عليك تحديد بُعد واحد على الأقل. في نفس خطوة المعالج، يمكنك استخدام قائمة السياق لتغيير اسم البعد أو حقل المستوى.

    أرز. 6.7. تعريف حقول الأبعاد

    يمكن تعريف الحقول التي تحتوي على بيانات معزولة أو منفصلة ولا تنتمي إلى تسلسل هرمي على أنها أبعاد ذات مستوى واحد. ومع ذلك، سيكون المكعب أكثر كفاءة إذا تم تنظيم بعض الحقول في مستويات. لإنشاء مستوى كجزء من البعد، اسحب حقلاً من القائمة حقول المصدرفي الحقل الذي يمثل بُعدًا أو مستوى. يجب وضع الحقول التي تحتوي على معلومات أكثر تفصيلاً بشكل أكبر مستويات منخفضة. على سبيل المثال، في الشكل 6.7 المجال مسمى وظيفيهو المستوى الميداني اسم القسم.

    لنقل حقل إلى مستوى أقل أو أعلى، يتعين عليك سحبه إلى حقل أقل أو أعلى داخل البعد. لعرض المستويات أو إخفائها، استخدم الزرين أو على التوالي.

    إذا كنت تستخدم حقول التاريخ أو الوقت كبُعد المستوى الأعلى، فسيقوم معالج OLAP Cube Wizard تلقائيًا بإنشاء مستويات لتلك الأبعاد. ويمكن للمستخدم بعد ذلك تحديد المستويات التي يجب أن تظهر في التقارير. على سبيل المثال، يمكنك تحديد الأسابيع أو الأرباع أو السنوات أو الأشهر (انظر الشكل 6.7).

    تذكر أن المعالج يقوم تلقائيًا بإنشاء مستويات لحقول التاريخ والوقت فقط عندما تقوم بإنشاء بُعد المستوى الأعلى؛ عند إضافة هذه الحقول كمستويات فرعية للبعد، لا يتم إنشاء المستويات التلقائية.

    في الخطوة الثالثة من المعالج، يتم تحديد نوع المكعب الذي أنشأه المعالج، مع وجود ثلاثة خيارات ممكنة (انظر الشكل 6.8).

    أرز. 6.8. تحديد نوع المكعب الذي سيتم إنشاؤه في الخطوة الثالثة من المعالج

    · يتضمن الخياران الأولان إنشاء مكعب في كل مرة تفتح فيها تقريرًا (إذا تم عرض المكعب من برنامج Excel، فإننا نتحدث عن جدول محوري). في هذه الحالة، ملف الطلب وملف تعريفات المكعب *.oqy، والذي يحتوي على تعليمات لإنشاء مكعب. يمكن فتح الملف *.oqy في برنامج اكسللإنشاء تقارير بناءً على المكعب، وإذا كنت بحاجة إلى إجراء تغييرات على المكعب، فيمكنك فتح الاستعلام لتشغيل معالج إنشاء المكعب مرة أخرى.

    افتراضيًا، يتم تخزين ملفات تعريف المكعب، مثل ملفات الاستعلام، في مجلد ملف تعريف المستخدم في Application Data\Microsoft\Que-ries. عند حفظ ملف *.oqy في المجلد القياسي، يتم عرض اسم ملف تعريف المكعب في علامة التبويب مكعبات OLAPعند فتح استعلام جديد في Microsoft Query أو عند تحديد أمر إنشاء طلب(قائمة طعام بيانات، القائمة الفرعية استيراد البيانات الخارجية) في مايكروسوفت إكسل.

    · في حالة اختيار الخيار الثالث من نوع المكعب حفظ ملف مكعب يحتوي على كافة البيانات الخاصة بالمكعب، يتم استرداد كافة البيانات الخاصة بالمكعب و المحدد من قبل المستخدميتم إنشاء ملف مكعب بالملحق * .الشبل، حيث يتم تخزين هذه البيانات. خلق من هذا الملفلا يحدث على الفور عند الضغط على الزر مستعد; يتم إنشاء الملف إما عند حفظ تعريف المكعب في ملف أو عند إنشاء تقرير يستند إلى المكعب.

    يتم تحديد اختيار نوع المكعب من خلال عدة عوامل: كمية البيانات التي يحتوي عليها المكعب؛ نوع وتعقيد التقارير التي سيتم إنشاؤها بناءً على المكعب؛ موارد النظام (الذاكرة ومساحة القرص)، إلخ.

    يجب إنشاء ملف *.cub cube منفصل الحالات التالية:

    1) للتقارير التفاعلية التي يتم تغييرها بشكل متكرر إذا كانت هناك مساحة كافية على القرص؛

    2) عندما تحتاج إلى حفظ المكعب على خادم الشبكة لتوفير الوصول إليه للمستخدمين الآخرين عند إنشاء التقارير. يمكن أن يوفر الملف المكعب بيانات محددة من قاعدة البيانات المصدر مع حذف البيانات الحساسة أو الحساسة التي تريد منع المستخدمين الآخرين من الوصول إليها.

    بشكل عام، يعرف كل متخصص ما هو OLAP اليوم. بواسطة على الأقلإن مفهومي "OLAP" و"البيانات متعددة الأبعاد" مرتبطان بقوة في أذهاننا. ومع ذلك، فإن حقيقة طرح هذا الموضوع مرة أخرى، آمل أن تحظى بموافقة غالبية القراء، لأنه لكي لا تصبح فكرة شيء ما قديمة بمرور الوقت، تحتاج إلى التواصل بشكل دوري مع ناس اذكياءأو قراءة مقالات في منشور جيد ...

    مستودعات البيانات (مكان OLAP في بنية معلومات المؤسسة)

    يرتبط مصطلح "OLAP" ارتباطًا وثيقًا بمصطلح "مستودع البيانات" (مستودع البيانات).

    إليكم التعريف الذي صاغه "الأب المؤسس" لتخزين البيانات، بيل إنمون: "مستودع البيانات عبارة عن مجموعة بيانات محددة النطاق ومحددة زمنياً وغير قابلة للتغيير لدعم اتخاذ القرارات الإدارية".

    تأتي البيانات الموجودة في المستودع من أنظمة التشغيل (أنظمة OLTP)، والتي تم تصميمها لأتمتة العمليات التجارية. وبالإضافة إلى ذلك، يمكن تجديد التخزين عن طريق مصادر خارجيةعلى سبيل المثال التقارير الإحصائية.

    لماذا نبني مستودعات البيانات - فهي تحتوي على معلومات زائدة عن الحاجة بشكل واضح والتي "تعيش" بالفعل في قواعد البيانات أو ملفات نظام التشغيل؟ يمكن أن تكون الإجابة مختصرة: من المستحيل أو من الصعب جدًا تحليل البيانات مباشرة من أنظمة التشغيل. ويرجع ذلك إلى أسباب مختلفة، بما في ذلك تجزئة البيانات وتخزينها بتنسيقات مختلفة لنظام إدارة قواعد البيانات وفي "زوايا" مختلفة. شبكة الشركة. ولكن حتى لو قامت إحدى المؤسسات بتخزين جميع بياناتها على خادم قاعدة بيانات مركزية (وهو أمر نادر للغاية)، فمن المؤكد تقريبًا أن المحلل لن يفهم هياكلها المعقدة والمربكة في بعض الأحيان. يتمتع المؤلف بتجربة حزينة للغاية في محاولة "إطعام" المحللين الجائعين ببيانات "خام" من أنظمة التشغيل - وقد تبين أن ذلك "أكثر من اللازم بالنسبة لهم".

    وبالتالي، فإن الغرض من المستودع هو توفير "المواد الخام" للتحليل في مكان واحد وبهيكل بسيط ومفهوم. كتب رالف كيمبال في مقدمة كتابه "مجموعة أدوات مستودع البيانات" أنه إذا فهم القارئ شيئًا واحدًا فقط، بعد قراءة الكتاب بأكمله - وهو أن هيكل المستودع يجب أن يكون بسيطًا - فسوف يأخذ المؤلف في الاعتبار كتابه تمت المهمة.

    هناك سبب آخر يبرر ظهور مستودع منفصل - وهو تباطؤ الاستعلامات التحليلية المعقدة للمعلومات التشغيلية العمل الحاليالشركات وحجب الجداول لفترة طويلة والاستيلاء على موارد الخادم.

    في رأيي، لا يعني المستودع بالضرورة تراكما هائلا للبيانات - الشيء الرئيسي هو أنه مناسب للتحليل. بشكل عام، هناك مصطلح منفصل لمرافق التخزين الصغيرة - Data Marts (أكشاك البيانات)، ولكن في ممارساتنا الروسية لا تسمعه كثيرًا.

    OLAP- أداة سهلة الاستخدامتحليل

    المركزية والهيكلة المريحة ليست كل ما يحتاجه المحلل. لا يزال يحتاج إلى أداة لعرض المعلومات وتصورها. التقارير التقليدية، حتى تلك المبنية على مستودع واحد، تفتقر إلى شيء واحد - المرونة. ولا يمكن "تحريفها" أو "توسيعها" أو "طيها" للحصول على العرض المطلوب للبيانات. بالطبع، يمكنك الاتصال بمبرمج (إذا كان يريد أن يأتي)، وهو (إذا لم يكن مشغولا) سيقدم تقريرا جديدا بسرعة كافية - على سبيل المثال، في غضون ساعة (أنا أكتب هذا ولا أصدق) هذا بنفسي - لا يحدث الأمر بهذه السرعة في الحياة، فلنمنحه ثلاث ساعات) . اتضح أن المحلل لا يمكنه اختبار أكثر من فكرتين في اليوم. ويمكنه (إذا كان محللاً جيدًا) أن يأتي بالعديد من هذه الأفكار في الساعة. وكلما زاد عدد "شرائح" و"أقسام" البيانات التي يراها المحلل، زادت الأفكار التي لديه، والتي بدورها تتطلب المزيد والمزيد من "الشرائح" للتحقق منها. لو كان لديه أداة تسمح له بتوسيع البيانات وطيها ببساطة وسهولة! يعمل OLAP كأداة من هذا القبيل.

    على الرغم من أن OLAP ليس سمة ضرورية لمستودع البيانات، إلا أنه يتم استخدامه بشكل متزايد لتحليل المعلومات المتراكمة في المستودع.

    تظهر المكونات المضمنة في المستودع النموذجي في الشكل. 1.

    أرز. 1. هيكل مستودع البيانات

    يتم جمع البيانات التشغيلية من مصادر مختلفة، وتنقيتها، ودمجها، وتخزينها في مخزن ارتباطي. علاوة على ذلك، فهي متاحة بالفعل للتحليل باستخدام أدوات إعداد التقارير المختلفة. ثم يتم إعداد البيانات (كليًا أو جزئيًا) لتحليل OLAP. يمكن تحميلها في قاعدة بيانات OLAP خاصة أو تخزينها في وحدة تخزين علائقية. العنصر الأكثر أهمية هو البيانات الوصفية، أي معلومات حول هيكل البيانات وموضعها وتحويلها. وبفضلهم تم ضمان ذلك التفاعل الفعال المكونات المختلفةالمخازن.

    لتلخيص ذلك، يمكننا تعريف OLAP كمجموعة من الأدوات للتحليل متعدد الأبعاد للبيانات المتراكمة في المستودع. من الناحية النظرية، يمكن تطبيق أدوات OLAP مباشرة على البيانات التشغيلية أو نسخها الدقيقة (حتى لا تتداخل مع المستخدمين التشغيليين). لكننا بذلك نجازف بالدوس على أشعل النار الموصوفة بالفعل أعلاه، أي البدء في تحليل البيانات التشغيلية غير المناسبة للتحليل بشكل مباشر.

    التعريف والمفاهيم الأساسية لـ OLAP

    أولاً، دعونا نفك التشفير: OLAP هو معالجة تحليلية عبر الإنترنت، أي تحليل البيانات التشغيلية. تمت صياغة المبادئ الـ 12 المحددة لـ OLAP في عام 1993 على يد إي إف كود، "مخترع" قواعد البيانات العلائقية. تمت إعادة صياغة تعريفه لاحقًا إلى ما يسمى باختبار FASMI، والذي يتطلب تطبيق OLAP لتوفير الإمكانيات تحليل سريعالمعلومات المشتركة متعددة الأبعاد ().

    اختبار فسمي

    سريع(سريع) - يجب إجراء التحليل بنفس السرعة على جميع جوانب المعلومات. زمن الاستجابة المقبول هو 5 ثواني أو أقل.

    تحليل(التحليل) - يجب أن يكون من الممكن تنفيذ الأنواع الأساسية من التحليل العددي والإحصائي، المحددة مسبقًا من قبل مطور التطبيق أو المحددة بحرية من قبل المستخدم.

    مشترك(مشترك) - يجب أن يكون لدى العديد من المستخدمين حق الوصول إلى البيانات، في حين أنه من الضروري التحكم في الوصول إلى المعلومات السرية.

    متعدد الأبعاد(متعدد الأبعاد) هي السمة الرئيسية والأكثر أهمية لـ OLAP.

    معلومة(المعلومات) - يجب أن يكون التطبيق قادرًا على الوصول إلى أي معلومات ضرورية، بغض النظر عن حجمها وموقع تخزينها.

    OLAP = عرض متعدد الأبعاد = مكعب

    يوفر OLAP وسيلة مريحة وسريعة للوصول إلى معلومات الأعمال وعرضها وتحليلها. يتلقى المستخدم نموذج بيانات طبيعيًا وبديهيًا، وينظمها على شكل مكعبات متعددة الأبعاد (مكعبات). محاور نظام متعدد الأبعادالإحداثيات هي السمات الرئيسية للعملية التجارية التي تم تحليلها. على سبيل المثال، بالنسبة للمبيعات، يمكن أن يكون المنتج أو المنطقة أو نوع المشتري. يتم استخدام الوقت كأحد الأبعاد. عند تقاطعات المحاور - الأبعاد (الأبعاد) - توجد بيانات تميز العملية كميا - المقاييس (القياسات). يمكن أن يكون هذا حجم المبيعات بالقطع أو من الناحية النقدية، وأرصدة المخزون، والتكاليف، وما إلى ذلك. يمكن للمستخدم الذي يقوم بتحليل المعلومات "قطع" المكعب في اتجاهات مختلفة، أو الحصول على ملخص (على سبيل المثال، حسب السنة) أو على العكس من ذلك، مفصل ( حسب الأسبوع ) المعلومات ويقوم بالتلاعبات الأخرى التي تتبادر إلى ذهنه أثناء عملية التحليل.

    كما هو مقيس في المكعب ثلاثي الأبعاد الموضح في الشكل. 2، يتم استخدام مبالغ المبيعات، ويتم استخدام الوقت والمنتج والمتجر كأبعاد. يتم عرض القياسات على مستويات محددة من التجميع: يتم تجميع المنتجات حسب الفئة، والمتاجر حسب البلد، وبيانات توقيت المعاملة حسب الشهر. وبعد ذلك بقليل سوف ننظر إلى مستويات التجميع (التسلسل الهرمي) بمزيد من التفصيل.


    أرز. 2. مثال المكعب

    "قطع" مكعب

    حتى المكعب ثلاثي الأبعاد يصعب عرضه على شاشة الكمبيوتر بحيث تكون قيم المقاييس محل الاهتمام مرئية. ماذا يمكننا أن نقول عن المكعبات التي لها أكثر من ثلاثة أبعاد؟ لتصور البيانات المخزنة في المكعب، كقاعدة عامة، يتم استخدام طرق عرض مألوفة ثنائية الأبعاد، أي جدولية، مع عناوين الصفوف والأعمدة الهرمية المعقدة.

    يمكن الحصول على تمثيل ثنائي الأبعاد للمكعب عن طريق “قطعه” عبر محور واحد أو أكثر (الأبعاد): نثبت قيم جميع الأبعاد ما عدا اثنين، ونحصل على جدول منتظم ثنائي الأبعاد. يمثل المحور الأفقي للجدول (رؤوس الأعمدة) بعدًا واحدًا، ويمثل المحور الرأسي (رؤوس الصفوف) بُعدًا آخر، وتمثل خلايا الجدول قيم المقاييس. في هذه الحالة، تعتبر مجموعة المقاييس في الواقع أحد الأبعاد - فإما أن نختار مقياسًا واحدًا لعرضه (ومن ثم يمكننا وضع بعدين في عناوين الصفوف والأعمدة)، أو نعرض عدة مقاييس (ثم أحد الأبعاد) محاور الجدول ستشغلها أسماء المقاييس، والأخرى - قيم البعد الوحيد "غير المقطوع").

    نلقي نظرة على الشكل. 3 - هنا شريحة ثنائية الأبعاد من المكعب لقياس واحد - مبيعات الوحدة (القطع المباعة) وبعدين "غير مقطوعين" - المتجر (المتجر) والوقت (الوقت).


    أرز. 3. شريحة مكعبة ثنائية الأبعاد لقياس واحد

    في التين. يعرض الشكل 4 بُعدًا واحدًا فقط "غير مقطوع" - المتجر، ولكنه يعرض قيم عدة مقاييس - مبيعات الوحدات (الوحدات المباعة)، ومبيعات المتجر (مبلغ البيع) وتكلفة المتجر (نفقات المتجر).


    أرز. 4. شريحة مكعبة ثنائية الأبعاد لقياسات متعددة

    من الممكن أيضًا تمثيل المكعب ثنائي الأبعاد عندما يظل أكثر من بعدين "غير مقطوعين". في هذه الحالة، سيتم وضع بعدين أو أكثر من المكعب "المقطع" على محاور الشريحة (الصفوف والأعمدة) - انظر الشكل 1. 5.


    أرز. 5. شريحة مكعبة ثنائية الأبعاد ذات أبعاد متعددة على محور واحد

    العلامات

    تسمى القيم "الموضعة" على طول الأبعاد أعضاء أو تسميات. يتم استخدام التسميات "لقص" المكعب ولتحديد (تصفية) البيانات المحددة - عندما لا نهتم بجميع القيم في أحد الأبعاد التي تظل "غير مقطوعة"، بل نهتم بمجموعة فرعية منها، على سبيل المثال، ثلاث مدن من بين عدة عشرات. تظهر قيم التسمية في عرض المكعب ثنائي الأبعاد كعناوين للصفوف والأعمدة.

    التسلسلات الهرمية والمستويات

    يمكن دمج التسميات في تسلسلات هرمية تتكون من مستوى واحد أو أكثر. على سبيل المثال، يتم تجميع تسميات بُعد المتجر بشكل طبيعي في تسلسل هرمي بمستويات:

    دولة

    ولاية

    مدينة

    محل.

    يتم حساب القيم الإجمالية وفقًا لمستويات التسلسل الهرمي، على سبيل المثال حجم المبيعات للولايات المتحدة الأمريكية (مستوى الدولة) أو كاليفورنيا (مستوى الولاية). من الممكن تنفيذ أكثر من تسلسل هرمي في بعد واحد - مثلاً للزمن: (سنة، ربع، شهر، يوم) و (سنة، أسبوع، يوم).

    هندسة تطبيقات OLAP

    كل ما قيل أعلاه حول OLAP يتعلق بشكل أساسي بالعرض متعدد الأبعاد للبيانات. إن كيفية تخزين البيانات، بشكل تقريبي، لا تهم المستخدم النهائي أو مطوري الأداة التي يستخدمها العميل.

    يمكن تقسيم تعدد الأبعاد في تطبيقات OLAP إلى ثلاثة مستويات:

    • تمثيل البيانات متعدد الأبعاد - أدوات المستخدم النهائي التي توفر تصورًا متعدد الأبعاد ومعالجة البيانات؛ طبقة تمثيل متعدد الأبعاديستخلص من البنية المادية للبيانات وينظر إلى البيانات على أنها متعددة الأبعاد.
    • المعالجة متعددة الأبعاد هي وسيلة (لغة) لصياغة استعلامات متعددة الأبعاد (اللغة العلائقية التقليدية SQL غير مناسبة هنا) ومعالج يمكنه معالجة مثل هذا الاستعلام وتنفيذه.
    • التخزين متعدد الأبعاد هو وسيلة لتنظيم البيانات فعليًا مما يضمن التنفيذ الفعال للاستعلامات متعددة الأبعاد.

    المستويين الأولين في إلزاميموجود في جميع أدوات OLAP. المستوى الثالث، على الرغم من انتشاره على نطاق واسع، ليس ضروريا، حيث يمكن استخلاص بيانات التمثيل متعدد الأبعاد من الهياكل العلائقية العادية؛ يقوم معالج الاستعلام متعدد الأبعاد في هذه الحالة بترجمة الاستعلامات متعددة الأبعاد إلى استعلامات SQL يتم تنفيذها نظم إدارة قواعد البيانات العلائقية.

    منتجات OLAP المحددة، كقاعدة عامة، هي إما أداة تمثيل بيانات متعددة الأبعاد، أو عميل OLAP (على سبيل المثال، Pivot Tables في Excel 2000 من Microsoft أو ProClarity من Knosys)، أو خادم متعدد الأبعاد DBMS، أو خادم OLAP (على سبيل المثال، Oracle Express Server أو خدمات Microsoft OLAP).

    عادة ما تكون طبقة المعالجة متعددة الأبعاد مدمجة في عميل OLAP و/أو خادم OLAP، ولكن يمكن عزلها في شكلها النقي، مثل مكون خدمة Pivot Table من Microsoft.

    الجوانب التقنية لتخزين البيانات متعددة الأبعاد

    كما ذكر أعلاه، يمكن لأدوات تحليل OLAP أيضًا استخراج البيانات مباشرةً من الأنظمة العلائقية. كان هذا النهج أكثر جاذبية في تلك الأيام عندما لم يتم تضمين خوادم OLAP في قوائم الأسعار الخاصة بالمصنعين الرائدين لنظام إدارة قواعد البيانات (DBMS). لكن اليوم، تقدم Oracle وInformix وMicrosoft خوادم OLAP كاملة، وحتى مديري تكنولوجيا المعلومات الذين لا يرغبون في إنشاء "حديقة حيوانات" من البرامج من مختلف الشركات المصنعة في شبكاتهم يمكنهم الشراء (أو بالأحرى، تقديم طلب مقابل إلى إدارة الشركة) خادم OLAP من نفس العلامة التجارية لخادم قاعدة البيانات الرئيسية.

    يمكن لخوادم OLAP، أو خوادم قواعد البيانات متعددة الأبعاد، تخزين بياناتها متعددة الأبعاد بطرق مختلفة. قبل أن ننظر إلى هذه الأساليب، علينا أن نتحدث عن هذا جانب مهم، كمخزن للوحدات. والحقيقة هي أنه في أي مستودع بيانات - عادي ومتعدد الأبعاد - إلى جانب البيانات التفصيلية المستخرجة من أنظمة التشغيل، يتم أيضًا تخزين المؤشرات الموجزة (المؤشرات المجمعة، والتجميعات)، مثل مجموع أحجام المبيعات حسب الشهر، حسب فئة البضائع، وما إلى ذلك. يتم تخزين المجاميع بشكل صريح لغرض وحيد هو تسريع تنفيذ الاستعلامات. بعد كل شيء، من ناحية، كقاعدة عامة، يتم تجميع كمية كبيرة جدًا من البيانات في المستودع، ومن ناحية أخرى، لا يهتم المحللون في معظم الحالات بالمؤشرات التفصيلية، ولكن بالمؤشرات المعممة. وإذا كان عليك في كل مرة إضافة الملايين لحساب حجم المبيعات لهذا العام المبيعات الفردية، فالسرعة ستكون على الأرجح غير مقبولة. لذلك، عند تحميل البيانات في قاعدة بيانات متعددة الأبعاد، يتم حساب وحفظ جميع المؤشرات الإجمالية أو جزء منها.

    ولكن، كما تعلمون، عليك أن تدفع ثمن كل شيء. وبالنسبة لسرعة معالجة طلبات البيانات الموجزة، عليك أن تدفع مقابل زيادة في حجم البيانات ووقت تحميلها. علاوة على ذلك، يمكن أن تكون الزيادة في الحجم كارثية حرفيًا - في أحد الاختبارات القياسية المنشورة، يتطلب الحساب الكامل للتجميعات لـ 10 ميغابايت من البيانات المصدر 2.4 جيجابايت، أي نمت البيانات 240 مرة! وتعتمد درجة "تضخم" البيانات عند حساب المجاميع على عدد أبعاد المكعب وبنية هذه الأبعاد، أي نسبة عدد "الآباء" و"الأبناء" لكل فرد مراحل مختلفةقياسات. لحل مشكلة وحدات التخزين يتم استخدامها في بعض الأحيان دوائر معقدة، مما يجعل من الممكن تحقيق زيادة كبيرة في أداء الاستعلام عند حساب ليس كل المجاميع الممكنة.

    الآن حول خيارات مختلفةمخزن المعلومات. يمكن تخزين كل من البيانات الدقيقة والمجاميع في هياكل علائقية أو متعددة الأبعاد. يتيح لك التخزين متعدد الأبعاد التعامل مع البيانات كمصفوفة متعددة الأبعاد، مما يضمن إجراء حسابات سريعة بنفس القدر للمؤشرات الإجمالية والتحويلات المتعددة الأبعاد المتنوعة على طول أي من الأبعاد. منذ بعض الوقت، دعمت منتجات OLAP إما التخزين العلائقي أو متعدد الأبعاد. اليوم، كقاعدة عامة، يوفر نفس المنتج كلا النوعين من التخزين، بالإضافة إلى نوع ثالث - مختلط. تنطبق الشروط التالية:

    • مولاب(OLAP متعدد الأبعاد) - يتم تخزين كل من البيانات التفصيلية والمجاميع في قاعدة بيانات متعددة الأبعاد. في هذه الحالة، يتم الحصول على أكبر قدر من التكرار، حيث أن البيانات متعددة الأبعاد تحتوي بالكامل على بيانات علائقية.
    • رولاب(OLAP العلائقية) - تظل البيانات التفصيلية حيث "عاشت" في الأصل - في قاعدة البيانات العلائقية؛ يتم تخزين المجاميع في نفس قاعدة البيانات في جداول الخدمة المنشأة خصيصًا.
    • هولاب(Hybrid OLAP) - تظل البيانات التفصيلية في مكانها (في قاعدة بيانات علائقية)، ويتم تخزين المجاميع في قاعدة بيانات متعددة الأبعاد.

    كل من هذه الطرق لها مزاياها وعيوبها ويجب استخدامها وفقًا للظروف - حجم البيانات، وقوة نظام إدارة قواعد البيانات العلائقية، وما إلى ذلك.

    عند تخزين البيانات في هياكل متعددة الأبعاد، هناك مشكلة محتملة تتمثل في "الانتفاخ" بسبب تخزين القيم الفارغة. بعد كل شيء، إذا كان في مصفوفة متعددة الأبعادإذا تم حجز المساحة لجميع المجموعات الممكنة من ملصقات القياس، ولكن تم ملء جزء صغير فقط (على سبيل المثال، يتم بيع عدد من المنتجات فقط في عدد صغير من المناطق)، فإن معظم المكعب سيكون فارغًا، على الرغم من أن المساحة سيتم احتلال الفضاء. يمكن لمنتجات OLAP الحديثة التعامل مع هذه المشكلة.

    يتبع. في المستقبل، سنتحدث عن منتجات OLAP المحددة التي تنتجها الشركات المصنعة الرائدة.