Analysis
Services
از زمان عرضه SQL Server 7 و سرويسهاي OLAP،
SQL
Server در بازار هوش
تجاري (BI) پيشرو شده است. SQL Server 7
و نگارش بعدي آن SQL
Server 2000، BI را از يك فناوري مناسب در جريان اصلي امور كامپيوتري ايجاد كردند.
هم اينك BI يكي از مهيجترين بخشهاي بازار در دنياي IT است. يكي از دلايل اصلي تحت رشد سريع BI اين واقعيت است كه به يك سازمان امكان گرفتن اطلاعات بيشتر و
مقداري از منابع اطلاعاتي نسبت به قبل ميدهد. اين يك فاكتور حياتي نسبت به چند
سال قبل است، زيرا بيشتر شركتها در سالهاي اخير، IT را تجربه كردهاند. انجام بيشتر امور با اين منابع موجب شده است
كه هماكنون موجب ميشود IT
ارزش راهبردي زيادي براي سازمانهاي تجاري د اشته باشد.
BI
به يك حرفه اجازه ميدهد تا اطلاعات با معنيتري را خارج از داده عملياتي دريافت
كند كه هماكنون در خط برنامههاي تجاري استفاده ميشود. با گرفتن داده عملياتي از
ورودي سفارش آن، حمل و نقل و برنامههاي فروش، OLAP، انبار كردن دادهها و فناوريهاي data mining به مشاغل اجازه ميدهند تا بخشهاي مهم اطلاعات را به روشهايي كه
با تكنيكهاي دستيابي داده رابطهاي خالص امكانپذير نيست، پر و انبوهه كنند.
نتيجه نهايي، اطلاعات با معنيتري درباره حرفه شما و فاكتورهاي مهمي را كه بر آن
تأثير ميگذارند، در برنميگيرد. هيچ چيزي مجاني نيست و BI نيز از اين قاعده مستثني نيست. جاده به سمت BI آزاد نيست (مسائل پرسنلي و آموزشي و مسائل فناوري بايد سامان
يابند)، ولي در طولاني مدت، هزينهها ممكن است تعديل شوند. توانايي داشتن اطلاعات
با معنيتر غير از داده عملياتي ميتواند به تبديل IT به يك مزيت راهبردي هستهاي براي حرفه شما كمك كند.
در سال قبل، واژه BI ماوراي تفسير سنتي آن رشد كرده است كه BI لزوماً مترادف با OLAP
است. هماكنون BI گسترش يافته است تا تمام فناوريهايي را در برگيرد كه به حرفه
امكان فراهم كردن اطلاعات تصميمگيري را ميدهند. در SQL Server 2005، مايكروسافت اين تعريف گسترده از BI را پذيرفته است. BI
بيشتر از OLAP و تحليل، شامل ابزارهاي اطلاعاتي ديگر از قبيل Integration
Services و Reporting Services است. ويژگيهاي جديد در Integration Services و Reporting
Services در فصلهاي 8 و 9
بهطور مفصل بررسي شدند. در اين فصل مروري بر ويژگيهاي Analysis Services جديد SQL Server 2005
خواهيم داشت.
در اين نسخه از SQL Server، تأكيد زيادي روي BI
شده است و ويژگيهاي جديد زيادي وجود دارند كه تشريح تمام آنها نياز به تخصيص يك
كتاب كامل دارد. در اين فصل، به مهمترين ويژگيهاي جديد در SQL Server 2005 Analysis
Services اشاره خواهيم كرد.
اولين بخش اين فصل، مروري مختصر از OLAP
و نقش Analysis
Services فراهم ميكند.
سپس، مهمترين ويژگيهاي جديد موجود در Analysis Services Engine را خواهيد ديد و همچنين مقدمهاي بر Unified
Dimensional Model جديد مايكروسافت
خواهيد داشت. بخش بعد، ويژگيهاي جديد برنامهنويسي و مديريت Analysis Services را در برميگيرد. بالاخره، اين فصل الگوريتمهاي data mining جديد را ارايه خواهد كرد كه مايكروسافت به Analysis Services اضافه كرده است.
Analysis Services
و سرويسهاي OLAP مقدم آن در اصل به عنوان يك راهحل گزارشگيري براي داده موجود در
يك انبار داده يا data
mart طراحي شدهاند.
اطلاعات ذخيره شده در يك انبار داده، معمولاً داده رابطهاي نيست، بلكه داده خلاصهاي
است كه معمولاً از يك حافظه داده رابطهاي مشتق شدهاند. اين الگوهاي انبار داده
شبيه دانههاي برف يا ستاره ذخيره ميشوند. داده در يك انبار داده يا data mart با استفاده از فناوري OLAP
پردازش ميشود. برخلاف فناوري رابطهاي كه نتايح را با خواندن و تلفيق داده هنگام
صدور پرسوجو به دست ميآورد، OLAP
براي حركت در داده خلاصه براي برگرداندن سريع نتايج بهينه ميشود. كارآيي پرسوجوي
بهبود يافته دليلي تحت اين تحريك OLAP
است. مثلاً، براي مطرح كردن جمعهاي فروش محلي، ناحيهاي، ملي و جهاني براي يك
سازمان معين، يك پرسوجوي رابطهاي ممكن است صدها هزار يا حتي ميليونها رديف را
پردازش كند (فرآيندي كه ممكن است در سريعترين سيستمها هم بسيار طولاني باشد). در
مقايسه، OLAP به دليل اين كه در اصل با اطلاعات خلاصه كار ميكند، ممكن است
نياز به خواندن تنها دو يا سه محل داده براي ذكر پاسخ مشابه داشته باشد. بديهي
است، اين امر موجب كارآيي قابل توجهي ميشود. كارآيي سريعتر OLAP، پرسوجو و پردازش دادهاي را ممكن ميسازد كه با استفاده از
ابزارهاي متداول دستيابي داده رابطهاي امكانپذير نبود.
به جاي كار كردن با مجموعههايي از جداول
مرتبط، فناوريهاي OLAP با مكعبها[1] كار ميكنند
كه شامل ابعاد و اندازهها هستند. بْعد[2] يك دسته
توصيفي است. مثلاً، يك بْعد ممكن است يك مكان جغرافيايي يا يك نوع محصول باشد.
اندازه[3] يك مقدار
كمي نظير فروش برحسب دلار، مقدار موجودي يا هزينههاي كل باشد. انبوههها كه از
منبع داده اصلي مشتق ميشوند، در هر سلول مكعب ذخيره ميگردند. اين روش سازماندهي
داده، موجب ساده شدن فيلتر كردن داده و سريع و كارآمد شدن پرسوجوهاي تكراري ميشود.
هرچند، ترفندي نيز وجود دارد. در حالي كه انبوهههاي OLAP كليدي براي حصولپذيري كارآيي پرسوجو در پرسوجوهاي انبار داده هستند،
هزينه ذخيره داده انبوهه حافظه ديسك است. در واقع، تعداد انبوههها به آساني ممكن
است از تعداد رديفهاي جزيي اصلي تجاوز كند. علاوه بر اين، برنامههاي خط تجاري
معمولاً داده خود را در پايگاههاي داده OLAP
ذخيره ميكنند. در عوض، داده براي بارگذاري يك انبار داده معمولاً از پايگاههاي
داده رابطهاي اقتباس شده و براي پايگاه داده OLAP در فرآيندي به نام اقتباس، تبديل و بارگذاري (ETL) بارگذاري ميشوند.
سه روش اصلي براي ذخيره داده بْعدي مورد
استفاده در انبار داده به كار ميروند: OLAP
چند بْعدي (MPLAP)، OLAP رابطهاي (ROLAP) و OLAP هيبريدي (HOLAP). هر يك از اين روشها داراي الزمات حافظه داده مشخص خود و سرعت
بازيابي داده هستند. SQL Server 2005
از تمام اين روشها پشتيباني ميكند.
MOLAP
OLAP
چند بْعدي (MOLAP)، بْعد و داده واقعي را در يك حافظه داده دايمي با استفاده از
ايندكسهاي فشرده شده ذخيره ميكند. انبوههها براي تسهيل دستيابي داده سريع ذخيره
ميشوند. موتورهاي پرسوجوي MOLAP
معمولاً براي فرمت حافظه مورد استفاده حافظه داده MOLAP اختصاصي و بهينه شده هستند. MOLAP پردازش پرسوجويي سريعتر از ROLAP را ارايه ميدهند و معمولاً نياز به حافظه كمتري دارند. هرچند، به
خوبي مقياسبندي نميشوند و نياز به پايگاه داده مجزايي براي حافظه دارند.
ROLAP
OLAP
رابطهاي (ROLAP) انبوههها را در جداول پايگاه داده رابطهاي ذخيره ميكند. كاربرد
ROLAP از پايگاههاي داده رابطهاي به آن اجازه ميدهد تا از منابع
پايگاه داده موجود بهره ببرد، به علاوه اين كه به برنامههاي ROLAP اجازه ميدهد تا به خوبي مقياسگذاري شوند. هرچند كاربرد جداول ROLAP براي ذخيره انبوههها معمولاً نياز به حافظه ديسك بيشتر از MOLAP دارد و معمولاً چندان سريع نيست.
HOLAP
OLAP
هيبريدي (HOLAP)، همانگونه كه از نامش حدس زده ميشود، تقاطعي بين MOLAP و ROLAP است. HOLAP
مثل ROLAP داده اصلي ذخيره شده در پايگاه داده منبع را رها ميكند. HOLAP مثل MOLAP
انبوههها را در يك حافظه ذخيره دايمي كه مجزا از پايگاه داده رابطهاي اصلي است،
ذخيره ميكند. اين تركيب به HOLAP
اجازه ميدهد تا مزاياي هر MOLAP
و ROLAP را ارايه دهد. هرچند برخلاف MOLAP و ROLAP كه از استانداردهايي با تعريف خوب پيروي ميكنند، HOLAP هيچ پيادهسازي يك شكلي ندارد. با درك پايهاي از OLAP، اجازه دهيد نگاهي به برخي از بهبودهاي جديد در SQL Server 2005 Analysis
Services داشته باشيم.
يكي از نواحي اصلي بهبودها در Analysis Services، در خود موتور Analysis Services
بوده است. بيشتر اين بهبودها، محدوديتهايي را كه در نگارش SQL Server 2000 از Analysis Services
وجود داشتند، برطرف كردهاند و سايرين، محصول را به سمت نواحي عملكرد كاملاً جديد
سوق ميدهند.
در SQL Server 2000، Analysis
Services پشتيباني چند
نمونهاي را فراهم نميكرد، حتي اگر موتور پايگاه داده رابطهاي قادر به پشتيباني
تا 16 نمونه بود. پشتيباني چند نمونهاي، بخصوص براي تأمين كننده سرويس برنامه (ASP) هنگامي مفيد است كه
چندين مشتري، هر يك نمونههاي پايگاه داده خود را نگهداري كنند كه همگي در يك سرور
مشترك قرار دارند.
نگارشهاي قبلي Analysis Services واقعاً نميتوانستند در اين موقعيتها توزيع شوند. در SQL Server 2005، Analysis
Services هم اينك پشتيباني تا
50 نمونه در هر سرور را فراهم كرده است. نمونههاي SQL Server 2005 Analysis
Services همچنين ميتوانند
براي اجراي پهلو به پهلو با نگارشهاي قبلي Analysis Services تنظيم شوند.
SQL Server 2005
پشتيباني خود را براي كلاسترينگ failover
براي Analysis
Services توسعه داده است. SQL Server 2000 Analysis
Services از كلاسترينگ failover براي Analysis Services
پشتيباني نميكرد. فرآيند نصب SQL Server 2005 Analysis Services مبتني بر كلاستر بوده و ميتواند بدون عيب و نقص Analysis Services را در گرههاي كلاستر نصب كند. در SQL Server 2005، كلاسترينگ failover
هم اينك مبتني بر Analysis
Services است و SQL Server Agent و Notification
Services كلاسترينگ failover را يك راهحل در دسترس بودن سطح سرور كامل كردهاند.
درست شبيه موتور پايگاه داده رابطهاي SQL Server 2005 كه با .NET
Framework يكپارچه است، Analysis Services نيز يكپارچگي .NET را فراهم كرده است. يكپارچگي Analysis Services
.NET جديد، پشتيباني
كامل براي XML و SOAP[4] و پشتيباني از
ايجاد رويههاي ذخيره شده و تريگرها را در زبانهاي .NET از قبيل Visual Basic
و C# فراهم كرده است.
يكي از مهمترين تغييرات Analysis Services در SQL Server 2005،
معرفي مدل بْعدي يك شكل جديد است. UDM
كه ميتواند به عنوان مرحله تحويل بعدي در پردازش OLAP ماوراي مكعبها به حساب آيد، يك مدل گزارشگيري يك شكل را با تركيب
بهترين OLAP و گزارشگيري رابطهاي فراهم ميكند. در فناوريهاي قبلي، برخي
گزارشات رابطهاي از قبيل توليد سفارشات و صورتحسابها با استفاده از ابزارهاي OLAP پشتيباني ميشد و نميتوانست به خوبي با گزارشگيري رابطهاي سازگار
شود. UDM يك زمينه عادي را فراهم ميكند كه ميتواند هر دوي اين انواع
كاملاً متفاوت از نيازمنديها را مديريت كند. ميتوانيد مروري سطح بالا از رابطه
بين برنامهها و UDM را در شكل 1-10 ببينيد.

در SQL Server 2005، مكعب لزوماً نمايش خارجي UDM
است. در حالي كه يك مكعب هنوز براي برنامه گزارشگيري تحت پوشش ارايه ميشود،
مكانيزم دستيابي داده كاملاً متفاوت است. UDM
حاوي فوق دادهاي است كه قابليتهايي را ممكن ميسازد كه توسط مكعبهاي MOLAP، ROLAP يا HOLAP كه
در SQL
Server 2000 Analysis Services
ارايه شده بودند، پردازش نميشوند. در SQL Server 2005،
برنامههاي OLAP با استفاده از XMLA
و پرسوجوي UDM متصل ميشوند كه ميتوانند مستقيماً روي هر دو منبع داده تحليلي و
رابطهاي ساخته شوند.
كش
كردن كنشگرا
UDM
ميتواند بهطور خودكار داده را كش كند، دستيابي داده شيوه MOLAP بسيار سريع را فراهم كند، بدون اين كه نياز به تعريف صريح حافظه MOLAP باشد. با استفاده از كنترلهاي شيوه اسلايدر، ميتوانيد تأخير و
حداكثر عمر داده در كش را كنترل كنيد. يك تنظيم تأخير صفر بدين معني است كه تمام
دادهها به صورت داده MOLAP
كش خواهند شد. اسلايدر lafttime
داده، مدت زمان فعال بودن داده در كش را كنترل ميكند. ميتوانيد دورههاي حياتي
فواصل متغير از قبيل روزانه، هفتگي يا ماهانه و زمان انقضاي فاصله در صورت پاك شدن
كش، مشخص كنيد. تحت اين پوششها، كش از يك ساختار ديسكي استفاده ميكند كه شبيه يك
مكعب MOLAP است.
كش كردن كنشگرا واقعاً نقاط تلاش توزيع
مكعبي را سامان ميبخشند كه در SQL Server 2000 Analysis Services ارايه ميشوند. در SQL Server 2000 Analysis Services، مكعبي بايد پردازش شود (با داده پر شود) قبل از اين كه بتواند
توزيع شود. براي مجموعه دادههاي بزرگ، اين ميزان پردازش ميتواند طولاني باشد. كش
كردن كنشگرا، اين مشكل را با دادن امكان توزيع مكعبها قبل از پردازش آنها حل
كرده است. مكعب بهطور خودكار هنگام صورت گرفتن درخواستهايي براي داده پر ميشود.
الحاق پشتيباني از تريگر در SQL Server 2005
Analysis Services، بهبود قابل پيشبيني
ديگر است. تريگرهاي Analysis Services
شبيه همتاهاي پايگاه داده رابطهاي ميتوانند هنگام رخ دادن عمل پايگاه داده خاصي،
رويههاي ذخيره شده را فعال كنند. تريگرهاي Analysis Services بهطور همزمان اجرا ميشوند، بدين معني كه اين كار كه تريگر را
فعال ميكند، تا وقتي كه رويه ذخيره شده تريگر شدهاي اجرا شود، بلوكه ميشود.
بهبود مهم جديد ديگر در SQL Server 2005
Analysis Services، پشتيباني از
رديابي است. رويدادهاي رديابي غير همزمان بوده و براي كنترل مسائل عيبيابي و كارآيي
سيستم استفاده ميشوند.
SQL Server 2005 Analysis Services هم اينك از ايجاد اشيا و پايگاههاي داده Analysis Services از طريق اسكريپتنويسي پشتيباني ميكند. SQL Server 2005 زبان تعريف شئ (ODL) مبتني بر XML
جديد را فراهم كرده است كه ميتواند براي ايجاد، اصلاح و حذف اشياي پايگاه داده Analysis Services استفاده شود. ODL
همچنين ميتواند چنين اعمال سروري از قبيل پردازش مكعب و مقايسه نگارشهاي پايگاه
داده را مقداردهي كند.
مهم ديگر در موتور Analysis Services، پشتيباني محليسازي بهبود يافته است. موتور SQL Server 2005 Analysis
Services قادر به ذخيره
اطلاعات شيئي به چندين زبان است. اين مسأله به برنامههاي Analysis Servicesاجازه ميدهد تا
فوق داده مكعبي و داده تجاري را به زبان طبيعي كاربر نهايي نمايش دهد. موتور Analysis Services همچنين از تنظيمات زبان پيشفرض براي برنامههاي كلاينت پشتيباني
ميكند. اين امر به برنامه كلاينت چند زماني امكان استفاده خودكار از زبان مناسب
را براي نمايش اطلاعات شئ ميدهد.
محدوديت ديگر SQL Server 2000 Analysis
Services كه SQL Server 2005 آن را سامان بخشيده است، مسأله رديفهاي بيمرجع است. SQL Server 2000 Analysis
Services از رديفهايي كه
داراي يك عضو تعريف نشده براي يك بْعد بودند، صرفنظر ميكرد. اين امر هنگام
مقايسه با دادهاي از منبع داده، جمع كل مكعبها را اشتباه به دست ميآورد. Analysis Services در SQL Server 2005
به شما اجازه ميدهد تا نحوه مديريت رديفهاي جدول واقعيت را كه داراي اطلاعات بْعد
نيستند، توسط موتور Analysis Services
مشخص كنيد. ميتوانيد ادامه كار را با صرفنظر از اطلاعات ناموجود يا تقويت Analysis Services براي ايجاد يك عضو بْعد ناشناخته براي يك رديف جدول واقعيت كه بدون
اطلاعات بْعد است، انتخاب كنيد.
ابزارهاي مديريتي براي Analysis Services در SQL Server 2005
كاملاً تغيير كردهاند. در SQL Server 2000،
Analysis
Services با استفاده از Analysis Manager مديريت ميشد. در SQL Server 2005،
Analysis
Manager قديمي از بين رفته
است. اين ابزار باSQL
Server Computer Manager و SQL Server
Management Studio جايگزين شده است.
SQL Server Computer Manager ابزاري براي استفاده جهت شروع و توقف سرويس Analysis Services است. با كليك راست روي My Computer
و سپس انتخاب گزينه Manage
از منوي بازشو، به Computer
Manager دستيابي داريد.
براي شروع و متوقف كردن Analysis Services،
گره Services
and Applications را باز كرده و سپس
گره SQL
Computer Manager را باز كنيد.
نمايشي شبيه شكل 2-10 خواهيم داشت.

براي متوقف كردن، شروع و مكث دادن به
سرويس Analysis
Services، روي ورودي سرويس Analysis Services (MSSQL SERVER) كه در پنجره سمت راست نشان داده شده است، كليك راست كنيد.
SQL Server Management Studio ابزار مديريتي اصلي براي SQL Server
و Analysis
Services است. ميتوانيد از
SQL
Server Management Studio
براي انجام تعدادي از اعمال مديريتي متفاوت استفاده كنيد. اين ابزار ميتواند
پايگاههاي داده SQL
Server را ايجاد كند، همچنين
ميتواند پايگاههاي داده Analysis Services
را اسكريپتنويسي و توزيع كند. ميتوانيد از SQL Server Management
Studio براي تنظيم
مجوزهايي براي اشياي Analysis Services
براي كنترل دستيابي كاربر نهايي براي Analysis Services
استفاده كنيد.
Multidimentional
Expression (MDX) Query Editor
علاوه بر اين اعمال مديريتي، SQL Server Management
Studio داراي Multidimentional
Expression (MDX) Editor
است كه ميتوانيد براي نوشتن و اجراي پرسوجوهاي ويژه و ساخت اشياي Analysis Services با استفاده از اسكريپتها، از آن استفاده كنيد. ميتوانيد
ويراستار MDX جديد را در شكل 3-10 ببينيد.

همانطور كه در شكل 3-10 ميبينيد،
ويراستار MDX جديد SQL Server 2005،
بهطور كامل از كلمات كليدي كد رنگي و يك پنجره خروجي حاوي نتايج پرسوجوي MDX پشتيباني ميكند. همچنين يك مرورگر فوق داده مكعبي يكپارچه وجود
دارد كه ميتوانيد آن را در سمت چپ شكل ببينيد.
امنيت دغدغه بزرگي براي مايكروسافت در دو
سال گذشته بوده است و Analysis Services
در اين زمينه استثنا نيست. Analysis Services for SQL Server 2005 داراي بيش از 100 بهبود امنيتي است كه برخي از مهمترين آنها در
بخش بعد ليست شدهاند.
امنيت
پيشفرض
Analysis Services
بهطور پيشفرض طوري طراحي شده است كه ايمن باشد. ابتدا، سرويس براي اجرا با حداقل
امتيازات نصب ميشود، در صورتي كه سيستم پيچيده باشد، عرضه شركت شما كاهش مييابد.
سپس، هنگامي كه محصول براي اولين بار نصب ميشود، تمام گزينههاي امنيتي بهطور
پيشفرض فعال ميشوند. ضمناً، تمام ويژگيهايي كه ممكن است سيستم را در معرض خطرات
قرار دهند، بهطور پيشفرض غيرفعال ميشوند. اين موارد عبارتند از:
ü
غيرفعال كردن
دستيابي HTTP
ü
غيرفعال كردن
اتصالات بينام
ü
غيرفعال كردن رويههاي
ذخيره شده
ü
غيرفعال كردن پرسوجوهاي
با مجموعه رديف باز
اگر آنها مورد نظر باشند، تمام اين
ويژگيها به سادگي ميتوانند توسط راهبر فعال شوند، ولي آنها غيرفعال ميشوند.
رمزگذاري
رمزگذاري نيز براي بهبود امنيت در Analysis Services
for SQL Server 2005 استفاده ميشود. رمزگذاري هم اينك در چندين
ناحيه ارايه ميشود: اولين ناحيه، كانال ارتباطات بين برنامه كلاينت و سرور كه ميتواند
رمزگذاري شود و سرور ميتواند براي دستيابي تنها به اتصالات رمزگذاري شده پيكربندي
شود. مكعبهاي محلي رمزگذاري ميشوند، به علاوه اين كه فايلهاي پشتيبان Analysis Services نيز ميتوانند بهطور اختياري رمزگذاري شوند.
امتيازات
راهبري سنجيده
معرفي امتيازات راهبري سنجيده، بهبود
ديگر مربوط به امنيت Analysis Services
در SQL
Server 2005 است. در SQL Server 2000، نياز به عضوي از گروه OLAP Administrators براي اعمال تغييرات در پايگاه داده و پيكربندي Analysis Services داريد. امتيازات راهبري جديد در SQL Server 2005 Analysis
Services به شما امكان
ايجاد راهبران متفاوت براي هر پايگاه داده را ميدهند. مجوزهاي جديدي براي خواندن
فوق داده و مجوز ديگري وجود دارند كه به يك حساب امكان پردازش مكعبها را ميدهند.
پشتيبانگيري و بازيابي Analysis Services همچنين در SQL Server 2005
بهبود يافتهاند. بهبودهاي پشتيبانگيري جديد شامل حذف حد پشتيبانگيري 2GB، توانايي فشردهسازي
و رمزگذاري پشتيبانگيري و توانايي بازيابي آسان يك پشتيبان براي يك نمونه متفاوت
از Analysis
Services هستند.
حذف
حد پشتيبانگيري 2GB
پشتيبانهاي SQL Server 2000 Analysis
Services محدود به فايلهاي
پشتيبان كمتر از 2GB بود. اين حد در SQL Server 2005
افزايش يافته است و پشتيبانهاي SQL Server 2005
از فايلهاي تا حد NTFS، 16TB پشتيباني ميكنند.
توانايي
فشردهسازي و رمزگذاري پشتيبان
پشتيبان Analysis Services هم اينك قادر به فشردهسازي و رمزگذاري فايلهايي است كه پشتيبانگيري
ميشوند. اين گزينهها، مقداري زمان را به پنجره مورد نياز براي انجام پشتيبانگيري
اضافه خواهند كرد، ولي اين امر موجب كوچكتر و ايمنتر شدن پشتيبان ميشود. همچنين
گزينه صرفنظر از پشتيبانگيري اطلاعات امنيتي را داريد.
توانايي
پشتيبانگيري و بازيابي آسان براي نمونه متفاوت
SQL Server 2005 Analysis Services از توانايي پشتيبانگيري پايگاههاي داده Analysis Services پشتيباني ميكند و همچنين ميتوانيد از پايگاههاي داده SQL Server رابطهاي پشتيبانگيري كرده و از آنها براي نمونه متفاوتي از Analysis Services بازيابي كنيد. اين امر موجب انتقال سريع پايگاههاي داده Analysis Services بين سرورها ميشود.
Analysis Services
تعدادي از بهبودهاي برنامهنويسي را در SQL Server 2005
هموار كرده است. Business
Intelligence Development Studio
جايگزين Analysis
Manager به عنوان ابزار
برنامهنويسي اصلي شده است. علاوه بر اين، Analysis Services
هم اينك با استفاده از يك پروتكل كاملاً جديد XMLA مورد دستيابي قرار ميگيرد و دو چارچوب كاري شيئي .NET جديد وجود دارد:
يكي براي مديريت (AMO)[5] و ديگري براي
نوشتن برنامهها (ADO MD.NET).
Business Intelligence Development
Studio جديد، ابزار اصلي
براي نوشتن برنامههاي Analysis Services
است. در SQL
Server 2005 يك ترسيم واضح بين
Analysis
Services Management و برنامهنويسي
پايگاههاي داده Analysis
Services وجود دارد. در
حالي كه SQL
Server Management Studio
براي مديريت Analysis
Services استفاده ميشود، Business
Intelligence Development Studio
براي نوشتن راهحلهاي Analysis Services
استفاده ميگردد. Business Intelligence Development Studio
شبيه SQL
Server Management Studio،
برطبق پوسته Visual
Studio است.
حالات
Online و Offline
برخلاف نگارش قبلي Analysis Manager كه هميشه در يك حالت متصل كار ميكند، Business
Intelligence Development Studio جديد در حالات Online
و Offline كار ميكند. بهطور پيشفرض، Business
Intelligence Development Studio در يك حالت Offline
كار ميكند. در اين حالت، Business Intelligence Development Studio
به سرور Analysis
Services متصل نيست و تمام
تغييرات و اشيايي كه تعريف ميكنيد، در محيط برنامهنويسي هستند، تا وقتي كه
بخواهيد پروژه را توزيع كنيد. هنگامي كه پروژهاي توزيع ميشود، Business
Intelligence Development Studio يك اسكريپت توزيع AMO
را ايجاد و اجرا ميكند. ميتوانيد پيشرفت اين اسكريپت را در پنجره خروجي رديابي
كنيد كه در پايين پنجره Business Intelligence Development Studio
نشان داده ميشود.
در مقايسه، حالت Online بسيار شبيه Analysis Manager
قديمي كار ميكند كه تغييراتي را ذخيره ميكند كه در Business
Intelligence Development Studio بلافاصله اعمال ميكنيد و موجب بهنگام شدن پايگاه
داده Analysis
Services در سرور ميشود.
ميتوانيد با انتخاب گزينه File | Connect To Analysis Services
Database در منوي Business
Intelligence Development Studio، از حالت Offline
به حالت Online برويد.
منابع
داده و ديدگاههاي Data Source
اولين مرحله در ايجاد پروژههاي SQL Server 2005 Analysis Services،
انتخاب منبع داده و ايجاد يك ديدگاه منبع داده است. منبع داده Analysis Services، بسيار شبيه يك منبع داده رابطهاي لزوماً سرور و پايگاه داده را
تعريف ميكند كه داده از آنجا ناشي ميشود و اطلاعات تعيين هويت را كپسوله ميكنند.
يك منبع داده با كليك راست روي گره Data Source
در پنجره Solution
Explorer و سپس انتخاب
گزينه New
Data Source براي شروع ويزارد Data Source تعريف ميشود كه شما را از طريق فرآيند انتخاب سرور و پايگاه داده
مناسب راهنمايي ميكند. Analysis Services
از اتصالات پايگاه داده به SQL Server،
Oracle، DB2 و پايگاههاي داده Teradata
پشتيباني ميكند.
بعد از ايجاد منبع داده، يك ديدگاه منبع
داده را براي تعريف جداول واقعيت و بْعد تعريف كنيد كه بايد براي انقياد مكعب خود
استفاده كنيد. براي ايجاد يك ديدگاه منبع داده جديد، روي گره Data Source View در پنجره Solution Explorer
كليك راست كرده و سپس گزينه New Data Source View را انتخاب كنيد. اين امر موجب شروع Data Source View
Wizard ميشود. اولين
مرحله در اين ويزارد به شما اجازه انتخاب منبع داده مناسب را ميدهد. بعد از
انتخاب منبع داده، سپس جداول واقعيت و بْعد را با استفاده از كادر محاورهاي Select Tables And
Views انتخاب كنيد كه در
شكل
4-10 نشان داده شده است.

كادر محاورهاي Select Tables And
Views مربوط به Data Source View
Wizard به شما امكان ميدهد
تا بهطور اختياري ليستي را براي نشان دادن زيرمجموعهاي از پايگاه داده موجود
فيلتر كنيد كه ميتواند هنگام سروكار داشتن با تعداد جداول زياد مفيد باشد. براي
انتخاب جداول و ديدگاهها، روي آنها در ستون سمت چپ كليك كنيد. اين عمل موجب پر
شدن ليست Included
Objects ميشود كه ميتوانيد
در سمت راست شكل ببينيد. هنگامي كه Data Source View Wizard را به پايان رسانديد، Data Source View Designer كه در شكل 5-10 نشان داده شده است، بهطور خودكار شروع ميشود.

ديدگاه منبع داده لزوماً انتزاعي از يك
يا چند منبع داده مرتبط است و Data Source View Designer به شما امكان ميدهد اطلاعاتي را اختصاصي كنيد كه به ديدگاه منبع
داده ميروند. با استفاده از Data Source View Designer ميتوانيد جنبههاي مختلف را اختصاصي كرده و نحوه ارايه داده را
كنترل كنيد. براي نمونه، ميتوانيد روابط پايگاه داده را تعريف كرده و تغيير دهيد،
نام جداول را تغيير دهيد و ستونهاي محاسباتي را ايجاد كنيد. تغييراتي كه در
ديدگاه منبع داده صورت گرفتهاند، به منابع داده مرتبط برنميگردند. آنها تنها در
ديدگاه منبع داده قرار دارند.
Cube
Wizard
براي كمك به طراحي مكعبها، Analysis Services داراي يك Cube Wizard
كاملاً جديد است. بعد از ايجاد منابع داده و ديدگاههاي منبع داده، Cube Wizard را با كليك راست روي گره Cube
در پنجره Solution
Explorer و سپس انتخاب
گزينه New
Cube از منوي بازشو، اجرا كنيد. اين امر موجب شروع Analysis Services
2005 Cube Wizard ميشود كه در شكل
6-10 نشان داده شده است.

Cube Wizard
در SQL
Server 2005 بسيار قدرتمندتر
از Cube
Wizard در نگارش Analysis Servicesاي كه بخشي از SQL Server 2000 بوده است. SQL Server 2005 Cube Wizard به شما امكان ميدهد تا مكعبي را با الگوي پايين به بالا با
انتخاب منبع داده و ديدگاه منبع دادهاي كه تعريف كردهايد يا به الگوي بالا به
پايين با طراحي مكعب و فوق داده آن بسازيد. در روش پايين به بالا، ويژگي IntelliCube جديد جداولي را تحليل خواهد كرد كه انتخاب شدهاند و بهطور
خودكار جداول واقعيت و بعد را براي تطبيق با صفات طرحواره آنها پيشنهاد ميكند.
به روش ديگر، براي ساخت مكعب به الگويي بالا به پايين، ميتوانيد گزينه Build The Cube
Without A Data Source را
انتخاب كنيد. در اين روش، بهطور دستي تمام صفات مكعب را تعريف ميكنيد. ميتوانيد
نتايج انتخاب جدول IntelliCube
را در شكل 7-10 ببينيد.

IntelliCube
يك كار بسيار خوب در مورد انتخاب خودكار جداول واقعيت و بْعد مناسب انجام ميدهد،
ولي كامل نيست و ميتوانيد دستهبنديهاي جدول را تغيير دهيد كه IntelliCube توليد كرده است. بعد از انتخاب جداول مناسب، Cube Wizard شما را از طريق فرآيند انتخاب اندازهها براي مكعب راهنمايي ميكند.
اصولاً، Cube
Wizard تمام ستونهاي
عددي را به عنوان اندازههاي ممكن انتخاب ميكند. سپس ميتوانيد ستونهايي را
انتخاب كنيد كه ميخواهيد استفاده كنيد. ميتوانيد كادر محاورهاي Cube Wizard Select
Measures را در شكل 8-10
ببينيد.

بعد از انتخاب جداول واقعيت و بْعد و
تعريف اندازههاي مناسب، Cube Wizard
ظاهر داده را براي روابط ممكن نمونهسازي كرده و سلسله مراتب داده را ايجاد ميكند.
Cube
Editor
هنگامي كه Cube Wizard تمام شد، Cube Editor
بهطور خودكار نمايش داده ميشود. Analysis Services 2005 Cube Editor بسيار بهبود يافته است و ارتباط بزرگي از عملكرد ماوراي ويژگيهاي
فراهم شده در نگارشهاي قبلي Analysis Services
ارايه ميدهد. ميتوانيد Cube Editor
را در شكل 9-10 ببينيد.

SQL Server 2005 Analysis Services Cube
Editor نه برگه مجزا را
فراهم ميكند و هر برگه به شما امكان ميدهد تا با جنبه متفاوتي از مكعب كار كنيد.
نه ديدگاه مكعب كه توسط Cube Editor
فراهم شده است، عبارتند از:
ü
Cube Builder با اندازههاي مكعب كار ميكند.
ü
Dimensions با ابعاد مكعب كار ميكند.
ü
Calculations با محاسباتي براي مكعب كار ميكند.
ü
KPIs با Key Performance Indicators براي مكعب كار ميكند.
ü
Actions با اعمال مكعب كار ميكند.
ü
Partitions با پارتيشنهاي مكعب كار ميكند.
ü
Perspectives با ديدگاههاي مكعب كار ميكند.
ü
Translations ترانزيشنهايي اختياري براي مكعب تعريف ميكند.
ü
Browser به شما امكان مرور مكعب توزيع شده را ميدهد.
بعد از تعريف پروژه، ميتوانيد گزينه Build/Deploy
Solution را براي ساخت مكعب
در سرور Analysis
Services انتخاب كنيد.
گزينههاي پروژه كنترل ميكنند آيا مكعب بعد از توزيع به سرور، پردازش خواهد شد.
بهطور پيشفرض، مكعب هنگام توزيع اوليه پردازش خواهد شد.
Cube
Browser
هنگامي كه مكعبي توزيع و پردازش شد، ميتوانيد
ابعاد و اندازههاي مكعب را با استفاده از مرورگر تعبيه شده Cube Editor ديده و در بين آنها حركت كنيد. ميتوانيد مثالي از Cube Browser را در شكل 10-10 ببينيد.

Cube Browser
با استفاده از OWC[6] ساخته ميشود. از Cube Browser با كشيدن ابعاد از صفات مكعب نشان داده شده در سمت چپ صفحه نمايش
و انداختن در محورهاي سطر و ستون OWC
كه در وسط صفحه نمايش نشان داده شده است، استفاده كنيد. سپس اندازههاي مناسب را
انتخاب كرده و آنها را در فيلد داده بيندازيد. Cube Browser بهطور خودكار داده را بازيابي كرده و آن را در پنجره مرورگر
نمايش ميدهد.
در SQL Server 2005، Analysis
Services ديگر يك سرور جعبه
سياه نيست. SQL
Server 2000 Analysis Services
و SQL
Server 7 OLAP Services
واقعاً هيچ روشي براي راهبر جهت مشاهده اين مسأله كه سرور چه كاري انجام ميدهد،
نداشتند. در SQL
Server 2005، Profiler قادر به رديابي تمام اعمال مختلفي است كه در Analysis Services در حال اجرا هستند (اين كه چه كاري در پايگاه داده SQL Server رابطهاي انجام ميشود). Profiler
را با انتخاب گزينه Profiler
در حال اجرا در Analysis
Services در شكل 11-10 ببينيد.

Profiler
همچنين ابزار بزرگي براي يادگيري مطالبي درباره MDX است. علاوه بر اين، Profiler
همچنين يك ابزار عيبيابي قوي براي رديابي فعاليتهاي سرور است. ميتوانيد از Analysis Services
Profiler براي گرفتن و
انجام مجدد رويدادها در سرور استفاده كنيد.
XMLA
يك پروتكل مستقل از محيط است كه بر طبق سرويسهاي وب و SOAP است. Microsoft SQL Server 2005 Analysis Services
از XMLA براي مديريت تمام ارتباطات برنامه كلاينت با Analysis Services استفاده ميكند. اين امر شامل ابزارهاي برنامهنويسي و مديريتي
مايكروسافت است: SQL
Server Management Studio
و Business
Intelligence Development Studio. XMLA براي اينترنت بهينه شده است و براي كاهش رفت و برگشتها به سرور
طراحي شده است. در شكل 12-10 ميتوانيد نحوه استفاده از XMLA توسط برنامههاي مديريتي و كلاينت OLAP براي اتصال به محيط Analysis Services
را ببينيد.

XMLA
از دو نوع عملكرد پايه پشتيباني ميكند: اجراي درخواستها و كشف درخواستها.
اجراي
درخواستها
بديهي است كه اجراي درخواستها يك عمل را
انجام ميدهد؛ آنها حالت اشيا را در سرور تغيير ميدهند. ميتوانيد از اجراي
درخواستها براي ايجاد، تغيير و حذف اشيا و پردازش مكعبها استفاده كنيد.
كشف
درخواستها
كشف درخواستها براي بازيابي اطلاعاتي
درباره اشيا در سرور است. با استفاده از كشف درخواستها، ميتوانيد تعاريف امنيتي،
پارتيشن و مكعب را بازيابي كنيد. همچنين ميتوانيد حالت سيستم را از سرور پرسوجو
كنيد تا مطالبي درباره تعداد اتصالات در حال استفاده و كاربرد منبع سرور بدانيد.
يكي از مهمترين بهبودهاي مديريتي در Analysis Services
for SQL Server 2005، ODL[8] جديد است. ODL همان نوع قابليتهاي ايجاد شئ قابل اسكريپتنويسي براي Analysis Services را به همراه دارد كه SQL Server
رابطهاي هميشه داشته است. Analysis Services ODL به شما امكان نوشتن اسكريپتهايي را ميدهد كه ميتوانند بهطور
خودكار تمام اشياي پايگاه داده Analysis Services
شما را ايجاد كنند. همچنين ميتوانيد از اين اسكريپتها براي كنترل نگارشگذاري
پايگاه داده Analysis
Services استفاده كنيد.
Analysis Services ODL جديد SQL Server 2005
يك مشخصه باز است كه در XMLA
ساخته شده است. برطبق يك استاندارد باز، اسكريپتهاي SQL Server 2005
ODL ميتوانند با استفاده از يك ويراستار
مبتني بر XML ايجاد شوند.
MDX
زبان پرسوجوي اصلي براي پايگاههاي داده Analysis Services
باقي مانده است و در SQL Server 2005،
MDX بهبودهاي مهمي داشته است.
اسكريپتهاي
MDX
يكي از بزرگترين تغييرات براي MDX در SQL Server 2005،
توانايي گروهبندي چندين عبارت MDX
در يك اسكريپت با يكديگر است. اسكريپتنويسي، اجراي چندين عبارت MDX را بهطور متوالي ممكن ميسازد.
ساختار
دستوري ساده شده
MDX
هماكنون يك ساختار دستوري كوتاه جديد براي اعضاي محاسباتي است. اين ساختار دستوري
كوتاه جديد، ابعادي را براي تعيين اعضا در نظر ميگيرد و آن را براي مشخص كردن
صريح تكراري ابعاد در عبارات MDX
غيرضروري ميكند.
تبديل
نوع خودكار
تبديلات نوع خودكار، تبديل خودكار از يك
عضو به يك زوج براي يك مجموعه و برعكس را ممكن ميسازند. اين امر نياز به نوشتن
كروشهها و پرانتزها را هنگام مشخص كردن مجموعهها برطرف كرده و MDX را سادهتر و خواناتر ميكند.
مديريت
اعضاي از بين رفته
بهبود ديگر در SQL Server 2005
MDX، توانايي مديريت اعضاي از بين رفته
است. در SQL
Server 2000، هنگامي كه يك
گزارش را تعريف ميكرديد و يك يا چند عضو مورد استفاده گزارش ديگر وجود نداشتند،
گزارش ناموفق بود. فاكتورهاي مختلف ميتوانند موجب اين نوع شرط شوند، از جمله
تغييرات صريح براي ساختار مكعب مرتبط و تغييرات كند در ابعاد. در MDX جديد SQL Server 2005،
ميتوانيد از خصوصيت بْعد MDXMissingMemberMode براي دادن امكان ادامه عملكرد به يك گزارش استفاده كنيد، حتي
هنگامي كه اعضاي يك بعد از بين رفته باشند.
انبوههسازي
اعضاي شمارش مجزا
قابليت ديگري كه در SQL Server 2000 Analysis
Services نبود و اضافه شده
است، MDX در SQL Server 2005
است كه هماكنون امكان انبوهه كردن محتويات اعضاي شمارش مجزا را دارد.
مجموعهها
در بخش WHERE
استفاده از مجموعهها در بخش MDX WHERE، بهبود مهم ديگري براي Analysis Services
در SQL
Server 2005 است. استفاده از
مجموعهها در بخش MDX
WHERE لزوماً شبيه
استفاده از كلمه كليدي OR
در بخش SQL
WHERE است. مجموعهها به
پرسوجو امكان برگرداندن نتايج از تمام اعضايي را كه در بخش WHERE وجود دارند، ميدهند.
ADOMD.NET
يك تأمين كننده داده .NET طبيعي كاملاً جديد است كه براي دستيابي به منابع داده چند بْعدي
طراحي شده است. ADOMD.NET به عنوان جايگزيني براي كتابخانه شيئي دستيابي داده چند بْعدي ADO MD مبتني بر COM
قديمي طراحي شده است. برنامههاي كلاينتي كه با استفاده از هر يك از زبانهاي .NET نظير Visual Basic، C#، Managed
C++ يا J# ساخته ميشوند، ميتوانند از ADOMD.NET براي بازيابي داده و اطلاعات فوق داده از SQL Server 2005 Analysis Services
استفاده كنند. در پشت صحنه، ADOMD.NET
از پروتكل XMLA براي اتصال به سرور Analysis Services
استفاده ميكند. برنامههاي ADOMD.NET
ميتوانند به دو روش به Analysis Server
متصل شوند: XMLA تحت HTTP
يا XMLA تحت TCP/IP.
AMO
چارچوب كاري شيئي كاملاً جديد ديگري است كه مايكروسافت در SQL Server 2005 معرفي كرده است. AMO
نسل بعدي DSO[9] مبتني بر COM قديمي است كه در SQL Server 2000
فراهم شده بود. DSO كنار نگذاشته شده است. نگارشي از DSO در SQL Server 2005
وجود دارد، ولي در اصل براي سازگاري با قبل در دسترس قرار گرفته است. AMO با استفاده از .NET
Framework ساخته شده و بهطور
انحصاري براي مديريت Analysis Services
طراحي شده است. AMO
در سطح بالاتري از XMLA كار ميكند و شبيه ساير چارچوبهاي كاري شيئي Analysis Services جديد، AMO
از XMLA براي ارتباط با سرور Analysis Services
استفاده ميكند. SQL
Server Management Studio
و Business
Intelligence Development Studio هر دو از AMO
استفاده ميكنند.
MAO
از اتصالات مديريتي ايمن براي Analysis Services
پشتيباني ميكند. AMO از تعيين هويت Windows
و يك كانال ارتباطي رمزگذاري شده بين برنامه كلاينت و سرور پشتيباني ميكند. AMO همچنين اتصال به سرور را با فشردهسازي XMLاي كه بين كلاينت و
سرور Analysis
Services ارسال ميشود،
بهينه ميكند.
AMO
مزاياي ديگري نيز نسبت به مدل DSO
قديمي دارد. اول اين كه، AMO
بهطور هوشمند اشيا را شمارش ميكند و هنگامي كه تعداد آيتمهاي زيادي را ليست ميكند،
كارآيي بهتري را ارايه ميدهد. AMO
همچنين توانايي پشتيبانگيري و بازيابي سيستم را فراهم ميكند. علاوه بر اين، AMO تحليل فشردهاي را براي برنامههاي شما در دسترس قرار ميدهد. يك
تحليل فشرده به برنامه شما امكان ميدهد تا تعيين كنيد كدام اشياي Analysis Services تحت تأثير عمل معيني قرار خواهند گرفت. مثلاً، اگر
عبارتي، ابعاد يك مكعب را تغيير دهد، ميتواند نياز به پردازش مجدد مكعب داشته
باشد. تحليل فشرده در نشان دادن تأثيرات اين عبرات به شما كمك ميكنند.
Data Mining
به سازمانها اجازه ميدهد تا اطلاعات مشتق شده از يك خط تجاري را به كار بريد و
از آن اطلاعات براي انجام پيشبينيهايي درباره تمايلات تجاري آتي استفاده كنيد.
پيشبينيهاي Data
Mining ميتوانند به يك
حرفه كمك كنند تا تصميمات بهتري درباره مسير آتي خود و نحوه كاربرد بهتر منابع
بگيرند. SQL
Server 2000 دو الگوريتم Data Mining بنيادي را فراهم كرده بود: درختهاي تصميمگيري و
كلاسترينگ. براي اين موارد، SQL Server 2005
چندين الگوريتم Data
Mining جديد اضافه كرده
است. الگوريتمهاي Data
Mining كه در SQL Server 2005 وجود دارند، عبارتند از: Decision Trees،
Time
Series، Sequence
Clustering، Naïve Bayes و Association
Rules.
الگوريتم Decision Trees (DT) مايكروسافت در اصل براي پيشبيني طراحي شده است. اين الگوريتم
براي پيشبيني متغيرهاي پيوسته و گسسته استفاده ميشود.
الگوريتم Time Series جديد مفهوم گذشته، حال و آينده را در كار پيشبيني معرفي ميكند.
اين الگوريتم براي پيشبيني مراحل بعدي دنباله عددي طراحي شده است و نه تنها
بهترين پيشبينيها را براي يك هدف معين انتخاب ميكند، بلكه همچنين بهترين دورههاي
زماني را برميگزيند كه بايد با توجه به تأثير هر عامل پيشبيني انتظار داشته
باشيد.
الگوريتم Clustering براي يافتن يك شماره كلاستر خوب براي مدل شما با خصوصياتي معين از
داده آموزشي طراحي شده است. Sequence Clustering به شما اجازه ميدهد تا كلاسترهاي دنبالههايي از دادهها را
بيابيد. به عبارت ديگر، اين الگوريتم Clustering
حساس به ترتيب است.
الگوريتم Naïve Bayes جديد يك الگوريتم پيشبيني است. اين الگوريتم براي كارآيي بسيار
سريع طراحي شده است و روابط بين دستههاي آيتمها را پيشبيني ميكند.
الگوريتم Association Rules براي تحليل داده تراكنشي طراحي شده است و براي يافتن گروههايي از
آيتمها استفاده ميشود كه در يك تراكنش وجود دارند.