نمایش چند بعدی داده ها طرح کلی سازماندهی انبار داده. ویژگی ها، انواع و تفاوت های اصلی بین فناوری های OLAP و OLTP. طرح های ستاره و دانه برف. تجمع. سیستم های OLAP ابزارهای olap طراحی شده اند تا

شرایط رقابت بالا و پویایی رو به رشد محیط خارجی، نیازهای بیشتری را برای سیستم های مدیریت سازمانی دیکته می کند. توسعه تئوری و عمل مدیریت با ظهور روش‌ها، فناوری‌ها و مدل‌های جدید با هدف بهبود کارایی فعالیت‌ها همراه بود. روش ها و مدل ها به نوبه خود به ظهور سیستم های تحلیلی کمک کردند. تقاضا برای سیستم های تحلیلی در روسیه زیاد است. از نقطه نظر کاربرد، این سیستم ها در بخش مالی جالب تر هستند: بانک ها، تجارت بیمه، شرکت های سرمایه گذاری. نتایج کار سیستم های تحلیلی قبل از هر چیز برای افرادی لازم است که توسعه شرکت به تصمیم آنها بستگی دارد: مدیران، کارشناسان، تحلیلگران. سیستم های تحلیلی به شما این امکان را می دهد که مشکلات تلفیق، گزارش، بهینه سازی و پیش بینی را حل کنید. تاکنون طبقه‌بندی نهایی سیستم‌های تحلیلی وجود نداشته است، همانطور که سیستم کلی تعاریف در این راستا وجود ندارد. ساختار اطلاعاتی یک شرکت را می توان با ترتیبی از سطوح نشان داد که هر یک با روش پردازش و مدیریت اطلاعات مشخص می شود و عملکرد خاص خود را در فرآیند مدیریت دارد. بنابراین، سیستم های تحلیلی به صورت سلسله مراتبی مرتب خواهند شد سطوح مختلفاین زیرساخت

سطح سیستم های معاملاتی

لایه ذخیره سازی داده ها

لایه دیتا مارت

سطح سیستم OLAP

لایه کاربردی تحلیلی

OLAP - سیستم ها - (OnLine Analytical Processing، پردازش تحلیلی در زمان واقعی) - یک فناوری برای تجزیه و تحلیل داده های چند بعدی پیچیده است. OLAP - سیستم ها در جایی قابل اجرا هستند که وظیفه تجزیه و تحلیل داده های چند عاملی وجود دارد. آنها ابزاری موثر برای تجزیه و تحلیل و تولید گزارش هستند. انبارهای داده، مارت های داده و سیستم های OLAP که در بالا مورد بحث قرار گرفت به سیستم های هوش تجاری (Business Intelligence, BI) مربوط می شوند.

اغلب اوقات، اطلاعات و سیستم های تحلیلی ایجاد شده با انتظار استفاده مستقیم توسط تصمیم گیرندگان، بسیار آسان برای استفاده هستند، اما از نظر عملکرد بسیار محدود هستند. چنین سیستم های ایستا در ادبیات سیستم های اطلاعات اجرایی (ISR) یا سیستم های اطلاعات اجرایی (EIS) نامیده می شوند. آنها شامل مجموعه‌های از پیش تعریف‌شده‌ای از پرس و جو هستند و در حالی که برای یک مرور کلی روزانه کافی هستند، نمی‌توانند به تمام سؤالات مربوط به داده‌های موجود که ممکن است در تصمیم‌گیری ایجاد شود پاسخ دهند. نتیجه چنین سیستمی، به عنوان یک قاعده، گزارش های چند صفحه ای است که پس از مطالعه دقیق آن، تحلیلگر یک سری سوالات جدید دارد. با این حال، هر درخواست جدیدی که هنگام طراحی چنین سیستمی پیش‌بینی نشده است، ابتدا باید به طور رسمی شرح داده شود، توسط برنامه‌نویس کدگذاری شود و تنها پس از آن اجرا شود. زمان انتظار در این مورد می تواند ساعت ها و روزها باشد که همیشه قابل قبول نیست. بنابراین، سادگی خارجی DSS استاتیک، که اکثر مشتریان سیستم‌های اطلاعاتی و تحلیلی فعالانه برای آن مبارزه می‌کنند، به از دست دادن انعطاف‌پذیری فاجعه‌بار تبدیل می‌شود.



از سوی دیگر، DSS پویا بر روی پردازش درخواست‌های داده‌ای تحلیل‌گران تنظیم‌نشده (ad hoc) متمرکز است. عمیق ترین الزامات برای چنین سیستم هایی توسط E. F. Codd در مقاله ای در نظر گرفته شد که پایه و اساس مفهوم OLAP را ایجاد کرد. کار تحلیلگران با این سیستم ها شامل یک توالی تعاملی از ایجاد درخواست ها و مطالعه نتایج آنها است.

اما DSS پویا می تواند نه تنها در زمینه پردازش تحلیلی آنلاین (OLAP) عمل کند. پشتیبانی از تصمیم گیری های مدیریتی بر اساس داده های انباشته شده در سه حوزه اساسی قابل انجام است.

حوزه داده های تفصیلی این دامنه اکثر سیستم های بازیابی اطلاعات است. در بیشتر موارد، DBMS های رابطه ای کار بسیار خوبی برای مدیریت چالش هایی که در اینجا ایجاد می شود انجام می دهند. استاندارد عمومی پذیرفته شده برای زبان دستکاری داده های رابطه ای SQL است. سیستم‌های بازیابی اطلاعات که یک رابط کاربر نهایی را در وظایف جستجوی اطلاعات دقیق ارائه می‌کنند، می‌توانند به عنوان افزونه‌ها هم در پایگاه‌های داده جداگانه سیستم‌های تراکنش و هم در یک انبار داده مشترک استفاده شوند.

حوزه شاخص های تجمیع شده. دید جامع از اطلاعات جمع آوری شده در انبار داده، تعمیم و تجمیع آن، نمایش ابرمکعبی و تجزیه و تحلیل چند بعدی از وظایف سیستم های پردازش داده های تحلیلی آنلاین (OLAP) است. در اینجا می توانید بر روی DBMS های چند بعدی خاص تمرکز کنید یا در چارچوب فناوری های رابطه ای بمانید. در حالت دوم، داده های از پیش انباشته شده را می توان در یک پایگاه داده به شکل ستاره جمع آوری کرد، یا اطلاعات را می توان در فرآیند اسکن جداول دقیق یک پایگاه داده رابطه ای جمع آوری کرد.

حوزه قوانین. پردازش هوشمند با روش هایی انجام می شود تحلیل فکریداده ها (IAD، داده کاوی)، که وظایف اصلی آن جستجوی الگوهای عملکردی و منطقی در اطلاعات انباشته شده، ساخت مدل ها و قوانینی است که ناهنجاری های یافت شده را توضیح می دهد و / یا توسعه برخی از فرآیندها را پیش بینی می کند.

پردازش داده های تحلیلی آنلاین

مفهوم OLAP بر اساس اصل نمایش داده های چند بعدی است. در مقاله ای در سال 1993، E. F. Codd به کاستی های مدل رابطه ای پرداخت و در درجه اول به عدم امکان "ترکیب، مشاهده و تجزیه و تحلیل داده ها از نظر چند بعدی بودن، یعنی به قابل درک ترین روش برای تحلیلگران شرکتی" اشاره کرد و الزامات کلی را تعریف کرد. برای سیستم‌های OLAP که عملکرد DBMS رابطه‌ای را گسترش می‌دهند و تجزیه و تحلیل چند بعدی را به عنوان یکی از ویژگی‌های آن شامل می‌شوند.

طبقه بندی محصولات OLAP بر اساس نحوه ارائه داده ها.

در حال حاضر، تعداد زیادی از محصولات در بازار وجود دارد که عملکرد OLAP را به یک درجه یا درجه دیگر ارائه می دهند. حدود 30 مورد از معروفترین آنها در وب سرور مروری http://www.olapreport.com/ فهرست شده است. با ارائه یک نمای مفهومی چند بعدی از رابط کاربری تا پایگاه داده منبع، همه محصولات OLAP با توجه به نوع پایگاه داده منبع به سه کلاس تقسیم می شوند.

اولین سیستم های پردازش تحلیلی آنلاین (به عنوان مثال، Arbor Software's Essbase، Oracle's Oracle Express Server) MOLAP بودند، به این معنی که آنها فقط می توانستند با پایگاه داده های چند بعدی خود کار کنند. آنها مبتنی بر فناوری های اختصاصی برای DBMS چند بعدی هستند و گران ترین هستند. این سیستم ها یک چرخه کامل از پردازش OLAP را ارائه می دهند. آنها علاوه بر مؤلفه سرور، رابط مشتری یکپارچه خود را نیز شامل می شوند یا برای برقراری ارتباط با کاربر استفاده می کنند. برنامه های خارجیکار با صفحات گسترده برای نگهداری از چنین سیستم هایی، کارکنان ویژه ای برای نصب، نگهداری سیستم و تولید نمایش داده ها برای کاربران نهایی مورد نیاز است.

سیستم‌های پردازش تحلیلی داده‌های رابطه‌ای آنلاین (ROLAP) به شما این امکان را می‌دهند که داده‌های ذخیره‌شده در یک پایگاه‌داده رابطه‌ای را به شکلی چندبعدی نشان دهید و تبدیل اطلاعات را به یک مدل چند بعدی از طریق یک لایه فراداده میانی ارائه دهید. سیستم های ROLAP به خوبی برای کار با انبارهای بزرگ سازگار هستند. مانند سیستم‌های MOLAP، آنها نیازمند هزینه‌های نگهداری قابل توجهی توسط متخصصان فناوری اطلاعات هستند و حالت عملکرد چند کاربره را فراهم می‌کنند.

در نهایت، سیستم های هیبریدی (Hybrid OLAP، HOLAP) برای ترکیب مزایا و به حداقل رساندن معایب ذاتی کلاس های قبلی طراحی شده اند. Speedware's Media/MR متعلق به این کلاس است. به گفته توسعه دهندگان، انعطاف پذیری تحلیلی و سرعت پاسخ MOLAP را با دسترسی ثابت به داده های واقعی ذاتی در ROLAP ترکیب می کند.

OLAP چند بعدی (MOLAP)

در DBMS های تخصصی مبتنی بر نمایش داده های چند بعدی، داده ها نه به صورت جداول رابطه ای، بلکه در قالب آرایه های چند بعدی مرتب شده سازماندهی می شوند:

1) هایپرمکعب (همه سلول های ذخیره شده در پایگاه داده باید ابعاد یکسانی داشته باشند، یعنی در کامل ترین مبنای اندازه گیری باشند) یا

2) polycubes (هر متغیر با مجموعه ای از اندازه گیری های خود ذخیره می شود و تمام مشکلات پردازش مرتبط با آن به مکانیسم های داخلی سیستم منتقل می شود).

استفاده از پایگاه های داده چند بعدی در سیستم های پردازش تحلیلی آنلاین دارای مزایای زیر است.

در مورد استفاده از DBMS چند بعدی، جستجو و بازیابی داده‌ها بسیار سریع‌تر از یک نمای مفهومی چند بعدی از یک پایگاه داده رابطه‌ای است، زیرا یک پایگاه داده چند بعدی غیرعادی است، شامل معیارهای از پیش تجمیع‌شده است و دسترسی بهینه‌سازی شده به سلول‌های درخواستی را فراهم می‌کند.

DBMS چند بعدی به راحتی با وظایف گنجاندن در کنار می آید مدل اطلاعاتیتوابع داخلی مختلف، در حالی که محدودیت های عینی موجود در زبان SQL، اجرای این وظایف را بر اساس DBMS رابطه ای بسیار دشوار و گاهی غیرممکن می کند.

از سوی دیگر، محدودیت های قابل توجهی وجود دارد.

DBMS های چند بعدی به شما اجازه نمی دهند با پایگاه داده های بزرگ کار کنید. علاوه بر این، به دلیل غیرعادی سازی و تجمیع از پیش اجرا شده، حجم داده ها در یک پایگاه داده چند بعدی، به عنوان یک قاعده، با 2.5 تا 100 برابر کمتر از حجم داده های دقیق اصلی مطابقت دارد.

DBMS های چند بعدی در استفاده از حافظه خارجی در مقایسه با DBMS های رابطه ای بسیار ناکارآمد هستند. در اکثر موارد، هایپرمکعب اطلاعات بسیار پراکنده است و از آنجایی که داده ها به شکل مرتب ذخیره می شوند، مقادیر تهی را می توان تنها با انتخاب ترتیب مرتب سازی بهینه حذف کرد، که امکان سازماندهی داده ها را به بزرگترین پیوسته ممکن می دهد. گروه ها. اما حتی در این مورد، مشکل فقط تا حدی حل می شود. علاوه بر این، ترتیب بهینه مرتب سازی از نظر ذخیره داده های پراکنده احتمالاً ترتیبی نیست که بیشتر در پرس و جوها استفاده می شود. بنابراین، در سیستم های واقعی، باید بین سرعت و افزونگی فضای دیسک اشغال شده توسط پایگاه داده سازشی پیدا کرد.

بنابراین، استفاده از DBMS چند بعدی تنها در شرایط زیر قابل توجیه است.

مقدار داده های اولیه برای تجزیه و تحلیل خیلی زیاد نیست (بیش از چند گیگابایت)، یعنی سطح تجمع داده ها بسیار بالا است.

مجموعه ابعاد اطلاعات پایدار است (زیرا هر تغییری در ساختار آنها تقریباً همیشه نیاز به بازسازی کامل ابر مکعب دارد).

زمان پاسخگویی سیستم به درخواست‌های موقت حیاتی‌ترین پارامتر است.

این نیاز به استفاده گسترده از توابع داخلی پیچیده برای انجام محاسبات متقاطع بر روی سلول های ابرمکعب، از جمله توانایی نوشتن توابع سفارشی دارد.

OLAP رابطه ای (ROLAP)

استفاده مستقیم از پایگاه های داده رابطه ای در سیستم های پردازش تحلیلی آنلاین دارای مزایای زیر است.

در بیشتر موارد، انبارهای داده شرکتی با استفاده از DBMS رابطه ای پیاده سازی می شوند و ابزارهای ROLAP به شما امکان می دهند تا تحلیل را مستقیماً بر روی آنها انجام دهید. در عین حال، اندازه ذخیره سازی آنچنان پارامتر مهمی در مورد MOLAP نیست.

در مورد یک بعد متغیر مسئله، زمانی که تغییرات در ساختار ابعاد باید اغلب انجام شود، سیستم‌های ROLAP با نمایش ابعاد پویا راه‌حل بهینه هستند، زیرا چنین تغییراتی در آنها نیازی به سازماندهی مجدد فیزیکی پایگاه داده ندارند.

DBMS های رابطه ای سطح بسیار بالاتری از حفاظت از داده ها و قابلیت های کنترل دسترسی خوب را ارائه می دهند.

نقطه ضعف اصلی ROLAP در مقایسه با DBMS چند بعدی، عملکرد پایین تر است. برای دستیابی به عملکردی قابل مقایسه با MOLAP، سیستم‌های رابطه‌ای نیاز به طراحی دقیق طرح‌واره پایگاه داده و تنظیم نمایه‌ها دارند که تلاش زیادی از سوی DBAها انجام می‌شود. تنها هنگام استفاده از طرحواره های ستاره ای می توان عملکرد سیستم های رابطه ای تنظیم شده به خوبی به عملکرد سیستم های مبتنی بر پایگاه های داده چند بعدی نزدیک باشد.

تفاوت اصلی بین حقایق و اطلاعات این است که ما داده ها را دریافت و یادداشت می کنیم، اما می توانیم از اطلاعات به نفع خود استفاده کنیم. به طور کلی، اطلاعات تجزیه و تحلیل و داده های سیستماتیک می شوند. به لطف اطلاعات به موقع دریافت شده، بسیاری از شرکت ها موفق می شوند هم در شرایط بحران مالی و هم در مواجهه با رقابت شدید زنده بمانند. جمع آوری حقایق و داشتن تمام داده های لازم کافی نیست. هنوز باید بتوانید آنها را تجزیه و تحلیل کنید. برای تسهیل کار افرادی که برای تصمیم گیری های مهم تجاری فراخوانده شده اند، سیستم های پشتیبانی مختلفی توسعه داده شده است. برای این منظور است که سیستم های پیچیده مختلفی توسعه یافته اند که امکان تجزیه و تحلیل آرایه های بزرگ داده های ناهمگن و تبدیل آنها به اطلاعات مفید برای یک کاربر تجاری را فراهم می کند. حوزه نوظهور هوش تجاری با هدف افزایش کنترل فرآیندهای سیستم های تجاری، از طریق استفاده از انبار داده ها و فناوری است.

امروزه بازار سیستم‌های اطلاعات کسب‌وکار طیف متنوعی از راه‌حل‌ها را ارائه می‌دهد که به سازمان کمک می‌کند حسابداری مدیریت را سازماندهی کند، مدیریت عملیاتی تولید و فروش را تضمین کند، و به طور مؤثر با مشتریان و تامین‌کنندگان تعامل داشته باشد.

یک جایگاه جداگانه در بازار سیستم های تجاری توسط محصولات نرم افزاری تحلیلی که برای حمایت از تصمیم گیری در سطح استراتژیک مدیریت سازمانی طراحی شده اند، اشغال شده است. تفاوت اصلی بین این ابزارها و سیستم های مدیریت عملیاتی در این است که دومی مدیریت سازمانی را در "حالت عملکردی" یعنی اجرای یک برنامه تولیدی کاملاً تعریف شده ارائه می دهد، در حالی که سیستم های تحلیلی سطح استراتژیک به مدیریت سازمان کمک می کند تا توسعه یابد. تصمیمات در "حالت توسعه".

مقیاس تغییرات انجام شده ممکن است از تجدید ساختار عمیق تا تجدید جزئی فناوری ها در سایت های تولیدی متفاوت باشد، اما در هر صورت، تصمیم گیرندگان در حال بررسی جایگزین های توسعه ای هستند که سرنوشت شرکت را در دراز مدت تعیین می کند.

هر چقدر هم که سیستم اطلاعاتی یک بنگاه اقتصادی قدرتمند و توسعه یافته باشد، نمی تواند در حل این مسائل کمکی کند، اولاً به این دلیل که روی فرآیندهای تجاری ثابت و تثبیت شده تنظیم شده است و ثانیاً اطلاعاتی برای تصمیم گیری در مورد جدید ندارد و نمی تواند داشته باشد. حوزه های کسب و کار، فناوری های جدید، تصمیمات جدید سازمانی.

به لطف فناوری پردازش و تجزیه و تحلیل داده های OLAP (پردازش تحلیلی آنلاین)، هر سازمانی می تواند تقریباً بلافاصله (در عرض پنج ثانیه) داده های لازم برای کار را به دست آورد. OLAP را می توان به طور خلاصه با پنج کلمه کلیدی تعریف کرد.

FAST (سریع) - به این معنی که زمان جستجو و صدور اطلاعات لازم بیش از پنج ثانیه طول نمی کشد. ساده ترین درخواست ها در یک ثانیه پردازش می شوند و تنها چند درخواست پیچیده بیش از بیست ثانیه زمان پردازش دارند. برای دستیابی به این نتیجه، روش های مختلفی از اشکال خاص ذخیره سازی داده ها تا پیش محاسبات گسترده استفاده می شود. بنابراین، می توانید گزارشی را در یک دقیقه دریافت کنید، که قبلاً چند روز طول می کشید تا آماده شود.

ANALYSIS (تحلیلی) می گوید که سیستم می تواند هر تحلیلی را اعم از آماری و منطقی انجام دهد و سپس آن را به شکل قابل دسترس ذخیره می کند.

SHARED (اشتراک‌گذاری شده) به این معنی است که سیستم حریم خصوصی مورد نیاز را تا سطح سلول فراهم می‌کند

MULTIDIMENSIONAL (چند بعدی) - مشخصه اصلی OLAP است. این سیستم باید به طور کامل از سلسله مراتب و سلسله مراتب های متعدد پشتیبانی کند، زیرا این منطقی ترین راه برای تجزیه و تحلیل کسب و کار و فعالیت های سازمان ها است.

INFORMATION (اطلاعات). اطلاعات لازمباید به جایی که لازم است تحویل داده شود.

کار یک سازمان همیشه داده های مربوط به حوزه فعالیت هایش را جمع آوری می کند که گاه در مکان های کاملاً متفاوتی ذخیره می شوند و گردآوری آنها هم سخت و هم زمان بر است. فناوری پردازش داده های تحلیلی تعاملی یا OLAP به منظور تسریع در جمع آوری داده ها برای آزمایش فرضیه های تجاری در حال ظهور بود. هدف اصلی چنین سیستم های OLAP پاسخ سریع به درخواست های دلخواه کاربر است. چنین نیازی اغلب در طول توسعه برخی از پروژه های تجاری مهم ایجاد می شود، زمانی که توسعه دهنده به یک فرضیه کاری که به وجود آمده نیاز دارد. اغلب، اطلاعات مورد نیاز کاربر باید به شکل نوعی وابستگی ارائه شود - به عنوان مثال، میزان فروش چگونه به دسته محصول، منطقه فروش، فصل و غیره بستگی دارد. با تشکر از OLAP، او قادر است بلافاصله داده های لازم را در طرح مورد نظر برای دوره انتخاب شده به دست آورد.

فناوری تعاملی OLAP به شما این امکان را می‌دهد که انبوهی از گزارش‌ها و انبوه داده‌ها را به اطلاعات مفید و دقیق تبدیل کنید که به یک کارمند کمک می‌کند تا در زمان مناسب یک تصمیم تجاری یا مالی آگاهانه اتخاذ کند.

علاوه بر این، به لطف OLAP، کارایی پردازش افزایش می یابد و کاربر می تواند مقادیر زیادی از اطلاعات مرتب شده (تجمیع شده) را تقریباً بلافاصله دریافت کند. به لطف OLAP، کاربر می تواند به وضوح ببیند که سازمانش چقدر کارآمد کار می کند، توانایی واکنش سریع و انعطاف پذیر به تغییرات خارجی را دارد و توانایی به حداقل رساندن زیان های مالی سازمان خود را دارد. OLAP اطلاعات دقیقی را ارائه می دهد که تصمیم گیری را بهبود می بخشد.

تنها عیب سیستم های هوش تجاری هزینه بالای آنهاست. ایجاد انبار اطلاعات شخصی به زمان و هزینه زیادی نیاز دارد.

استفاده از فناوری OLAP در تجارت به شما امکان می دهد تا به سرعت اطلاعات لازم را به دست آورید که به درخواست کاربر می تواند به شکل معمول - گزارش ها، نمودارها یا جداول ارائه شود.

رویه های یکپارچه سازی سیستم ساختارهای تجاری مبتنی بر استفاده از راه حل های مشترک ERP، CRM و SCM است. در بسیاری از موارد، سیستم‌ها توسط تولیدکنندگان مختلف عرضه می‌شوند و داده‌های وارداتی باید از طریق فرآیند تطبیق داده‌ها و ارائه به‌عنوان داده‌های ناهمگن طی شود. در یک محیط کسب و کار، یک نیاز بدون ابهام فرض می شود - تجزیه و تحلیل کامل داده ها، که شامل مشاهده گزارش های تلفیقی از دیدگاه های مختلف است.

سازندگان مختلف مکانیسم های نمایش داده های متفاوتی دارند. روش ارائه ناهمگن شامل استخراج، تبدیل و بارگذاری (ETL) است. مثلا در مایکروسافت SQL Server 2005 Analysis Services، مشکل ادغام داده ها با استفاده از نماهای منبع داده - نماهای منبع داده که مدل های نمای تحلیلی را توصیف می کنند، پیاده سازی می شود.

برنامه های تجاری مبتنی بر فناوری های OLAP، نمونه هایی از محصولات. رایج ترین کاربردهای فناوری OLAP عبارتند از:

تحلیل داده ها.

وظیفه ای که ابزارهای OLAP در ابتدا برای آن استفاده می شد و هنوز هم محبوب ترین است. یک مدل داده چند بعدی، توانایی تجزیه و تحلیل حجم زیادی از داده ها، و پاسخ سریع به درخواست ها، چنین سیستم هایی را برای تجزیه و تحلیل فروش، فعالیت های بازاریابی، توزیع و سایر وظایف با حجم زیادی از داده های اولیه ضروری می کند.

نمونه های محصول: مایکروسافت اکسل Pivot Tables، Microsoft Analysis Services، SAP BW، Oracle Essbase، Oracle OLAP، Cognos PowerPlay، MicroStrategy، Business Objects.

برنامه ریزی مالی-بودجه.

یک مدل چند بعدی به شما این امکان را می دهد که همزمان داده ها را وارد کرده و به راحتی آنها را تجزیه و تحلیل کنید (مثلاً تحلیل واقعیت برنامه ریزی کنید). بنابراین، سریال محصولات مدرنکلاس های CPM (Corporate Performance Management) از مدل های OLAP% استفاده می کنند. یک کار مهم، محاسبه برگشتی چند بعدی (بازگشت، شکست، بازنویسی) است که به شما امکان می دهد تغییرات مورد نیاز در سلول های دقیق را هنگام تغییر مقدار جمع شده محاسبه کنید. این ابزاری برای تجزیه و تحلیل چه-اگر (چه-اگر) است، یعنی. برای پخش انواع مختلف رویدادها هنگام برنامه ریزی.

نمونه محصول: Microsoft PerformancePint، Oracle EPB، Oracle OFA، Oracle Hyperion Planning، SAP SEM، Cognos Enterprise Planning، Geac.

ادغام مالی

ادغام داده ها مطابق با استانداردهای حسابداری بین المللی، با در نظر گرفتن سهام مالکیت، ارزهای مختلف و گردش مالی داخلی، به دلیل تشدید الزامات سازمان های بازرسی (SOX، Basel II) و IPO شرکت ها، یک کار فوری است. فن آوری های OLAP امکان سرعت بخشیدن به محاسبه گزارش های تلفیقی و افزایش شفافیت کل فرآیند را فراهم می کند.

نمونه های محصول: Oracle FCH، Oracle Hyperion FM، Cognos Controller.

فن آوری های ذخیره سازی داده و پردازش تحلیلی آنلاین (OLAP).
عناصر مهم پشتیبانی از تصمیمات تجاری هستند که به طور فزاینده ای به بخشی جدایی ناپذیر از هر صنعت تبدیل می شوند. استفاده از فناوری های OLAP به عنوان ابزاری برای هوش تجاری، کنترل بیشتر و دسترسی به موقع به استراتژی را می دهد
اطلاعاتی که به تصمیم گیری موثر کمک می کند.
این فرصتی را برای مدل سازی پیش بینی های واقع بینانه و استفاده کارآمدتر از منابع فراهم می کند. OLAP سازمان را قادر می سازد تا سریعتر به تقاضاهای بازار پاسخ دهد.

کتابشناسی - فهرست کتب:

1. اریک تامسن. راه حل های OLAP: ساخت سیستم های اطلاعات چند بعدی ویرایش دوم. انتشارات کامپیوتری وایلی جان وایلی و پسران، شرکت، 2002.

2. کاغذ سفید شورای OLAP، http://www.olapcouncil.org/research/whtpaply.htm

3. گرد استام و برنهارد گانتر. تحلیل مفهومی رسمی _ مبانی ریاضی.

ارسال کار خوب خود در پایگاه دانش ساده است. از فرم زیر استفاده کنید

دانشجویان، دانشجویان تحصیلات تکمیلی، دانشمندان جوانی که از دانش پایه در تحصیل و کار خود استفاده می کنند از شما بسیار سپاسگزار خواهند بود.

نوشته شده در http://www.allbest.ru/

کار دوره

بر اساس رشته: پایگاه های داده

موضوع: فن آوریOLAP

تکمیل شد:

چیژیکوف الکساندر الکساندرویچ

مقدمه

1. طبقه بندی محصولات OLAP

2. سرویس گیرنده OLAP - سرور OLAP: جوانب مثبت و منفی

3. هسته سیستم OLAP

3.1 اصول ساخت و ساز

نتیجه

فهرست منابع استفاده شده

برنامه های کاربردی

ATهدایت

پیدا کردن در آن دشوار است دنیای کامپیوترشخصی که حداقل در سطح شهودی نمی‌دانست پایگاه‌های اطلاعاتی چیست و چرا به آنها نیاز است. برخلاف DBMS های رابطه ای سنتی، مفهوم OLAP به طور گسترده ای شناخته شده نیست، اگرچه اصطلاح رمزآلود "مکعب های OLAP" تقریباً توسط همه شنیده شده است. پردازش تحلیلی آنلاین چیست؟

OLAP یک محصول نرم افزار واحد، یک زبان برنامه نویسی و حتی یک فناوری خاص نیست. اگر می‌خواهید OLAP را در تمام جلوه‌های آن پوشش دهید، این مجموعه‌ای از مفاهیم، ​​اصول و الزامات است که زیربنای محصولات نرم‌افزاری است که دسترسی تحلیل‌گران به داده‌ها را آسان‌تر می‌کند. اگرچه به ندرت کسی با چنین تعریفی موافق نیست، اما تردید وجود دارد که غیرمتخصصان را یک ذره به درک موضوع نزدیکتر کند. بنابراین، در تمایل شما به دانش OLAP، بهتر است راه دیگری را طی کنید. ابتدا باید دریابید که چرا تحلیلگران باید به نحوی خاص دسترسی به داده ها را تسهیل کنند.

واقعیت این است که تحلیلگران مصرف کنندگان ویژه اطلاعات شرکت هستند. وظیفه یک تحلیلگر یافتن الگوها در مجموعه داده های بزرگ است. بنابراین، تحلیلگر به یک واقعیت توجه نخواهد کرد، او به اطلاعاتی در مورد صدها و هزاران رویداد نیاز دارد. به هر حال، یکی از نکات ضروری که منجر به پیدایش OLAP شد، بهره وری و کارایی است. بیایید تصور کنیم چه اتفاقی می افتد زمانی که یک تحلیلگر نیاز به دریافت اطلاعات دارد، و ابزارهای OLAP در سازمان در دسترس نیستند. تحلیلگر به طور مستقل (که بعید است) یا با کمک یک برنامه نویس یک پرس و جوی SQL مناسب انجام می دهد و داده های مورد علاقه را در قالب یک گزارش دریافت می کند یا آن را به یک صفحه گسترده صادر می کند. در این مورد مشکلات زیادی وجود دارد. اولاً، تحلیلگر مجبور است کاری غیر از شغل خود (برنامه نویسی SQL) انجام دهد یا منتظر بماند تا برنامه نویسان این وظیفه را برای او انجام دهند - همه اینها بر بهره وری نیروی کار تأثیر منفی می گذارد، میزان حمله قلبی و سکته مغزی را افزایش می دهد و غیره. ثانیاً، یک گزارش یا جدول واحد، به عنوان یک قاعده، غول های اندیشه و پدران تحلیل روسی را نجات نمی دهد - و کل رویه باید بارها و بارها تکرار شود. ثالثاً ، همانطور که قبلاً فهمیدیم ، تحلیلگران چیزهای بی اهمیت نمی خواهند - آنها به همه چیز نیاز دارند. این بدان معناست که (اگرچه فناوری با جهش در حال پیشرفت است) که سرور پایگاه داده رابطه ای سازمانی که تحلیلگر به آن دسترسی دارد می تواند عمیقاً و برای مدت طولانی فکر کند و بقیه تراکنش ها را مسدود کند.

مفهوم OLAP دقیقاً برای وضوح ظاهر شد مشکلات مشابه. مکعب های OLAP اساساً گزارش های متا هستند. با برش متاگزارش ها (مکعب ها) بر اساس ابعاد، تحلیلگر در واقع گزارش های دو بعدی "معمولی" مورد علاقه خود را دریافت می کند (اینها لزوماً گزارش ها به معنای معمول کلمه نیستند - ما در مورد ساختارهای داده صحبت می کنیم. با همان عملکردها). مزایای مکعب ها آشکار است - هنگام ساخت یک مکعب، داده ها باید از یک DBMS رابطه ای فقط یک بار درخواست شوند. از آنجایی که معمولاً تحلیلگران با اطلاعاتی که در حال تکمیل و تغییر هستند کار نمی کنند، مکعب تولید شده برای مدت طولانی مرتبط است. به لطف این، وقفه در عملکرد سرور DBMS رابطه ای نه تنها حذف می شود (هیچ پرس و جو با هزاران و میلیون ها خط پاسخ وجود ندارد)، بلکه سرعت دسترسی به داده ها برای خود تحلیلگر نیز به طرز چشمگیری افزایش می یابد. علاوه بر این، همانطور که قبلا ذکر شد، عملکرد نیز با محاسبه زیرمجموعه سلسله مراتب و سایر مقادیر انباشته در زمان ساخت مکعب بهبود می یابد.

البته برای افزایش بهره وری باید از این طریق هزینه پرداخت کنید. گاهی اوقات گفته می شود که ساختار داده به سادگی "منفجر می شود" - یک مکعب OLAP می تواند ده ها یا حتی صدها برابر بیشتر از داده های اصلی فضای اشغال کند.

اکنون که کمی در مورد نحوه عملکرد OLAP و خدمات آن فهمیدیم، با این وجود، ارزش آن را دارد که دانش خود را تا حدودی رسمی کنیم و معیارهای OLAP را بدون ترجمه همزمان به زبان عادی انسانی ارائه کنیم. این معیارها (در مجموع 12) در سال 1993 توسط E.F. Codd - خالق مفهوم DBMS رابطه ای و همزمان OLAP. ما آنها را مستقیماً در نظر نخواهیم گرفت، زیرا آنها بعداً در آزمون به اصطلاح FASMI، که الزامات محصولات OLAP را تعریف می کند، دوباره کار شدند. FASMI مخفف نام هر مورد آزمایشی است:

سریع (سریع).این ویژگی به این معنی است که سیستم باید به طور متوسط ​​در پنج ثانیه به درخواست کاربر پاسخ دهد. با این حال، اکثر درخواست‌ها در عرض یک ثانیه پردازش می‌شوند و پیچیده‌ترین درخواست‌ها باید در عرض بیست ثانیه پردازش شوند. مطالعات اخیر نشان داده است که اگر درخواست بیش از سی ثانیه طول بکشد، کاربر شروع به شک در موفقیت آن می کند.

تحلیل (تحلیلی).این سیستم باید بتواند هر گونه تحلیل منطقی و آماری را که مختص کاربردهای تجاری است انجام دهد و اطمینان حاصل کند که نتایج به شکلی در دسترس کاربر نهایی ذخیره می شود. ابزارهای تحلیل ممکن است شامل رویه هایی برای تجزیه و تحلیل سری های زمانی، تخصیص هزینه، تبدیل ارز، مدل سازی تغییرات در ساختارهای سازمانی و برخی موارد دیگر باشد.

به اشتراک گذاشته شده (به اشتراک گذاشته شده).این سیستم باید فرصت های کافی برای محدود کردن دسترسی به داده ها و کار همزمان بسیاری از کاربران را فراهم کند.

چند بعدی (چند بعدی).این سیستم باید یک نمایش مفهومی چند بعدی از داده ها، از جمله ارائه دهد حمایت کاملسلسله مراتب چندگانه

اطلاعات (اطلاعات).قدرت محصولات نرم افزاری مختلف با مقدار داده های ورودی پردازش شده مشخص می شود. سیستم‌های مختلف OLAP ظرفیت‌های متفاوتی دارند: راه‌حل‌های پیشرفته OLAP می‌توانند حداقل هزار برابر بیشتر از کوچک‌ترین داده‌ها را مدیریت کنند. هنگام انتخاب یک ابزار OLAP، عوامل مختلفی باید در نظر گرفته شود، از جمله تکرار داده ها، رم مورد نیاز، استفاده از فضای دیسک، عملکرد، ادغام با فروشگاه های اطلاعات و غیره.

1. طبقه بندی محصولات OLAP

بنابراین، ماهیت OLAP در این واقعیت نهفته است که اطلاعات اولیه برای تجزیه و تحلیل در قالب یک مکعب چند بعدی ارائه می شود و امکان دستکاری خودسرانه آن و به دست آوردن بخش های اطلاعاتی لازم - گزارش ها وجود دارد. در عین حال، کاربر نهایی مکعب را به عنوان یک جدول پویا چند بعدی می بیند که به طور خودکار داده ها (واقعیت ها) را در بخش های مختلف (ابعاد) خلاصه می کند و به شما امکان می دهد محاسبات و فرم گزارش را به صورت تعاملی مدیریت کنید. این عملیات توسط موتور OLAP (یا موتور محاسباتی OLAP) ارائه می شود.

تا به امروز محصولات زیادی در دنیا تولید شده اند که فناوری های OLAP را پیاده سازی می کنند. برای آسان‌تر کردن پیمایش در میان آنها، از طبقه‌بندی محصولات OLAP استفاده می‌شود: با روش ذخیره داده‌ها برای تجزیه و تحلیل و مکان دستگاه OLAP. بیایید نگاهی دقیق تر به هر دسته از محصولات OLAP بیندازیم.

من با یک طبقه بندی از طریق نحوه ذخیره داده ها شروع می کنم. اجازه دهید به شما یادآوری کنم که مکعب های چند بعدی بر اساس داده های منبع و کل ساخته می شوند. هم داده های منبع و هم داده های انبوه برای مکعب ها را می توان در هر دو پایگاه داده رابطه ای و چند بعدی ذخیره کرد. بنابراین، در حال حاضر از سه روش ذخیره سازی داده ها استفاده می شود: MOLAP (OLAP چند بعدی)، ROLAP (OLAP رابطه ای) و HOLAP (OLAP ترکیبی). بر این اساس، محصولات OLAP با توجه به روش ذخیره سازی داده ها به سه دسته مشابه تقسیم می شوند:

1. در مورد MOLAP، منبع و داده های انبوه در یک پایگاه داده چند بعدی یا در یک مکعب محلی چند بعدی ذخیره می شوند.

2. در محصولات ROLAP، داده های منبع در پایگاه داده های رابطه ای یا در جداول محلی مسطح در یک سرور فایل ذخیره می شوند. داده های انبوه را می توان در جداول سرویس در همان پایگاه داده قرار داد. تبدیل داده ها از یک پایگاه داده رابطه ای به مکعب های چند بعدی به درخواست یک ابزار OLAP رخ می دهد.

3. در مورد استفاده از معماری HOLAP، داده های منبع در پایگاه داده رابطه ای باقی می مانند، در حالی که تجمیع ها در پایگاه داده چند بعدی قرار می گیرند. یک مکعب OLAP به درخواست ابزار OLAP بر اساس داده های رابطه ای و چند بعدی ساخته می شود.

طبقه بندی بعدی بر اساس موقعیت مکانی دستگاه OLAP است. بر این اساس، محصولات OLAP به سرورهای OLAP و مشتریان OLAP تقسیم می شوند:

در ابزارهای OLAP سرور، محاسبات و ذخیره سازی داده های کل توسط یک فرآیند جداگانه - سرور انجام می شود. برنامه سرویس گیرنده فقط نتایج پرس و جوها را در برابر مکعب های چند بعدی که در سرور ذخیره می شوند دریافت می کند. برخی از سرورهای OLAP فقط از پایگاه داده های رابطه ای پشتیبانی می کنند، برخی فقط پایگاه داده های چند بعدی. بسیاری از سرورهای مدرن OLAP از هر سه روش ذخیره سازی داده پشتیبانی می کنند: MOLAP، ROLAP و HOLAP.

کلاینت OLAP متفاوت طراحی شده است. مکعب سازی چند بعدی و محاسبات OLAP در حافظه کامپیوتر مشتری انجام می شود. مشتریان OLAP نیز به ROLAP و MOLAP تقسیم می شوند. و برخی ممکن است از هر دو گزینه دسترسی به داده پشتیبانی کنند.

هر یک از این رویکردها مزایا و معایب خود را دارند. برخلاف تصور رایج در مورد مزایای ابزارهای سرور نسبت به ابزارهای مشتری، در تعدادی از موارد، استفاده از کلاینت OLAP برای کاربران می تواند کارآمدتر و سودآورتر از استفاده از سرور OLAP باشد.

2. سرویس گیرنده OLAP - سرور OLAP: جوانب مثبت و منفی

هنگام ساخت یک سیستم اطلاعاتی، عملکرد OLAP می تواند توسط ابزارهای OLAP سرور و سرویس گیرنده پیاده سازی شود. در عمل، انتخاب نتیجه سازش بین عملکرد و هزینه نرم افزار است.

مقدار داده ها با ترکیبی از ویژگی های زیر تعیین می شود: تعداد رکوردها، تعداد ابعاد، تعداد عناصر بعد، طول ابعاد و تعداد واقعیات. مشخص است که یک سرور OLAP می تواند مقادیر بیشتری از داده ها را نسبت به یک کلاینت OLAP با قدرت کامپیوتری برابر پردازش کند. این به این دلیل است که سرور OLAP یک پایگاه داده چند بعدی را روی هارد دیسک ذخیره می کند که حاوی مکعب های از پیش محاسبه شده است.

برنامه های سرویس گیرنده در زمان انجام عملیات OLAP، پرس و جوها را بر روی آن به زبانی شبیه SQL اجرا می کنند و نه کل مکعب، بلکه قطعات نمایش داده شده آن را دریافت می کنند. مشتری OLAP در زمان کار باید داشته باشد حافظه دسترسی تصادفیکل مکعب در مورد معماری ROLAP، کل آرایه داده مورد استفاده برای محاسبه مکعب ابتدا باید در حافظه بارگذاری شود. همچنین، با افزایش تعداد ابعاد، حقایق یا اعضای بعد، تعداد تجمعات به طور تصاعدی افزایش می یابد. بنابراین، مقدار داده های پردازش شده توسط مشتری OLAP مستقیماً به مقدار RAM رایانه شخصی کاربر بستگی دارد.

البته توجه داشته باشید که اکثر مشتریان OLAP محاسبات توزیع شده را ارائه می دهند. بنابراین، تعداد رکوردهای پردازش شده، که کار ابزار OLAP مشتری را محدود می کند، نه به عنوان حجم داده های اولیه پایگاه داده شرکت، بلکه به عنوان اندازه نمونه جمع آوری شده از آن درک می شود. مشتری OLAP یک پرس و جو برای DBMS ایجاد می کند که شرایط فیلتر و الگوریتم گروه بندی اولیه داده های اولیه را توصیف می کند. سرور، رکوردها را می یابد، گروه بندی می کند و یک انتخاب فشرده را برای محاسبات OLAP بیشتر برمی گرداند. اندازه این نمونه می تواند ده ها و صدها بار کوچکتر از حجم رکوردهای اولیه و غیر انباشته باشد. در نتیجه، نیاز به چنین مشتری OLAP در منابع رایانه شخصی به طور قابل توجهی کاهش می یابد.

علاوه بر این، تعداد ابعاد با امکانات ادراک انسان محدود می شود. مشخص است که یک فرد متوسط ​​می تواند به طور همزمان 3-4، حداکثر 8 بعد را عمل کند. با تعداد بیشتر ابعاد در جدول پویا، درک اطلاعات به طور قابل توجهی دشوارتر است. این عامل باید در هنگام پیش محاسبه RAM مورد نیاز یک کلاینت OLAP در نظر گرفته شود.

طول ابعاد همچنین بر اندازه فضای آدرس ابزار OLAP که هنگام محاسبه مکعب OLAP استفاده می شود، تأثیر می گذارد. هرچه ابعاد طولانی تر باشد، منابع بیشتری برای از پیش مرتب کردن یک آرایه چند بعدی مورد نیاز است و بالعکس. تنها اندازه‌گیری‌های کوتاه در داده‌های منبع، استدلال دیگری به نفع مشتری OLAP است.

این ویژگی توسط دو عامل مورد بحث در بالا تعیین می شود: میزان داده های در حال پردازش و قدرت رایانه ها. با افزایش تعداد مثلاً ابعاد، عملکرد همه ابزارهای OLAP به دلیل افزایش قابل توجه تعداد دانه ها کاهش می یابد، اما در عین حال میزان کاهش نیز متفاوت است. بیایید این وابستگی را به نمودار نشان دهیم.

نمودار 1. وابستگی عملکرد ابزارهای OLAP مشتری و سرور به رشد داده ها

ویژگی های عملکرد یک سرور OLAP نسبت به رشد داده ها حساسیت کمتری دارد. این به دلیل فن آوری های مختلف برای پردازش درخواست های کاربر توسط سرور OLAP و مشتری OLAP است. به عنوان مثال، در حین عملیات مته، سرور OLAP به داده های ذخیره شده دسترسی پیدا می کند و داده های این "شاخه" را "کشش" می کند. از طرف دیگر، کلاینت OLAP، کل مجموعه مجموعه ها را در زمان بارگذاری محاسبه می کند. با این حال، تا مقدار معینی از داده ها، عملکرد ابزارهای سرور و مشتری قابل مقایسه است. برای مشتریان OLAP که از محاسبات توزیع شده پشتیبانی می کنند، حوزه مقایسه عملکرد می تواند به حجم داده هایی گسترش یابد که نیازهای تحلیل OLAP تعداد زیادی از کاربران را پوشش می دهد. این توسط نتایج آزمایش داخلی سرور MS OLAP و مشتری OLAP "Contour Standard" تأیید شده است. این آزمایش بر روی رایانه شخصی IBM Pentium Celeron با فرکانس 400 مگاهرتز، 256 مگابایت برای نمونه ای از 1 میلیون رکورد منحصر به فرد (یعنی تجمیع شده) با 7 بعد شامل 10 تا 70 عضو انجام شد. زمان بارگذاری مکعب در هر دو حالت از 1 ثانیه بیشتر نمی شود و اجرای عملیات های مختلف OLAP (دریل کردن، سوراخ کردن، حرکت، فیلتر و ...) در صدم ثانیه انجام می شود.

هنگامی که اندازه نمونه از مقدار RAM بیشتر شود، تعویض با دیسک آغاز می شود و عملکرد مشتری OLAP به شدت کاهش می یابد. فقط از این مرحله به بعد می توانیم در مورد مزیت سرور OLAP صحبت کنیم.

باید به خاطر داشت که "نقطه شکست" مرز افزایش شدید هزینه راه حل OLAP را مشخص می کند. برای وظایف هر کاربر خاص، این نقطه به راحتی توسط تست های عملکرد مشتری OLAP تعیین می شود. چنین تست هایی را می توان از شرکت توسعه دهنده دریافت کرد.

علاوه بر این، هزینه راه حل OLAP سمت سرور با افزایش تعداد کاربران افزایش می یابد. واقعیت این است که سرور OLAP محاسبات را برای همه کاربران در یک رایانه انجام می دهد. بر این اساس، هر چه تعداد کاربران بیشتر باشد، رم و قدرت پردازنده بیشتر می شود. بنابراین، اگر حجم داده‌های پردازش‌شده در حوزه عملکرد قابل مقایسه سیستم‌های سرور و کلاینت باشد، در آن صورت، با برابری سایر موارد، استفاده از یک کلاینت OLAP سودآورتر خواهد بود.

استفاده از سرور OLAP در ایدئولوژی "کلاسیک" شامل بارگذاری داده ها از DBMS های رابطه ای به یک پایگاه داده چند بعدی است. آپلود برای یک دوره مشخص انجام می شود، بنابراین داده های سرور OLAP وضعیت را در لحظه فعلی منعکس نمی کند. فقط آن دسته از سرورهای OLAP که از حالت عملکرد ROLAP پشتیبانی می کنند از این نقص محروم هستند.

به طور مشابه، تعدادی از کلاینت های OLAP به معماری های ROLAP و Desktop با دسترسی مستقیم به پایگاه داده اجازه می دهند. این تجزیه و تحلیل آنلاین داده های اولیه را فراهم می کند.

سرور OLAP حداقل الزامات را در مورد ظرفیت پایانه های مشتری اعمال می کند. به طور عینی، الزامات مشتری OLAP بیشتر است، زیرا محاسبات را در RAM رایانه شخصی کاربر انجام می دهد. وضعیت ناوگان سخت افزاری یک سازمان خاص یک عامل حیاتی است که باید هنگام انتخاب ابزار OLAP در نظر گرفت. اما مزایا و معایب خود را نیز دارد. سرور OLAP از قدرت پردازشی عظیم رایانه های شخصی امروزی استفاده نمی کند. اگر سازمانی قبلاً ناوگان رایانه های شخصی مدرن داشته باشد، استفاده از آنها فقط به عنوان پایانه های نمایشگر ناکارآمد است و در عین حال هزینه های اضافی را برای سرور مرکزی متحمل می شود.

اگر قدرت رایانه‌های کاربران «خیلی به دلخواه باقی بماند»، کلاینت OLAP به کندی اجرا می‌شود یا اصلاً کار نمی‌کند. خرید یک سرور قدرتمند می تواند ارزان تر از ارتقاء همه رایانه های شخصی باشد.

در اینجا مفید است که روند توسعه سخت افزار را در نظر بگیریم. از آنجایی که مقدار داده برای تجزیه و تحلیل عملاً ثابت است، رشد مداوم در قدرت رایانه شخصی منجر به گسترش قابلیت های مشتریان OLAP و جابجایی سرورهای OLAP به بخش پایگاه های داده بسیار بزرگ می شود.

هنگام استفاده از سرور OLAP، فقط داده های نمایش داده شده از طریق شبکه به کامپیوتر مشتری ارسال می شود، در حالی که سرویس گیرنده OLAP تمام داده های نمونه اولیه را دریافت می کند.

بنابراین، در جایی که از یک کلاینت OLAP استفاده می شود، ترافیک شبکهبالاتر خواهد بود.

اما، هنگام استفاده از یک سرور OLAP، عملیات کاربر، به عنوان مثال، حفاری کردن، ایجاد پرس و جوهای جدید به یک پایگاه داده چند بعدی، و بنابراین، انتقال داده جدید. اجرای عملیات OLAP توسط کلاینت OLAP در RAM انجام می شود و بر این اساس باعث ایجاد جریان داده های جدیدی در شبکه نمی شود.

همچنین لازم به ذکر است که شبکه مدرن سخت افزارسطح بالایی از توان عملیاتی را فراهم می کند.

بنابراین، در اکثریت قریب به اتفاق موارد، تجزیه و تحلیل یک پایگاه داده با اندازه های "متوسط" با استفاده از یک کلاینت OLAP، کار کاربر را کند نمی کند.

هزینه سرور OLAP بسیار بالاست. این همچنین باید شامل هزینه یک کامپیوتر اختصاصی و هزینه های ثابت مدیریت یک پایگاه داده چند بعدی باشد. علاوه بر این، پیاده سازی و نگهداری از سرور OLAP به صلاحیت های کافی از کارکنان نیاز دارد.

هزینه یک کلاینت OLAP یک مرتبه کمتر از هزینه یک سرور OLAP است. مدیریت و تجهیزات فنی اضافی برای سرور مورد نیاز نیست. هیچ الزامات بالایی برای صلاحیت پرسنل هنگام اجرای یک مشتری OLAP وجود ندارد. یک کلاینت OLAP می تواند بسیار سریعتر از یک سرور OLAP مستقر شود.

توسعه برنامه های تحلیلی با استفاده از ابزارهای OLAP مشتری یک فرآیند سریع است که نیازی به آموزش خاصی از مجری ندارد. کاربری که پیاده سازی فیزیکی پایگاه داده را می داند می تواند به تنهایی یک برنامه تحلیلی را بدون دخالت متخصص فناوری اطلاعات توسعه دهد. هنگام استفاده از سرور OLAP، باید 2 را یاد بگیرید سیستم های مختلف، گاهی اوقات از فروشندگان مختلف، برای ایجاد مکعب در سرور، و توسعه یک برنامه مشتری. مشتری OLAP یک رابط بصری واحد برای توصیف مکعب ها و سفارشی کردن رابط های کاربری برای آنها فراهم می کند.

فرآیند ایجاد یک برنامه OLAP با استفاده از ابزار مشتری را در نظر بگیرید.

نمودار 2: یک برنامه OLAP با استفاده از ابزار مشتری ROLAP ایجاد کنید

اصل عملکرد مشتریان ROLAP یک توصیف اولیه از لایه معنایی است که ساختار فیزیکی داده های منبع در پشت آن پنهان شده است. در این مورد، منابع داده می توانند عبارتند از: جداول محلی، RDBMS. لیست منابع داده پشتیبانی شده توسط محصول نرم افزاری خاص تعیین می شود. پس از آن، کاربر می تواند به طور مستقل اشیایی را که از نظر منطقه موضوعی درک می کند دستکاری کند تا مکعب ها و رابط های تحلیلی ایجاد کند.

اصل عملکرد مشتری سرور OLAP متفاوت است. در سرور OLAP، هنگام ایجاد مکعب، کاربر توضیحات فیزیکی پایگاه داده را دستکاری می کند.

این باعث ایجاد توضیحات سفارشی در خود مکعب می شود. کلاینت سرور OLAP فقط برای مکعب پیکربندی شده است.

بیایید توضیح دهیم که مشتری ROLAP چگونه با استفاده از مثال ایجاد یک گزارش فروش پویا کار می کند (شکل 2 را ببینید). اجازه دهید داده های اولیه برای تجزیه و تحلیل در دو جدول ذخیره شود: فروش و معامله.

هنگام ایجاد یک لایه معنایی، منابع داده - جداول فروش و معامله - با عباراتی قابل درک برای کاربر نهایی توصیف می شوند و به "محصولات" و "معاملات" تبدیل می شوند. فیلد «ID» از جدول «محصولات» به «کد» و «نام» به «محصول» و غیره تغییر نام می‌یابد.

سپس یک شیء تجاری فروش ایجاد می شود. یک شی تجاری یک میز صاف است که بر اساس آن یک مکعب چند بعدی تشکیل می شود. هنگام ایجاد یک شیء تجاری، جداول "محصولات" و "معاملات" با فیلد "کد" محصول ترکیب می شوند. از آنجایی که گزارش نیازی به نمایش تمام فیلدها در جداول ندارد، شی کسب و کار فقط از فیلدهای Item، Date و Amount استفاده می کند.

در مرحله بعد، یک گزارش OLAP بر اساس شی کسب و کار ایجاد می شود. کاربر یک شی تجاری را انتخاب می کند و ویژگی های آن را به قسمت ستون ها یا ردیف های جدول گزارش می کشد. در مثال ما، بر اساس شی تجاری "فروش"، گزارشی در مورد فروش کالاها بر اساس ماه ایجاد شد.

هنگام کار با یک گزارش تعاملی، کاربر می تواند شرایط فیلتر و گروه بندی را با همان حرکات ساده ماوس تنظیم کند. در این مرحله، مشتری ROLAP به داده های موجود در حافظه پنهان دسترسی پیدا می کند. مشتری سرور OLAP یک پرس و جو جدید برای پایگاه داده چند بعدی ایجاد می کند. به عنوان مثال با اعمال فیلتر محصول در گزارش فروش می توانید گزارشی از فروش محصولات مورد علاقه ما دریافت کنید.

تمام تنظیمات یک برنامه OLAP را می توان در یک مخزن متادیتا اختصاصی، در یک برنامه کاربردی یا در یک مخزن سیستم پایگاه داده چند بعدی ذخیره کرد. پیاده سازی بستگی به محصول نرم افزاری خاص دارد.

بنابراین، در چه مواردی استفاده از کلاینت OLAP برای کاربران می تواند کارآمدتر و سودمندتر از استفاده از سرور OLAP باشد؟

امکان سنجی اقتصادی استفاده از سرور OLAP زمانی به وجود می آید که حجم داده برای یک کلاینت OLAP بسیار زیاد و غیرقابل تحمل باشد، در غیر این صورت استفاده از دومی توجیه بیشتری دارد. در این مورد، مشتری OLAP عملکرد بالا و هزینه کم را ترکیب می کند.

رایانه های شخصی تحلیلگران قدرتمند استدلال دیگری به نفع مشتریان OLAP است. هنگام استفاده از سرور OLAP، از این ظرفیت ها استفاده نمی شود. سایر مزایای مشتریان OLAP عبارتند از:

هزینه پیاده سازی و نگهداری کلاینت OLAP به طور قابل توجهی کمتر از هزینه سرور OLAP است.

هنگام استفاده از یک کلاینت OLAP با یک ماشین جاسازی شده، انتقال داده از طریق شبکه یک بار انجام می شود. هنگام انجام عملیات OLAP، هیچ جریان داده جدیدی تولید نمی شود.

راه اندازی کلاینت های ROLAP با حذف پیوند میانی - ایجاد یک پایگاه داده چند بعدی ساده می شود.

3. هسته سیستم OLAP

3.1 اصول ساخت و ساز

داده های اصلی مشتری برنامه

با توجه به آنچه قبلاً گفته شد، واضح است که مکانیسم OLAP یکی از محبوب ترین روش های تجزیه و تحلیل داده های امروزی است. دو رویکرد اصلی برای حل این مشکل وجود دارد. اولین آنها OLAP چند بعدی (MOLAP) نامیده می شود - اجرای مکانیزم با استفاده از یک پایگاه داده چند بعدی در سمت سرور، و دومی OLAP رابطه ای (ROLAP) - ساخت مکعب ها بر اساس پرس و جوهای SQL به یک DBMS رابطه ای. هر یک از این رویکردها مزایا و معایب خود را دارند. تحلیل تطبیقی ​​آنها از حوصله این کار خارج است. فقط اجرای اصلی ماژول ROLAP دسکتاپ در اینجا توضیح داده خواهد شد.

چنین کاری پس از استفاده از سیستم ROLAP، ساخته شده بر اساس اجزای مکعب تصمیم که بخشی از Borland Delphi هستند، بوجود آمد. متأسفانه، استفاده از این مجموعه از مؤلفه ها عملکرد ضعیفی را در حجم زیادی از داده ها نشان داد. این مشکل را می توان با تلاش برای قطع هرچه بیشتر داده ها قبل از ارسال آن به ساخت مکعب کاهش داد. اما این همیشه کافی نیست.

در اینترنت و مطبوعات، می توانید اطلاعات زیادی در مورد سیستم های OLAP بیابید، اما تقریباً هیچ کجا در مورد نحوه عملکرد آن در داخل گفته نشده است.

طرح کار:

طرح کلی سیستم OLAP دسکتاپ را می توان به صورت زیر نشان داد:

طرح 3. کار یک سیستم OLAP رومیزی

الگوریتم کار به شرح زیر است:

1. به دست آوردن داده ها در قالب یک جدول مسطح یا نتیجه اجرای SQLدرخواست.

2. ذخیره داده ها و تبدیل آنها به یک مکعب چند بعدی.

3. نمایش مکعب ساخته شده با استفاده از تب متقاطع یا نمودار و غیره. به طور کلی، تعداد دلخواه نگاشت را می توان به یک مکعب متصل کرد.

در نظر بگیرید که چگونه می توان چنین سیستمی را به صورت داخلی ترتیب داد. بیایید از سمتی شروع کنیم که می توانید ببینید و احساس کنید، یعنی از نقشه برداری ها. نمایشگرهای مورد استفاده در سیستم های OLAP اغلب دو نوع هستند - جداول متقاطع و نمودارها. یک crosstab را در نظر بگیرید، که اصلی ترین و رایج ترین راه برای نمایش یک مکعب است.

در شکل زیر، سطرها و ستون‌های حاوی نتایج جمع‌آوری شده با رنگ زرد، سلول‌های حاوی حقایق با خاکستری روشن و سلول‌های حاوی داده‌های ابعاد با خاکستری تیره مشخص شده‌اند.

بنابراین، جدول را می توان به عناصر زیر تقسیم کرد که در آینده با آنها کار خواهیم کرد:

با پر کردن ماتریس با حقایق، باید به صورت زیر عمل کنیم:

بر اساس داده های اندازه گیری، مختصات عنصر اضافه شده در ماتریس را تعیین کنید.

مختصات ستون ها و ردیف های مجموع متاثر از عنصر اضافه شده را تعیین کنید.

یک عنصر را به ماتریس و ستون ها و ردیف های مجموع مربوطه اضافه کنید.

در عین حال، باید توجه داشت که ماتریس حاصل بسیار پراکنده خواهد بود، چرا سازماندهی آن به شکل آرایه دو بعدی(نوعی که روی سطح قرار دارد) نه تنها غیرمنطقی است، بلکه به احتمال زیاد به دلیل ابعاد بزرگ این ماتریس غیرممکن است که هیچ مقدار RAM برای ذخیره آن کافی نیست. به عنوان مثال، اگر مکعب ما حاوی اطلاعات فروش برای یک سال باشد، و اگر فقط 3 بعد داشته باشد - مشتریان (250)، محصولات (500) و تاریخ (365)، ماتریسی از حقایق با ابعاد زیر دریافت خواهیم کرد: از عناصر = 250 x 500 x 365 = 45,625,000. و این با وجود این واقعیت است که تنها چند هزار عنصر پر شده در ماتریس وجود دارد. علاوه بر این، هرچه تعداد ابعاد بیشتر باشد، ماتریس پراکنده تر خواهد بود.

بنابراین برای کار با این ماتریس باید مکانیسم های خاصی را برای کار با ماتریس های پراکنده اعمال کنید. گزینه های مختلفی برای سازماندهی یک ماتریس پراکنده امکان پذیر است. آنها در ادبیات برنامه نویسی به خوبی مستند شده اند، مانند جلد اول کتاب کلاسیک دونالد کنوت، هنر برنامه نویسی.

اکنون بیایید در نظر بگیریم که چگونه می توانیم مختصات یک واقعیت را با دانستن ابعاد مربوط به آن تعیین کنیم. برای انجام این کار، بیایید نگاهی دقیق‌تر به ساختار هدر بیندازیم:

در این صورت می توانید به راحتی راهی برای تعیین تعداد سلول مربوطه و مجموع هایی که در آن قرار می گیرد پیدا کنید. چندین رویکرد را می توان در اینجا پیشنهاد کرد. یکی استفاده از درخت برای یافتن سلول های منطبق است. این درخت را می توان با عبور از نمونه ساخت. علاوه بر این، یک فرمول بازگشتی تحلیلی را می توان به راحتی برای محاسبه مختصات مورد نیاز تعریف کرد.

داده های ذخیره شده در جدول برای استفاده باید تبدیل شوند. بنابراین، به منظور بهبود عملکرد هنگام ساخت یک هایپرمکعب، یافتن عناصر منحصر به فرد ذخیره شده در ستون هایی که ابعاد مکعب هستند، مطلوب است. علاوه بر این، می‌توانید حقایق را برای رکوردهایی که دارای ابعاد یکسان هستند، از قبل جمع‌آوری کنید. همانطور که در بالا ذکر شد، مقادیر منحصر به فرد موجود در فیلدهای ابعاد برای ما مهم هستند. سپس ساختار زیر را می توان برای ذخیره آنها پیشنهاد کرد:

طرح 4. ساختار برای ذخیره مقادیر منحصر به فرد

با استفاده از این ساختار نیاز به حافظه را به میزان قابل توجهی کاهش می دهیم. که کاملا مرتبط است، زیرا. برای افزایش سرعت کار، ذخیره داده ها در رم مطلوب است. علاوه بر این، شما فقط می توانید یک آرایه از عناصر را ذخیره کنید، و مقادیر آنها را در دیسک آپلود کنید، زیرا ما فقط در هنگام نمایش crosstab به آنها نیاز خواهیم داشت.

ایده هایی که در بالا توضیح داده شد، مبنایی برای ایجاد کتابخانه مؤلفه CubeBase بود.

طرح 5. ساختار کتابخانه اجزای CubeBase

TСubeSource ذخیره سازی و تبدیل داده ها را به فرمت داخلی و همچنین جمع آوری اولیه داده ها انجام می دهد. مؤلفه TСubeEngine، هایپرمکعب را محاسبه کرده و با آن عملیات انجام می دهد. در واقع یک ماشین OLAP است که یک جدول مسطح را به یک مجموعه داده چند بعدی تبدیل می کند. مؤلفه TCubeGrid جدول متقاطع را نمایش می دهد و نمایش hypercube را کنترل می کند. TСubeChart به شما این امکان را می دهد که هایپرمکعب را در قالب نمودار مشاهده کنید و جزء TСubePivote عملکرد هسته مکعب را کنترل می کند.

بنابراین، من معماری و تعامل اجزایی را که می توان برای ساخت یک ماشین OLAP استفاده کرد، در نظر گرفتم. حال بیایید نگاهی دقیق تر به ساختار داخلی اجزا بیندازیم.

اولین مرحله سیستم بارگذاری داده ها و تبدیل آن به فرمت داخلی خواهد بود. سوال منطقی خواهد بود - چرا این امر ضروری است، زیرا می توانید به سادگی از داده های یک جدول مسطح استفاده کنید و هنگام ساخت یک تکه مکعب آن را مشاهده کنید. برای پاسخ به این سوال، بیایید ساختار جدول را از دیدگاه یک ماشین OLAP در نظر بگیریم. برای یک سیستم OLAP، ستون های جدول می توانند واقعیت یا ابعاد باشند. در این صورت منطق کار با این ستون ها متفاوت خواهد بود. در یک ابر مکعب، ابعاد در واقع محور هستند و مقادیر ابعاد مختصات روی آن محورها هستند. در این حالت، مکعب بسیار ناهموار پر می شود - ترکیباتی از مختصات وجود خواهد داشت که با هیچ رکوردی مطابقت ندارند و ترکیباتی وجود خواهد داشت که با چندین رکورد در جدول منبع مطابقت دارند، و وضعیت اول رایج تر است، یعنی ، مکعب شبیه جهان خواهد بود - فضای خالی، در مکان های جداگانه که خوشه هایی از نقاط (حقایق) رخ می دهد. بنابراین، اگر ما هستیم بوت استرپداده ها، داده ها را از قبل تجمیع می کنیم، یعنی رکوردهایی را که مقادیر اندازه گیری یکسانی دارند، ترکیب می کنیم، در حالی که مقادیر واقعی جمع آوری اولیه را محاسبه می کنیم، سپس در آینده باید با رکوردهای کمتری کار کنیم که باعث افزایش سرعت می شود. کار می کند و نیاز به RAM را کاهش می دهد.

برای ساختن برش‌های یک ابر مکعب، به ویژگی‌های زیر نیاز داریم - تعیین مختصات (در واقع، مقادیر اندازه‌گیری) برای ورودی‌های جدول، و همچنین تعیین رکوردهایی که مختصات خاصی دارند (مقادیر اندازه‌گیری). بیایید ببینیم چگونه می توان این احتمالات را تحقق بخشید. ساده ترین راه برای ذخیره سازی هایپرمکعب استفاده از پایگاه داده با فرمت داخلی خودش است.

به صورت شماتیک، تبدیل ها را می توان به صورت زیر نشان داد:

نمودار 6. تبدیل یک پایگاه داده با فرمت داخلی به یک پایگاه داده نرمال شده

یعنی به جای یک جدول، یک پایگاه داده نرمال شده را دریافت کردیم. کارشناسان پایگاه داده می‌گویند در واقع نرمال‌سازی سرعت سیستم را کاهش می‌دهد، و در این مورد مطمئناً زمانی که ما نیاز به دریافت مقادیر برای عناصر دیکشنری (در مورد ما، مقادیر ابعاد) داشته باشیم، حق خواهند داشت. اما موضوع این است که ما در مرحله ساخت یک برش اصلاً به این مقادیر نیاز نداریم. همانطور که در بالا ذکر شد، ما فقط به مختصات در هایپرمکعب خود علاقه مند هستیم، بنابراین مختصات مقادیر اندازه گیری را تعریف می کنیم. ساده ترین کار شماره گذاری مجدد مقادیر عناصر است. برای اینکه شماره گذاری در یک بعد بدون ابهام باشد، ابتدا لیست های مقادیر اندازه گیری (فرهنگ لغت ها، بیان شده بر اساس پایگاه داده) را به ترتیب حروف الفبا مرتب می کنیم. علاوه بر این، ما حقایق را مجدداً شماره گذاری می کنیم و حقایق از قبل جمع می شوند. نمودار زیر را دریافت می کنیم:

طرح 7. شماره گذاری مجدد پایگاه داده نرمال شده برای تعیین مختصات مقادیر اندازه گیری

اکنون تنها پیوند دادن عناصر جداول مختلف به یکدیگر باقی مانده است. در تئوری پایگاه داده رابطه ای این کار با استفاده از جداول میانی ویژه انجام می شود. کافی است هر ورودی در جداول ابعاد را با فهرستی تطبیق دهیم که عناصر آن تعداد واقعیاتی باشد که در شکل گیری آنها از این ابعاد استفاده شده است (یعنی همه حقایقی را که مقدار مختصات یکسانی دارند تعیین کنیم. با این بعد توصیف شده است). برای حقایق، به ترتیب، برای هر رکورد، مقادیر مختصاتی را که در امتداد آن در هایپرمکعب قرار دارد، مطابقت می دهیم. در موارد زیر، همه جا زیر مختصات یک ورودی در هایپرمکعب، منظور اعداد ورودی های مربوطه در جداول مقادیر اندازه گیری است. سپس برای مثال فرضی خود، مجموعه زیر را دریافت می کنیم که نمایش داخلی ابر مکعب را تعریف می کند:

طرح 8. نمایش داخلی یک ابر مکعب

این نمایش داخلی ما از هایپرمکعب خواهد بود. از آنجایی که ما این کار را برای یک پایگاه داده رابطه‌ای انجام نمی‌دهیم، پس فقط از فیلدهایی با طول متغیر به عنوان فیلدهایی برای پیوند مقادیر اندازه‌گیری استفاده می‌شود (ما نمی‌توانیم این کار را در RDB انجام دهیم، زیرا تعداد ستون‌های جدول در آنجا از پیش تعیین شده است).

می‌توان سعی کرد از مجموعه‌ای از جداول موقت برای پیاده‌سازی یک هایپرمکعب استفاده کند، اما این روش عملکرد بسیار پایینی را ارائه می‌کند (مثلاً مجموعه‌ای از اجزای مکعب تصمیم است)، بنابراین ما از ساختارهای ذخیره‌سازی داده‌های خودمان استفاده خواهیم کرد.

برای پیاده سازی هایپرمکعب، باید از ساختارهای داده ای استفاده کنیم که حداکثر کارایی و حداقل مصرف حافظه را فراهم کنند. بدیهی است که ساختارهای اصلی ما برای ذخیره دیکشنری ها و جداول واقعیت خواهد بود. وظایفی را که فرهنگ لغت باید با حداکثر سرعت انجام دهد در نظر بگیرید:

بررسی وجود یک عنصر در فرهنگ لغت؛

افزودن یک عنصر به فرهنگ لغت؛

جستجو برای اعداد رکوردی که دارای مقدار مختصات خاصی هستند.

جستجوی مختصات بر اساس مقدار اندازه گیری؛

یک مقدار اندازه گیری را با مختصات آن جستجو کنید.

برای برآوردن این الزامات، می توانید استفاده کنید انواع متفاوتو ساختارهای داده به عنوان مثال، می توانید از آرایه های ساختاری استفاده کنید. در حالت واقعی، این آرایه ها نیازمند مکانیسم های نمایه سازی اضافی هستند که سرعت بارگذاری داده ها و به دست آوردن اطلاعات را افزایش می دهد.

برای بهینه سازی عملکرد هایپر مکعب، باید مشخص شود که کدام وظایف باید به عنوان اولویت مورد بررسی قرار گیرند و با چه معیارهایی باید به افزایش کیفیت کار دست یابیم. نکته اصلی برای ما افزایش سرعت برنامه است، در حالی که مطلوب است که مقدار زیادی رم مورد نیاز نباشد. افزایش عملکرد با توجه به مقدمه امکان پذیر است مکانیسم های اضافیدسترسی به داده ها، به عنوان مثال، معرفی نمایه سازی. متأسفانه، این باعث افزایش سربار RAM می شود. بنابراین، ما تعیین می کنیم که کدام عملیات را باید با بیشترین سرعت انجام دهیم. برای انجام این کار، اجزای جداگانه ای را که hypercube را پیاده سازی می کنند، در نظر بگیرید. این اجزا دو نوع اصلی هستند - جدول ابعاد و واقعیت. برای اندازه گیری، یک کار معمولی خواهد بود:

افزودن یک مقدار جدید؛

تعیین مختصات با مقدار اندازه گیری؛

تعیین مقدار با مختصات

هنگام اضافه کردن یک مقدار عنصر جدید، باید بررسی کنیم که آیا قبلاً چنین مقداری داریم یا خیر و اگر چنین است، مقدار جدیدی اضافه نکنیم، بلکه از مختصات موجود استفاده کنیم، در غیر این صورت باید یک عنصر جدید اضافه کنیم و مختصات آن را تعیین کنیم. این نیاز به راهی برای یافتن سریع وجود عنصر مورد نظر دارد (علاوه بر این، چنین مشکلی هنگام تعیین مختصات با مقدار عنصر نیز ایجاد می شود). برای این کار، هش بهینه خواهد بود. در این حالت، ساختار بهینه استفاده از درختان هش خواهد بود که در آن پیوندهای عناصر را ذخیره خواهیم کرد. در این حالت، عناصر رشته های فرهنگ لغت ابعاد خواهند بود. سپس ساختار مقدار ابعاد را می توان به صورت زیر نشان داد:

PFactLink = ^TFactLink;

TFactLink = رکورد

FactNo: عدد صحیح // شاخص واقعیت در جدول

TDimensionRecord = رکورد

مقدار: رشته; // مقدار اندازه گیری

index: عدد صحیح; // مقدار مختصات

FactLink: PFactLink; // اشاره گر به ابتدای لیست عناصر جدول واقعیت است

و در درخت هش ما پیوندهایی را به عناصر منحصر به فرد ذخیره خواهیم کرد. علاوه بر این، ما باید مشکل تبدیل معکوس را حل کنیم - برای تعیین مقدار اندازه گیری توسط مختصات. فراهم كردن حداکثر عملکردباید از آدرس دهی مستقیم استفاده کنید. بنابراین، می توانید از آرایه دیگری استفاده کنید، شاخصی که در آن مختصات اندازه گیری است و مقدار آن پیوندی به مدخل مربوطه در فرهنگ لغت است. با این حال، اگر آرایه عناصر را به طور مناسب مرتب کنید تا شاخص عنصر مختصات آن باشد، می توانید این کار را آسان تر انجام دهید (و در عین حال در حافظه صرفه جویی کنید).

سازماندهی آرایه‌ای که فهرستی از حقایق را پیاده‌سازی می‌کند، به دلیل ساختار ساده‌اش، مشکل خاصی ایجاد نمی‌کند. تنها نکته این خواهد بود که مطلوب است همه روش‌های تجمعی که ممکن است مورد نیاز باشد و بتوان آنها را به صورت تدریجی محاسبه کرد (مثلاً مجموع) محاسبه کرد.

بنابراین، ما روشی را برای ذخیره داده ها در قالب یک ابر مکعب توضیح داده ایم. این به شما امکان می دهد مجموعه ای از نقاط را در یک فضای چند بعدی بر اساس اطلاعات موجود در انبار داده ایجاد کنید. برای اینکه یک فرد بتواند با این داده ها کار کند، باید آنها را به شکلی مناسب برای پردازش ارائه کرد. در عین حال، جدول محوری و نمودارها به عنوان انواع اصلی ارائه داده ها استفاده می شود. علاوه بر این، هر دوی این روش ها در واقع پیش بینی هایپرمکعب هستند. به منظور اطمینان از حداکثر کارایی در ساخت بازنمودها، از آنچه این پیش بینی ها نشان می دهند شروع می کنیم. بیایید با جدول محوری به عنوان مهمترین جدول برای تجزیه و تحلیل داده ها شروع کنیم.

اجازه دهید راه هایی برای پیاده سازی چنین ساختاری پیدا کنیم. سه بخش وجود دارد که یک PivotTable را تشکیل می‌دهند: سرصفحه‌های ردیف، سرصفحه ستون‌ها و جدول واقعی واقعی جمع‌آوری شده. توسط بیشترین به روشی سادهنماهای جدول fact از یک آرایه دو بعدی استفاده می کنند که ابعاد آن را می توان با ساخت هدر تعیین کرد. متأسفانه، ساده ترین راه ناکارآمدترین خواهد بود، زیرا جدول بسیار کم و حافظه بسیار ناکارآمد خواهد بود، در نتیجه فقط مکعب های بسیار کوچک می توانند ساخته شوند، در غیر این صورت ممکن است حافظه کافی وجود نداشته باشد. بنابراین، ما باید ساختار داده ای را برای ذخیره سازی اطلاعاتی که فراهم می کند انتخاب کنیم حداکثر سرعتجستجو / اضافه کردن یک عنصر جدید و در عین حال حداقل مصرف رم. این ساختار به اصطلاح ماتریس های پراکنده خواهد بود که در مورد آن می توانید اطلاعات بیشتری در مورد Knuth بخوانید. ممکن است راه های مختلفسازمان ماتریسی برای انتخاب گزینه مناسب، ابتدا ساختار سرفصل های جدول را در نظر می گیریم.

هدرها ساختار سلسله مراتبی واضحی دارند، بنابراین طبیعی است که از درخت برای ذخیره آنها استفاده شود. در این مورد، ساختار گره درختی را می توان به صورت شماتیک به صورت زیر نشان داد:

پیوست ج

در عین حال، منطقی است که یک مرجع به عنصر مربوطه از جدول اندازه گیری یک مکعب چند بعدی به عنوان مقدار ابعاد ذخیره شود. این کار باعث کاهش مصرف حافظه برای ذخیره سازی برش و سرعت بخشیدن به کار می شود. پیوندها همچنین به عنوان گره های والد و فرزند استفاده می شوند.

برای افزودن یک عنصر به درخت، لازم است اطلاعاتی در مورد مکان آن در هایپرمکعب داشته باشیم. به عنوان چنین اطلاعاتی لازم است از مختصات آن استفاده شود که در فرهنگ لغت مقادیر ابعاد ذخیره می شود. بیایید طرح اضافه کردن یک عنصر به درخت سرصفحه جدول محوری را در نظر بگیریم. در این حالت از مقادیر مختصات اندازه گیری به عنوان اطلاعات اولیه استفاده می کنیم. ترتیب فهرست بندی این ابعاد با روش تجمیع مورد نظر تعیین می شود و با سطوح سلسله مراتبی درخت هدر مطابقت دارد. در نتیجه کار، باید فهرستی از ستون‌ها یا ردیف‌های جدول محوری را که می‌خواهید عنصری را در آن اضافه کنید، دریافت کنید.

کاربردD

ما از مختصات اندازه گیری به عنوان داده های اولیه برای تعیین این ساختار استفاده می کنیم. علاوه بر این، برای قطعیت، فرض می کنیم که ستون مورد علاقه خود را در ماتریس تعریف می کنیم (ما در نظر می گیریم که چگونه ردیف را کمی بعد تعیین می کنیم، زیرا استفاده از سایر ساختارهای داده در آنجا راحت تر است، ببینید دلیل این انتخاب نیز در زیر). به عنوان مختصات، ما اعداد صحیح را می گیریم - تعداد مقادیر اندازه گیری که می توانند همانطور که در بالا توضیح داده شد تعیین شوند.

بنابراین، پس از اجرای این رویه، آرایه ای از پیوندها به ستون های ماتریس پراکنده را دریافت می کنیم. اکنون تمام کاری که باید انجام دهید اقدامات لازمبا رشته برای این کار در داخل هر ستون باید عنصر مورد نظر را پیدا کرده و در آنجا اضافه کنید مقدار مربوطه. برای هر یک از ابعاد موجود در مجموعه، باید تعداد مقادیر منحصر به فرد و مجموعه واقعی این مقادیر را بدانید.

اکنون بیایید نحوه نمایش مقادیر درون ستون ها را بررسی کنیم - یعنی نحوه تعیین ردیف مورد نیاز. برای این کار می توان از چندین رویکرد استفاده کرد. ساده ترین کار این است که هر ستون را به عنوان یک بردار نشان دهیم، اما از آنجایی که بسیار کم است، حافظه بسیار ناکارآمد خواهد بود. برای جلوگیری از این امر، از ساختارهای داده ای استفاده می کنیم که نمایش کارآمدتری از آرایه های یک بعدی پراکنده (بردارها) را ارائه می دهند. ساده ترین آنها یک لیست معمولی است که به صورت مجزا یا دوتایی مرتبط است، اما از نظر دسترسی به عناصر مقرون به صرفه نیست. بنابراین از درختی استفاده خواهیم کرد که دسترسی سریع تری به عناصر فراهم می کند.

به عنوان مثال، می‌توانید دقیقاً از همان درختی که برای ستون‌ها استفاده می‌شود، استفاده کنید، اما پس از آن باید درخت خود را برای هر ستون ایجاد کنید، که منجر به سربار قابل توجهی در حافظه و زمان پردازش می‌شود. بیایید کمی مشکل تر کار کنیم - بیایید یک درخت را شروع کنیم تا تمام ترکیبات اندازه گیری های مورد استفاده در ردیف ها را ذخیره کند، که مشابه آنچه در بالا توضیح داده شد، خواهد بود، اما عناصر آن نشانگر ردیف ها (که به این ترتیب وجود ندارند) نیستند. شاخص های آنها و خود مقادیر شاخص برای ما جالب نیستند و فقط به عنوان کلیدهای منحصر به فرد استفاده می شوند. سپس از این کلیدها برای یافتن عنصر مورد نظر در ستون استفاده می کنیم. خود ستون‌ها به آسانی می‌توانند به عنوان یک درخت باینری منظم نمایش داده شوند. از نظر گرافیکی، ساختار حاصل را می توان به صورت زیر نشان داد:

نمودار 9. تصویر یک جدول محوری به شکل درخت دودویی

برای تعیین اعداد ردیف مربوطه، می توانید از همان روشی که در بالا توضیح داده شد برای تعیین ستون های جدول محوری استفاده کنید. در این مورد، اعداد ردیف در یک جدول محوری منحصر به فرد هستند و عناصر را در بردارهایی که ستون‌های جدول محوری هستند شناسایی می‌کنند. ساده‌ترین راه برای تولید این اعداد، حفظ شمارنده و افزایش آن در هنگام اضافه شدن یک عنصر جدید به درخت هدر ردیف است. خود این بردارهای ستونی به آسانی به عنوان درخت های دودویی ذخیره می شوند، جایی که از مقدار شماره ردیف به عنوان کلید استفاده می شود. علاوه بر این، استفاده از جداول هش نیز امکان پذیر است. از آنجایی که رویه های کار با این درختان در منابع دیگر به تفصیل مورد بحث قرار گرفته است، ما به این موضوع نمی پردازیم و طرح کلی برای افزودن یک عنصر به یک ستون را در نظر می گیریم.

در یک شکل تعمیم یافته، دنباله ای از اقدامات برای افزودن یک عنصر به ماتریس را می توان به صورت زیر توصیف کرد:

1. شماره خطوطی که عناصر اضافه می شوند را تعیین کنید

2. مجموعه ستون هایی را که آیتم ها در آن اضافه می شوند را تعریف کنید

3. برای همه ستون ها، عناصری را با شماره ردیف های مورد نظر پیدا کنید و عنصر فعلی را به آنها اضافه کنید (افزودن شامل اتصال تعداد مورد نیاز مقادیر واقعی و محاسبه مقادیر تجمیع شده است که می تواند به صورت افزایشی تعیین شود).

پس از اجرای این الگوریتم، ماتریسی به دست می آید که یک جدول محوری است که باید آن را بسازیم.

حالا چند کلمه در مورد فیلتر کردن هنگام ساخت یک برش. ساده ترین راه برای اجرای آن فقط در مرحله ساخت ماتریس است، زیرا در این مرحله به تمام فیلدهای مورد نیاز دسترسی وجود دارد و علاوه بر این، تجمیع مقادیر نیز انجام می شود. در عین حال وقتی ورودی از کش دریافت می شود، مطابقت آن با شرایط فیلتر بررسی می شود و در صورت عدم تطابق آن، ورودی حذف می شود.

از آنجایی که ساختار توصیف شده در بالا به طور کامل جدول محوری را توصیف می کند، وظیفه تجسم آن بی اهمیت خواهد بود. در این صورت می توانید از اجزای استاندارد جدولی که تقریباً در تمامی ابزارهای برنامه نویسی ویندوز موجود است استفاده کنید.

اولین محصولی که درخواست های OLAP را انجام داد Express (یک شرکت IRI) بود. با این حال، خود اصطلاح OLAP توسط ادگار کاد، "پدر پایگاه های داده رابطه ای" ابداع شد. و کار Codd توسط Arbor تأمین مالی شد، شرکتی که محصول OLAP خود، Essbase (که بعداً توسط Hyperion خریداری شد، که توسط Oracle در سال 2007 خریداری شد) یک سال قبل از آن راه اندازی شد. سایر محصولات شناخته شده OLAP عبارتند از: Microsoft Analysis Services (که قبلاً خدمات OLAP، بخشی از SQL Server نامیده می شد)، Oracle OLAP Option، IBM's DB2 OLAP Server (در واقع EssBase با افزونه های IBM)، SAP BW، محصولات Brio، BusinessObjects، Cognos، MicroStrategy و سایر تولید کنندگان.

از نقطه نظر فنی، محصولات موجود در بازار به "OLAP فیزیکی" و "مجازی" تقسیم می شوند. در حالت اول، برنامه ای وجود دارد که محاسبات اولیه انبوه ها را انجام می دهد، که سپس در یک پایگاه داده چند بعدی ویژه ذخیره می شود که بازیابی سریع را فراهم می کند. نمونه‌هایی از این محصولات عبارتند از: Microsoft Analysis Services، Oracle OLAP Option، Oracle/Hyperion EssBase، Cognos PowerPlay. در حالت دوم، داده ها در DBMS های رابطه ای ذخیره می شوند، در حالی که ممکن است تجمیع ها اصلا وجود نداشته باشند یا در اولین درخواست در DBMS یا حافظه پنهان نرم افزار تحلیلی ایجاد شوند. نمونه هایی از این محصولات عبارتند از SAP BW، BusinessObjects، Microstrategy. سیستم های مبتنی بر "OLAP فیزیکی" پایداری را ارائه می دهند بهترین زمانپاسخ به پرسش‌ها نسبت به سیستم‌های "OLAP مجازی". فروشندگان مجازی OLAP ادعا می کنند که محصولات آنها از نظر پشتیبانی از مقادیر بسیار زیاد داده مقیاس پذیرتر هستند.

در این کار می‌خواهم نگاهی دقیق‌تر به محصول BaseGroup Labs - Deductor داشته باشم.

Deductor یک پلت فرم تحلیلی است، به عنوان مثال. پایه ای برای ایجاد راه حل های کاربردی کامل. فن آوری های پیاده سازی شده در Deductor این امکان را فراهم می کند که بر اساس یک معماری واحد، تمام مراحل ساخت یک سیستم تحلیلی را طی کنید: از ایجاد انبار داده تا انتخاب خودکار مدل ها و تجسم نتایج.

ترکیب سیستم:

Deductor Studio هسته تحلیلی پلتفرم Deductor است. Deductor Studio شامل مجموعه ای کامل از مکانیسم ها است که به شما امکان می دهد اطلاعات را از یک منبع داده دلخواه دریافت کنید، کل چرخه پردازش (تمیز کردن، تبدیل داده ها، مدل های ساختمانی) را انجام دهید، نتایج را به راحت ترین روش نمایش دهید (OLAP، جداول، نمودارها). ، درختان تصمیم ...) و نتایج صادرات.

Deductor Viewer محل کار کاربر نهایی است. این برنامه به شما امکان می دهد تا نیازهای پرسنل را به حداقل برسانید، زیرا تمام عملیات مورد نیاز به طور خودکار با استفاده از اسکریپت های پردازشی آماده شده قبلی انجام می شود، نیازی به فکر کردن در مورد روش به دست آوردن داده ها و مکانیسم های پردازش آن نیست. کاربر Deductor Viewer فقط باید گزارش مورد علاقه را انتخاب کند.

Deductor Warehouse یک انبار داده چند بعدی است که تمام اطلاعات لازم برای تجزیه و تحلیل حوزه موضوعی را جمع آوری می کند. استفاده از یک مخزن به شما امکان دسترسی راحت را می دهد، سرعت بالاپردازش، ثبات اطلاعات، ذخیره سازی متمرکز و پشتیبانی خودکار از کل فرآیند تجزیه و تحلیل داده ها.

4.Client Server

سرور Deductor برای پردازش تحلیلی از راه دور طراحی شده است. این امکان را فراهم می کند تا هم به طور خودکار داده ها را از طریق اسکریپت های موجود روی سرور "اجرا" کند و هم مدل های موجود را دوباره آموزش دهد. استفاده از Deductor Server به شما امکان می دهد یک معماری سه لایه کامل را پیاده سازی کنید که در آن به عنوان یک سرور برنامه عمل می کند. دسترسی به سرور توسط Deductor Client ارائه می شود.

اصول کار:

1. وارد کردن داده ها

تجزیه و تحلیل هر گونه اطلاعات در Deductor با وارد کردن داده ها شروع می شود. در نتیجه واردات، داده ها با استفاده از تمام مکانیزم های موجود در برنامه به شکلی مناسب برای تجزیه و تحلیل بعدی کاهش می یابد. ماهیت داده، فرمت، DBMS و غیره مهم نیست، زیرا مکانیسم های کار با همه یکپارچه هستند.

2. صادرات داده ها

وجود مکانیزم های صادراتی به شما امکان می دهد نتایج را به برنامه های شخص ثالثبه عنوان مثال، پیش بینی فروش را به سیستم تولید سفارش خرید منتقل کنید یا گزارش تهیه شده را در یک وب سایت شرکتی ارسال کنید.

3. پردازش داده ها

پردازش در Deductor به معنای هر عمل مرتبط با نوعی تبدیل داده است، به عنوان مثال، فیلتر کردن، ساختن یک مدل، تمیز کردن و غیره. در واقع در این بلوک مهمترین اقدامات از نظر تحلیل انجام می شود. مهم‌ترین ویژگی مکانیزم‌های پردازشی پیاده‌سازی شده در Deductor این است که داده‌های به‌دست‌آمده در نتیجه پردازش را می‌توان با هر یک از روش‌های موجود برای سیستم دوباره پردازش کرد. بنابراین، امکان ساخت سناریوهای پردازش دلخواه پیچیده وجود دارد.

4. تجسم

شما می توانید داده ها را در Deductor Studio (Viewer) در هر مرحله از پردازش تجسم کنید. سیستم به طور مستقل تعیین می کند که چگونه می تواند این کار را انجام دهد، مثلاً اگر آموزش دیده باشد شبکه عصبی، سپس علاوه بر جداول و نمودارها، می توانید نمودار شبکه عصبی را مشاهده کنید. کاربر باید گزینه مورد نظر را از لیست انتخاب کرده و چندین پارامتر را پیکربندی کند.

5. مکانیسم های یکپارچه سازی

Deductor ابزارهای ورود داده را ارائه نمی دهد - این پلت فرم منحصراً روی پردازش تحلیلی متمرکز است. برای استفاده از اطلاعات ذخیره شده در سیستم های ناهمگن، مکانیسم های انعطاف پذیر واردات و صادرات ارائه شده است. تعامل را می توان با استفاده از اجرای دسته ای، کار در حالت سرور OLE و دسترسی به سرور Deductor سازماندهی کرد.

6. تکرار دانش

Deductor به شما امکان می دهد یکی از مهمترین عملکردهای هر سیستم تحلیلی را پیاده سازی کنید - پشتیبانی از فرآیند تکرار دانش، به عنوان مثال. این فرصت را فراهم می کند تا کارکنانی که در روش های تجزیه و تحلیل و روش های دستیابی به یک نتیجه خاص مسلط نیستند، بر اساس مدل های تهیه شده توسط متخصص، پاسخ دریافت کنند.

دبلیونتیجه

در این مقاله، چنین حوزه ای از فناوری های اطلاعاتی مدرن به عنوان سیستم های تجزیه و تحلیل داده ها در نظر گرفته شد. تجزیه و تحلیل ابزار اصلی برای پردازش تحلیلی اطلاعات - OLAP - فناوری. ماهیت مفهوم OLAP و اهمیت سیستم های OLAP در فرآیند کسب و کار مدرن به تفصیل افشا شده است. ساختار و عملکرد سرور ROLAP به طور مفصل توضیح داده شده است. به عنوان نمونه ای از پیاده سازی داده های OLAP - فناوری ها، پلت فرم تحلیلی Deductor ارائه شده است. مستندات ارائه شده توسعه یافته است و با الزامات مطابقت دارد.

فناوری‌های OLAP یک ابزار قدرتمند پردازش داده در زمان واقعی هستند. یک سرور OLAP به شما امکان می دهد داده ها را در تجزیه و تحلیل های مختلف سازماندهی و ارائه دهید و داده ها را به اطلاعات ارزشمندی تبدیل می کند که به شرکت ها در تصمیم گیری بهتر کمک می کند.

استفاده از سیستم های OLAP به طور مداوم سطوح بالایی از عملکرد و مقیاس پذیری را فراهم می کند و از حجم داده های اندازه گیگابایت پشتیبانی می کند که می تواند توسط هزاران کاربر قابل دسترسی باشد. با کمک فن آوری های OLAP، دسترسی به اطلاعات در زمان واقعی انجام می شود، یعنی. پردازش پرس و جو دیگر روند تجزیه و تحلیل را کند نمی کند و کارایی و اثربخشی آن را تضمین می کند. ابزار مدیریت بصری به شما امکان می دهد حتی پیچیده ترین برنامه های کاربردی تحلیلی را توسعه و پیاده سازی کنید و این فرآیند را ساده و سریع می کند.

اسناد مشابه

    اساس مفهوم OLAP (پردازش تحلیلی آنلاین) - پردازش داده های تحلیلی آنلاین، ویژگی های استفاده از آن بر روی مشتری و سرور. مشخصات کلی الزامات اساسی برای سیستم های OLAP و همچنین روش های ذخیره داده ها در آنها.

    چکیده، اضافه شده در 10/12/2010

    OLAP: ویژگی های عمومی، هدف، اهداف، وظایف. طبقه بندی محصولات OLAP. اصول ساخت یک سیستم OLAP، کتابخانه اجزای CubeBase. وابستگی عملکرد ابزارهای OLAP مشتری و سرور به افزایش حجم داده ها.

    مقاله ترم، اضافه شده در 2013/12/25

    ذخیره سازی اطلاعات ابدی موجودیت و مقدار ابزار OLAP ( تحلیلی آنلایندر حال پردازش). پایگاه های داده و ذخیره سازی داده ها، ویژگی های آنها. ساختار، معماری ذخیره سازی داده ها، ارائه دهندگان آنها. چند نکته برای بهبود عملکرد مکعب های OLAP.

    تست، اضافه شده در 2010/10/23

    ساخت سیستم های تجزیه و تحلیل داده ها ساخت الگوریتم هایی برای طراحی یک مکعب OLAP و ایجاد پرس و جو در جدول محوری ساخته شده. فناوری OLAP برای تجزیه و تحلیل داده های چند بعدی ارائه اطلاعات به کاربران جهت اتخاذ تصمیمات مدیریتی.

    مقاله ترم، اضافه شده در 2008/09/19

    اطلاعات اولیه در مورد OLAP پردازش داده های تحلیلی عملیاتی طبقه بندی محصولات OLAP. الزامات ابزارهای پردازش تحلیلی عملیاتی. استفاده از پایگاه های داده چند بعدی در سیستم های پردازش تحلیلی آنلاین، مزایای آنها.

    مقاله ترم، اضافه شده 06/10/2011

    توسعه زیرسیستم های تحلیل وب سایت با کمک از مایکروسافتفناوری های Access و Olap. جنبه های نظری توسعه یک زیر سیستم تجزیه و تحلیل داده ها در سیستم اطلاعاتی یک پورتال موسیقی. فناوری‌های اولاپ در زیرسیستم تحلیل موضوع تحقیق.

    مقاله ترم، اضافه شده در 11/06/2009

    در نظر گرفتن ابزارهای OLAP: طبقه بندی ویترین ها و انبارهای اطلاعات، مفهوم مکعب داده. معماری سیستم پشتیبانی تصمیم پیاده سازی نرم افزارسیستم های Abitura ایجاد یک گزارش وب با استفاده از فناوری های خدمات گزارش دهی

    مقاله ترم، اضافه شده در 12/05/2012

    انبار داده، اصول سازمان. فرآیندهای داده ساختار OLAP، جنبه های فنی ذخیره سازی داده های چند بعدی. خدمات یکپارچه سازی، پر کردن فضای ذخیره سازی و داده ها. قابلیت های سیستم های با استفاده از فناوری های مایکروسافت.

    مقاله ترم، اضافه شده در 12/05/2012

    ساخت یک طرح انبار داده برای یک شرکت تجاری. توضیحات طرحواره های رابطه ذخیره سازی نمایش اطلاعات مربوط به محصول ایجاد یک مکعب OLAP برای تجزیه و تحلیل اطلاعات بیشتر. ایجاد پرس و جو برای ارزیابی کارایی سوپرمارکت.

    کار کنترل، اضافه شده در 2015/12/19

    هدف از ذخیره سازی داده ها معماری SAP BW. ساخت گزارش تحلیلی بر اساس مکعب های OLAP در سیستم SAP BW. تفاوت های اصلی بین انبار داده و سیستم OLTP. مروری بر مناطق عملکردی BEx. ایجاد یک کوئری در BEx Query Designer.

در سال 1993، بنیانگذار رویکرد رابطه‌ای برای ساخت پایگاه‌های اطلاعاتی، ادگار کاد و شرکا (ادگار کاد، ریاضی‌دان و همکار IBM)، مقاله‌ای را به ابتکار شرکت Arbor Software (امروزه شرکت معروف Hyperion Solutions) منتشر کرد. ، با عنوان "ارائه OLAP (پردازش تحلیلی عملیاتی) برای کاربران تحلیلگر" که 12 ویژگی از فناوری OLAP را فرموله کرد که متعاقباً با شش ویژگی دیگر تکمیل شد. این مفاد به محتوای اصلی یک فناوری جدید و بسیار امیدوار کننده تبدیل شده است.

ویژگی های اصلی فناوری OLAP (اساسی):

  • نمایش مفهومی چند بعدی داده ها؛
  • دستکاری داده های بصری؛
  • در دسترس بودن و جزئیات داده ها؛
  • دسته ای استخراج داده هادر برابر تفسیر؛
  • مدل های تحلیل OLAP؛
  • معماری مشتری-سرور (OLAP از دسکتاپ قابل دسترسی است).
  • شفافیت (دسترسی شفاف به داده های خارجی)؛
  • پشتیبانی چند کاربره

ویژگی های خاص(ویژه):

  • پردازش داده های غیر رسمی؛
  • ذخیره نتایج OLAP: جدا نگه داشتن آنها از داده های اصلی.
  • حذف مقادیر از دست رفته؛
  • مدیریت مقادیر از دست رفته

ویژگی های گزارش( گزارش ):

  • انعطاف پذیری در گزارش گیری؛
  • عملکرد گزارشگری استاندارد؛
  • پیکربندی خودکار لایه فیزیکی استخراج داده ها

مدیریت اندازه گیری( بعد، ابعاد، اندازه ):

  • جهانی بودن اندازه گیری ها؛
  • تعداد نامحدود ابعاد و سطوح تجمع؛
  • تعداد نامحدودی از عملیات بین ابعاد.

از لحاظ تاریخی، امروزه اصطلاح "OLAP" نه تنها به یک نمای چند بعدی از داده ها از کاربر نهایی دلالت دارد، بلکه یک نمایش چند بعدی از داده ها در پایگاه داده هدف را نیز شامل می شود. با این است که ظهور به عنوان اصطلاحات مستقل مرتبط است. "OLAP رابطه ای"(ROLAP) و "OLAP چند بعدی"(MOLAP).

OLAP-service ابزاری برای تجزیه و تحلیل حجم زیادی از داده ها در زمان واقعی است. در تعامل با سیستم OLAP - کاربر قادر خواهد بود تا مشاهده انعطاف پذیر اطلاعات، به دست آوردن برش های داده دلخواه و انجام عملیات تحلیلی جزئیات، کانولوشن، توزیع انتها به انتها، مقایسه در طول زمان در بسیاری از پارامترها را به طور همزمان انجام دهد. تمام کارها با سیستم OLAP از نظر حوزه موضوعی انجام می شود و به شما امکان می دهد مدل های معتبر آماری از وضعیت کسب و کار بسازید.

نرم افزار OLAP - یک ابزار آنلاین تجزیه و تحلیل داده استموجود در مخزن ویژگی اصلیاین است که این ابزارها برای استفاده نه توسط یک متخصص در زمینه فناوری اطلاعات، نه توسط یک آماردان خبره، بلکه توسط یک متخصص در زمینه کاربردی مدیریت - مدیر یک بخش، بخش، مدیریت، و در نهایت، یک کارگردان ابزارهای طراحی شده برای برقراری ارتباط با تحلیلگر با یک مشکل، نه با کامپیوتر. روی انجیر 6.14 یک مکعب OLAP ابتدایی را نشان می دهد که به شما امکان می دهد داده ها را در سه بعدی ارزیابی کنید.

یک مکعب OLAP چند بعدی و یک سیستم از الگوریتم‌های ریاضی مربوطه برای پردازش آماری به شما امکان می‌دهد داده‌های هر پیچیدگی را در هر بازه زمانی تجزیه و تحلیل کنید.


برنج. 6.14.

مدیر با داشتن مکانیزم‌های انعطاف‌پذیر برای دستکاری داده‌ها و نمایش بصری (شکل 6.15، شکل 6.16)، ابتدا داده‌ها را از زوایای مختلف در نظر می‌گیرد، که ممکن است (یا ممکن است نباشد) به مشکل در حال حل مرتبط باشد.

سپس، او شاخص های مختلف کسب و کار را با یکدیگر مقایسه می کند و سعی می کند روابط پنهان را شناسایی کند. می‌تواند به داده‌ها نگاه دقیق‌تری داشته باشد، آن‌ها را دانه‌بندی کند، برای مثال، با تفکیک آن‌ها بر اساس زمان، منطقه یا بر اساس مشتری، یا برعکس، ارائه اطلاعات را بیشتر تعمیم دهد تا جزئیات حواس‌پرتی حذف شود. پس از آن، با استفاده از ماژول تخمین و شبیه سازی آماریچندین سناریو برای توسعه رویدادها ساخته شده و قابل قبول ترین گزینه از بین آنها انتخاب می شود.


برنج. 6.15.

به عنوان مثال، یک مدیر شرکت ممکن است این فرضیه را مطرح کند که گسترش رشد دارایی در شاخه های مختلف شرکت به نسبت متخصصان دارای تحصیلات فنی و اقتصادی در آنها بستگی دارد. برای آزمون این فرضیه، مدیر می تواند از انبار درخواست کند و نسبت سود به او را برای شعبی که رشد دارایی آنها در سه ماهه جاری نسبت به سال گذشته بیش از 10 درصد کاهش داشته است و برای آنهایی که دارایی آنها افزایش یافته است را در نمودار نشان دهد. بیش از 25 درصد. او باید بتواند از یک انتخاب ساده از منوی ارائه شده استفاده کند. اگر نتایج به‌دست‌آمده به طور قابل توجهی در دو گروه متناظر قرار می‌گیرد، این باید محرکی برای آزمایش بیشتر فرضیه‌ای باشد.

در حال حاضر، جهت به نام شبیه سازی پویا(Dynamic Simulation) که اصل FASMI فوق را به طور کامل پیاده سازی می کند.

با استفاده از مدل‌سازی پویا، تحلیلگر مدلی از وضعیت کسب‌وکار می‌سازد که بر اساس سناریوهایی در طول زمان توسعه می‌یابد. در عین حال، نتیجه چنین مدل‌سازی می‌تواند چندین موقعیت تجاری جدید باشد که درختی از تصمیمات ممکن را با ارزیابی احتمال و چشم‌انداز هر یک ایجاد می‌کند.


برنج. 6.16.

جدول 6.3 نشان می دهد ویژگی های مقایسه ایتحلیل استاتیکی و دینامیکی

جدول 6.3.
مشخصه تجزیه و تحلیل استاتیک تحلیل دینامیک
انواع سوال سازمان بهداشت جهانی؟ چی؟ چگونه؟ چگونه؟ چه زمانی؟ جایی که؟ چرا اینطور است؟ چه اتفاقی می افتد اگر ...؟ چه می شود اگر…؟
زمان پاسخ تنظیم نشده است ثانیه ها
عملیات داده های معمولی گزارش تنظیم شده، نمودار، جدول، شکل دنباله ای از گزارش های تعاملی، نمودارها، فرم های صفحه نمایش. تغییر پویا سطوح تجمع و برش داده ها
سطح الزامات تحلیلی میانگین بالا
نوع نمایش اساساً از پیش تعیین شده، تنظیم شده است تعریف شده توسط کاربر، گزینه های سفارشی سازی وجود دارد
سطح تجمیع داده ها مشروح و خلاصه تعریف شده توسط کاربر
"سن" داده ها تاریخی و جاری تاریخی، جاری و پیش بینی شده
انواع درخواست عمدتا قابل پیش بینی غیر قابل پیش بینی - از زمان به زمان
هدف پردازش تحلیلی برنامه ریزی شده تجزیه و تحلیل، مدل سازی و پیش بینی چند پاس

تقریباً همیشه، وظیفه ساختن یک سیستم تحلیلی برای تجزیه و تحلیل داده های چند متغیره، وظیفه ساختن است یک سیستم اطلاعاتی منفرد و هماهنگ مبتنی بر ابزارها و راه حل های نرم افزاری ناهمگن. و انتخاب ابزار برای اجرای IP به یک کار بسیار دشوار تبدیل می شود. در اینجا باید عوامل زیادی را در نظر گرفت، از جمله سازگاری متقابل انواع مختلف اجزای نرم افزارسهولت توسعه، استفاده و ادغام آنها، کارایی عملکرد، ثبات و حتی اشکال، سطح و چشم انداز بالقوه روابط بین تولید کنندگان مختلف.

OLAP در هر جایی که وظیفه تجزیه و تحلیل داده های چند عاملی وجود داشته باشد قابل اجرا است. به طور کلی، اگر جدولی با داده ها وجود داشته باشد که حداقل یک ستون توصیفی و یک ستون با اعداد داشته باشد، ابزار OLAP ابزاری موثر برای تجزیه و تحلیل و تولید گزارش خواهد بود. به عنوان نمونه ای از استفاده از فناوری OLAP، مطالعه نتایج فرآیند فروش را در نظر بگیرید.

سوالات کلیدی "چقدر فروخته شد؟"، "چقدر فروخته شد؟" با پیچیده‌تر شدن کسب‌وکار و جمع‌آوری داده‌های تاریخی به مجموعه خاصی از عوامل یا کاهش‌ها، گسترش می‌یابد: «.. در سن پترزبورگ، در مسکو، در اورال، در سیبری...»، «.. در سه ماهه آخر ، در مقایسه با فعلی"، "..از تامین کننده A در مقابل تامین کننده B..." و غیره.

پاسخ به چنین سوالاتی برای تصمیم گیری مدیریت ضروری است: تغییر مجموعه، قیمت ها، بسته شدن و افتتاح فروشگاه ها، شعب، فسخ و امضای قرارداد با نمایندگی ها، انجام یا خاتمه کمپین های تبلیغاتی و غیره.

اگر سعی کنید ارقام اصلی (حقایق) و برش‌ها (استدلال‌های اندازه‌گیری) را که تحلیلگر دستکاری می‌کند و سعی در گسترش یا بهینه‌سازی کسب‌وکار شرکت می‌کند برجسته کنید، جدولی مناسب برای تجزیه و تحلیل فروش به‌عنوان نوعی الگو دریافت خواهید کرد که نیاز به تنظیم مناسب برای آن دارد. هر شرکت خاص

زمان. به عنوان یک قاعده، این چند دوره است: سال، سه ماهه، ماه، دهه، هفته، روز. بسیاری از ابزارهای OLAP به طور خودکار دوره های بالاتر را از یک تاریخ محاسبه می کنند و کل آنها را محاسبه می کنند.

رده محصولات. ممکن است چندین دسته وجود داشته باشد، آنها برای هر نوع کسب و کار متفاوت هستند: درجه، مدل، نوع بسته بندی، و غیره. اگر فقط یک محصول فروخته می شود یا مجموعه بسیار کوچک است، پس دسته مورد نیاز نیست.

تولید - محصول. گاهی اوقات از نام محصول (یا خدمات)، کد یا مقاله آن استفاده می شود. در مواردی که مجموعه بسیار بزرگ است (و برخی از شرکت ها ده ها هزار مورد را در لیست قیمت خود دارند)، ممکن است تجزیه و تحلیل اولیه برای همه انواع کالاها انجام نشود، اما به برخی از دسته های مورد توافق تعمیم داده شود.

منطقه. بسته به ماهیت جهانی کسب و کار، می توانید قاره، گروه کشورها، کشور، قلمرو، شهر، منطقه، خیابان، بخشی از خیابان را معنی کنید. البته، اگر تنها یک خروجی وجود داشته باشد، این بعد گم شده است.

فروشنده. این اندازه گیری به ساختار و مقیاس کسب و کار نیز بستگی دارد. این می تواند باشد: شعبه، فروشگاه، فروشنده، مدیر فروش. در برخی موارد، اندازه گیری وجود ندارد، به عنوان مثال، زمانی که فروشنده بر حجم فروش تأثیر نمی گذارد، تنها یک فروشگاه وجود دارد و غیره.

خریدار. در برخی موارد، مانند خرده فروشی، مشتری غیرشخصی است و اندازه گیری وجود ندارد، در موارد دیگر اطلاعات مشتری وجود دارد و برای فروش مهم است. این بعد ممکن است شامل نام شرکت خریدار یا بسیاری از گروه بندی ها و ویژگی های مشتریان باشد: صنعت، گروه بنگاه ها، مالک و غیره تحلیل ساختار فروش برای شناسایی مهم ترین اجزا در زمینه علاقه. برای انجام این کار، به عنوان مثال، استفاده از نمودار از نوع "پای" در موارد پیچیده که 3 بعد به طور همزمان مورد بررسی قرار می گیرند - "ستون ها" راحت است. به عنوان مثال، در فروشگاه "فناوری کامپیوتر" برای سه ماهه، فروش رایانه 100000 دلار، تجهیزات عکاسی - 10000 دلار، مواد مصرفی - 4500 دلار بود. نتیجه گیری: گردش مالی فروشگاه تا حد زیادی به فروش رایانه بستگی دارد (در واقع شاید مواد مصرفیبرای فروش رایانه ضروری است، اما این تجزیه و تحلیل وابستگی های داخلی است).

تحلیل دینامیکی ( تجزیه و تحلیل رگرسیون- شناسایی روندها). شناسایی روندها، نوسانات فصلی. به صورت بصری دینامیک توسط نموداری از نوع "خط" نمایش داده می شود. به عنوان مثال، فروش محصولات اینتل در طول سال کاهش یافت، در حالی که فروش مایکروسافت رشد کرد. شاید رفاه مشتری عادی بهتر شده باشد یا تصویر فروشگاه و همراه با آن ترکیب مشتریان تغییر کرده باشد. محدوده باید تنظیم شود. مثال دیگر: به مدت 3 سال در زمستان، فروش دوربین فیلمبرداری کاهش می یابد.

تجزیه و تحلیل وابستگی(تجزیه و تحلیل همبستگی). مقایسه حجم فروش کالاهای مختلف در طول زمان برای شناسایی مجموعه مورد نیاز - "سبد". همچنین استفاده از نمودار نوع "خط" برای این کار راحت است. به عنوان مثال، هنگام حذف چاپگرها از محدوده در طی دو ماه اول، کاهش فروش کارتریج پودر مشاهده شد.

OLAP (پردازش تحلیلی آنلاین) نام یک محصول خاص نیست، بلکه نام یک فناوری پردازش تحلیلی آنلاین است که شامل تجزیه و تحلیل داده ها و گزارش می شود. یک جدول چند بعدی در اختیار کاربر قرار می گیرد که به طور خودکار داده ها را در بخش های مختلف خلاصه می کند و به شما امکان می دهد تا محاسبات و فرم گزارش را به سرعت مدیریت کنید.

اگرچه در برخی از نشریات پردازش تحلیلی هم به صورت آنلاین و هم تعاملی نامیده می شود، صفت "آنلاین" به درستی بیانگر معنای فناوری OLAP است. توسعه تصمیمات مدیریتی مدیریتی در دسته حوزه هایی قرار می گیرد که به اشتباه در معرض اتوماسیون هستند. با این حال، امروزه فرصتی برای کمک به مدیر در توسعه تصمیمات و مهمتر از همه، سرعت بخشیدن به روند توسعه تصمیمات، انتخاب و اتخاذ آنها وجود دارد.

سیستم های پشتیبانی تصمیم معمولاً ابزاری برای ارائه داده های جمعی برای نمونه های مختلف از مجموعه اولیه به شکلی مناسب برای درک و تجزیه و تحلیل در اختیار کاربر قرار می دهند. به عنوان یک قاعده، چنین است توابع جمعیک مجموعه داده چند بعدی را تشکیل می دهند که اغلب ابرمکعب یا متاکوب نامیده می شود، که محورهای آن حاوی پارامترهایی هستند و سلول ها حاوی داده های انبوهی هستند که به آنها بستگی دارد - و چنین داده هایی را می توان در جداول رابطه ای نیز ذخیره کرد، اما در این مورد ما در مورد منطقی صحبت می کنیم. سازماندهی داده ها، و نه در مورد اجرای فیزیکی ذخیره سازی آنها.

در امتداد هر محور، داده ها را می توان در یک سلسله مراتب سازماندهی کرد که سطوح مختلف جزئیات را نشان می دهد.

با توجه به ابعاد در مدل چند بعدی، عواملی که بر فعالیت های شرکت تأثیر می گذارند، کنار گذاشته می شوند (مثلاً: زمان، محصولات، شعب شرکت و غیره). سپس مکعب OLAP حاصل با شاخص‌های فعالیت شرکت (قیمت‌ها، فروش، طرح، سود، جریان نقدی و غیره) پر می‌شود. لازم به ذکر است که برخلاف یک مکعب هندسی، وجه های یک مکعب OLAP لازم نیست اندازه یکسانی داشته باشند. این پر کردن را می توان مانند داده های واقعی انجام داد سیستم های عامل، و بر اساس داده های تاریخی پیش بینی شده است. ابعاد هایپرمکعب می تواند پیچیده، سلسله مراتبی باشد و روابط بین آنها برقرار شود. در طول تجزیه و تحلیل، کاربر می تواند دیدگاه خود را بر روی داده ها تغییر دهد (به اصطلاح عملیات تغییر نمای منطقی)، در نتیجه داده ها را در بخش های مختلف مشاهده کرده و مشکلات خاص را حل می کند. عملیات های مختلفی را می توان بر روی مکعب ها انجام داد، از جمله پیش بینی و زمان بندی شرطی (تحلیل چه می شود).

به لطف این مدل داده، کاربران می توانند پرس و جوهای پیچیده را فرموله کنند، گزارش تولید کنند و زیر مجموعه های داده را دریافت کنند. پردازش تحلیلی عملیاتی می تواند به طور قابل توجهی فرآیند آماده سازی و تصمیم گیری توسط پرسنل مدیریت را ساده و سرعت بخشد. پردازش تحلیلی آنلاین با هدف تبدیل داده ها به اطلاعات انجام می شود. اساساً با فرآیند پشتیبانی تصمیم گیری سنتی که اغلب بر اساس در نظر گرفتن گزارش های ساختاریافته است، متفاوت است.


فناوری OLAP به نوع تحلیل فکری اشاره دارد و شامل 12 اصل است:

1. نمایش چند بعدی مفهومی. کاربر تحلیلگر جهان شرکت را به ترتیب ماهیت چند بعدی می بیند و مدل OLAP باید در هسته خود چند بعدی باشد.

2. شفافیت. معماری سیستم OLAP باید باز باشد و به کاربر این امکان را می دهد که در هر کجا که باشد، با استفاده از یک ابزار تحلیلی - مشتری - با سرور ارتباط برقرار کند.

3. دسترسی. یک کاربر تحلیلگر OLAP باید بتواند تجزیه و تحلیل را بر اساس یک طرح مفهومی مشترک شامل داده‌های کل سازمانی در یک پایگاه داده رابطه‌ای و همچنین داده‌هایی از پایگاه‌های داده قدیمی، روش‌های دسترسی رایج و یک مدل تحلیلی مشترک انجام دهد. یک سیستم OLAP باید فقط به داده‌هایی که واقعاً مورد نیاز است دسترسی داشته باشد و از اصل کلی «قیف آشپزخانه» که مستلزم ورودی‌های غیر ضروری است، استفاده نکند.

4. عملکرد ثابت در تهیه گزارش. با افزایش تعداد ابعاد یا اندازه پایگاه داده، کاربر تحلیلگر نباید کاهش قابل توجهی در عملکرد را تجربه کند.

5. معماری سرویس گیرنده-سرور. بیشتر داده‌هایی که امروزه باید تحت پردازش تحلیلی آنلاین قرار گیرند، در مین‌فریم‌هایی با دسترسی به ایستگاه‌های کاری کاربر از طریق LAN وجود دارند. این بدان معناست که محصولات OLAP باید بتوانند در محیط سرویس گیرنده-سرور کار کنند.

6. چند بعدی بودن عمومی. هر بعد باید بدون توجه به ساختار و قابلیت های عملیاتی آن اعمال شود. ساختارهای داده، فرمول‌ها و فرمت‌های گزارش‌دهی زیربنایی نباید نسبت به یک بعد تعصب داشته باشند.

7. مدیریت پویا ماتریس های پراکنده. طراحی فیزیکی یک ابزار OLAP باید کاملاً با مدل تحلیلی خاص سازگار باشد تا بتوان بهینه ماتریس‌های پراکنده را مدیریت کرد. پراکندگی (که به عنوان درصد سلول های خالی نسبت به تمام سلول های ممکن اندازه گیری می شود) یکی از ویژگی های انتشار داده است.

8. پشتیبانی چند کاربره. یک ابزار OLAP باید توانایی اشتراک پرس و جو و افزایش چندین کاربر تحلیلگر را با حفظ یکپارچگی و امنیت فراهم کند.

9. عملیات متقابل نامحدود. عملیات مختلف، به دلیل ماهیت سلسله مراتبی خود، می توانند روابط وابسته را در مدل OLAP نشان دهند، یعنی متقابل هستند. اجرای آنها نباید نیازی به تعریف مجدد این محاسبات و عملیات توسط کاربر تحلیلگر داشته باشد.

10. دستکاری داده های بصری. دیدگاه کاربر تحلیلگر از ابعاد تعریف شده در مدل تحلیلی باید شامل تمام اطلاعات لازم برای انجام اقدامات بر روی مدل OLAP باشد. آنها نباید به استفاده از سیستم منو یا سایر عملیات رابط کاربری چندگانه نیاز داشته باشند.

11. گزینه های گزارش دهی انعطاف پذیر. ابزارهای گزارش دهی باید داده ها یا اطلاعات حاصل از مدل داده در هر جهت ممکن ترکیب شوند. این بدان معناست که سطرها، ستون‌ها یا صفحات یک گزارش باید چندین بعد از یک مدل OLAP را به طور همزمان نمایش دهند، با قابلیت نمایش زیرمجموعه‌ای از عناصر (مقادیر) موجود در بعد، و به هر ترتیبی.

12. ابعاد و تعداد سطوح تجمع نامحدود. مطالعه بر روی تعداد احتمالی اندازه گیری های لازم مورد نیاز در یک مدل تحلیلی نشان داد که حداکثر 19 اندازه گیری می تواند به طور همزمان توسط یک کاربر تحلیلگر مورد استفاده قرار گیرد. این منجر به توصیه ای در مورد تعداد ابعاد پشتیبانی شده توسط سیستم OLAP می شود. علاوه بر این، هر یک از ابعاد مشترک نباید با تعداد سطوح تجمیع تعریف شده توسط کاربر تحلیلگر محدود شود.

به عنوان سیستم های تخصصی OLAP که در حال حاضر در بازار ارائه می شوند، می توانید CalliGraph، Business Intelligence را مشخص کنید.

برای حل وظایف ساده تجزیه و تحلیل داده ها، می توان از یک راه حل بودجه استفاده کرد - برنامه های Microsoft Excel و Access Office، که حاوی ابزارهای اولیه فناوری OLAP هستند که به شما امکان می دهد جداول محوری ایجاد کنید و گزارش های مختلفی را بر اساس آنها بسازید.