如何使用SQL Server 2008創(chuàng)建企業(yè)規(guī)模解決方案
創(chuàng)建企業(yè)規(guī)模解決方案
Microsoft SQL Server 2008 Analysis Services 的設(shè)計(jì)目的是要提供出色的性能和巨大的規(guī)模,以支持帶有數(shù)百萬條記錄和數(shù)千名用戶的應(yīng)用程序。創(chuàng)新的合并工具有助于提高開發(fā)人員的工作效率,并能帶來更優(yōu)的設(shè)計(jì)和更快的實(shí)施速度。
開發(fā)人員的高工作效率
開發(fā)人員要?jiǎng)?chuàng)建和部署解決方案,一般都需要學(xué)習(xí)和使用多種工具。不過有了 Analysis Services 之后,在整個(gè)開發(fā)周期中,從項(xiàng)目開始到開發(fā)和部署,開發(fā)人員都可使用 SQL Server Business Intelligence Development Studio(BIDS)。由于 Business Intelligence Development Studio 以 Visual Studio 開發(fā)環(huán)境為基礎(chǔ),因此它可與 Visual Studio Team System 實(shí)現(xiàn)完全集成,從而提供設(shè)計(jì)、開發(fā)、協(xié)作、優(yōu)化和測(cè)試資源。在它提供的集成式直觀環(huán)境中,開發(fā)人員的工作更快且更有效率。而且,為進(jìn)一步提高工作效率,BIDS 還提供了復(fù)雜的 Business Intelligence Wizards(商業(yè)智能向?qū)ВR惶资褂煤?jiǎn)單的向?qū)Э蓭椭蠖鄶?shù)新用戶對(duì)商業(yè)智能問題進(jìn)行建模,這使得大量人員和組織能夠更方便地參與 BI 項(xiàng)目的開發(fā)。
早期開發(fā)階段的設(shè)計(jì)效率低下往往會(huì)浪費(fèi)大量開發(fā)時(shí)間,因?yàn)殚_發(fā)人員已經(jīng)完成的工作是以不正確的設(shè)計(jì)為基礎(chǔ)的,因此在修正錯(cuò)誤后,需要重新設(shè)計(jì)。SQL Server 2008 Analysis Services 新引進(jìn)了一套創(chuàng)新的 Best Practice Design Alerts(最佳實(shí)踐設(shè)計(jì)警報(bào)),可在開發(fā)流程的早期階段對(duì)潛在的設(shè)計(jì)問題自動(dòng)發(fā)出通知,這會(huì)減少由于設(shè)計(jì)錯(cuò)誤導(dǎo)致的時(shí)間浪費(fèi),并有利于實(shí)施更快的開發(fā)流程。圖1顯示了針對(duì) Time 維度和 Calendar 層次結(jié)構(gòu)的警報(bào)。在圖1中可以看到,警報(bào)突出顯示了問題區(qū)域,但它們不會(huì)以任何方式影響功能,可以簡(jiǎn)單地忽略或關(guān)閉單個(gè)或全部警報(bào)。
除了看到的實(shí)時(shí)警報(bào)以外,也可以瀏覽解決方案設(shè)計(jì)來查看所有警報(bào)。圖2顯示了某項(xiàng)設(shè)計(jì)目前提供的警報(bào)。
SQL Server 2008 Analysis Services 利用新的、改進(jìn)的多維數(shù)據(jù)集、維度和屬性設(shè)計(jì)器,進(jìn)一步提高了開發(fā)人員的工作效率。圖3顯示了新設(shè)計(jì)的“Attribute Relationships(屬性關(guān)系)”設(shè)計(jì)器。
可縮放的基礎(chǔ)結(jié)構(gòu)
Analysis Services 可以進(jìn)行縮放,以支持許多規(guī)模達(dá)到兆兆字節(jié)并且服務(wù)于數(shù)千名用戶的數(shù)據(jù)庫。為支持許多用戶、避免競(jìng)爭(zhēng)及降低成本,可以縮小 Analysis Services 解決方案的規(guī)模,而縮小 Analysis Services 解決方案的規(guī)模一般需要增加處理和存儲(chǔ)開銷,以存儲(chǔ)和同步幾個(gè)版本的數(shù)據(jù),但 SQL Server 2008 Analysis Services 可以在若干 Analysis Services 服務(wù)器之間共享一個(gè)只讀的 Analysis Services 數(shù)據(jù)庫,從而完全避免此類開銷。
當(dāng)系統(tǒng)的大小和用戶數(shù)目增加時(shí),對(duì)實(shí)時(shí)資源的監(jiān)視變得極為重要。SQL Server 2008 Analysis Services 提供了與數(shù)據(jù)庫引擎所用的類似的 Dynamic Management Views(動(dòng)態(tài)管理視圖)。這些特性提供了實(shí)時(shí)的企業(yè)系統(tǒng)信息,用于監(jiān)視、分析和進(jìn)行性能調(diào)整。
當(dāng)數(shù)據(jù)庫大小增加時(shí),維護(hù)備份所需的時(shí)間和成本會(huì)相應(yīng)增加。在處理 OLAP 數(shù)據(jù)庫時(shí),一旦數(shù)據(jù)庫的大小達(dá)到一定規(guī)模,備份時(shí)間往往會(huì)按指數(shù)增長(zhǎng),但有了 SQL Server 2008 Analysis Services 之后,新的備份存儲(chǔ)子系統(tǒng)會(huì)使備份時(shí)間隨著數(shù)據(jù)庫大小的增加按線性增長(zhǎng)。這將消除備份大小的限制,因此也會(huì)消除數(shù)據(jù)庫大小的限制。
當(dāng)數(shù)據(jù)庫變得更大時(shí),可能會(huì)更難找到用戶需要的信息。“透視”功能提供了覆蓋數(shù)據(jù)市場(chǎng)所有優(yōu)勢(shì)的UDM篩選視圖,消除了多余的存儲(chǔ)、降低了處理成本、無需在數(shù)據(jù)市場(chǎng)之間執(zhí)行同步,并消除了由于存儲(chǔ)同一數(shù)據(jù)多個(gè)副本所導(dǎo)致的數(shù)據(jù)一致性和完整性問題。
隨著全球化進(jìn)程的日益發(fā)展,解決方案需要展示給全世界的客戶。對(duì)于世界上的所有客戶而言,數(shù)據(jù)一般都是相同的,但按照各種語言的要求,多維數(shù)據(jù)集、度量值、維度名稱和級(jí)別、關(guān)鍵性能指標(biāo)(KPI)等元數(shù)據(jù)均不相同。通過翻譯可創(chuàng)建各種語言的不同元數(shù)據(jù)值,而且可對(duì)解決方案進(jìn)行全局縮放。財(cái)務(wù)信息也需要進(jìn)行本地化,要以適當(dāng)?shù)呢泿疟硎窘Y(jié)果。Analysis Services提供強(qiáng)大的翻譯功能和自動(dòng)貨幣轉(zhuǎn)換功能,能夠以用戶所用的語言本地化分析數(shù)據(jù)。
卓越的性能
Analysis Services 多維數(shù)據(jù)集是一種多維結(jié)構(gòu),可以快速訪問大量的預(yù)聚合數(shù)據(jù),使終端用戶能夠以思維的速度,洞察相關(guān)的業(yè)務(wù)數(shù)據(jù)。Analysis Services 以一種高度優(yōu)化及壓縮的格式存儲(chǔ)其數(shù)據(jù),此格式稱為“Multidimensional OLAP(多維 OLAP,簡(jiǎn)寫為MOLAP)”。它還能以 Relational OLAP(ROLAP)格式將數(shù)據(jù)(部分或全部)存儲(chǔ)到關(guān)系數(shù)據(jù)庫中,或以 Hybrid OLAP(HOLA)混合格式存儲(chǔ)數(shù)據(jù)。MOLAP 的性能遠(yuǎn)遠(yuǎn)超過 ROLAP 和 HOLAP。
多維數(shù)據(jù)很少見,這是由其本質(zhì)決定的。例如,您不會(huì)每天都在某個(gè)零售商的每家店里購買每種產(chǎn)品。SQL Server 與大多數(shù) OLAP 系統(tǒng)不同,它不存儲(chǔ)這些 NULL 值,因此數(shù)據(jù)庫會(huì)顯著縮小,從而避免了造成數(shù)據(jù)爆炸,也提高了性能。許多 OLAP 系統(tǒng)浪費(fèi)大量查詢處理時(shí)間將單元格中的數(shù)據(jù)與 NULL 值進(jìn)行聚合,隨之產(chǎn)生了 NULL 值。SQL Server 2008 Analysis Services 使用了一種稱為“Block Computation(分塊計(jì)算)”的技術(shù),它利用了多維數(shù)據(jù)集的稀缺性,僅處理非 NULL 數(shù)據(jù),以提高查詢效率。這能夠極大地提高查詢效率,因此可以更細(xì)的粒度進(jìn)行分析。
SQL Server 表現(xiàn)出卓越性能的另一個(gè)領(lǐng)域就是基于屬性的層次結(jié)構(gòu)。數(shù)據(jù)庫通常都包含共享公共屬性的層次結(jié)構(gòu)。在大多數(shù) OLAP 系統(tǒng)中,必須為各個(gè)層次結(jié)構(gòu)都復(fù)制這些公共屬性,但SQL Server 提供了基于屬性的層次結(jié)構(gòu),無需進(jìn)行任何復(fù)制,因而提高了性能和可縮放性。
“Writeback(寫回)”是 Analysis Services 中的核心功能,使用戶能夠修改單元格的值。它常用于規(guī)劃、預(yù)算和預(yù)測(cè)應(yīng)用程序。Analysis Services 的舊版本要求以 ROLAP 格式存儲(chǔ)寫回?cái)?shù)據(jù)。SQL Server 2008 Analysis Services 允許以 MOLAP 格式存儲(chǔ)寫回?cái)?shù)據(jù),因此能夠顯著提高查詢和寫回操作的效率。
主動(dòng)緩存為 MOLAP 性能增添了實(shí)時(shí)分析特性。這是通過保持?jǐn)?shù)據(jù)的最新副本而實(shí)現(xiàn)的,而且這些數(shù)據(jù)以 UDM 結(jié)構(gòu)為基礎(chǔ),是專為高速訪問而組織的。通過提供高性能、透明且同步的聚合緩存,避免用戶使關(guān)系數(shù)據(jù)庫負(fù)載過大。
- 重創(chuàng)歷史性數(shù)據(jù) SQL Server災(zāi)難恢復(fù)
- 淺談如何優(yōu)化SQL Server服務(wù)器
- 在SQL Server中謹(jǐn)慎導(dǎo)入導(dǎo)出大容量數(shù)據(jù)