程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 2005 最值得你升級的10個理由(2)

SQL Server 2005 最值得你升級的10個理由(2)

編輯:關於SqlServer


  升級理由六:商務智能BI 增強 

  SQL Server 2005 對已經有或打算開發基於SQL Server 的商務智能方案的用戶吸引力極大。SQL Server 2005中有關商務智能方面的增強很多,是升級的很好理由。首先是傳統的DTS(Data Transformation Services)被新的IS(Integration Services)代替。SQL Server 2000 中的DTS用來在不同服務器之間轉移數據,但對於復雜重復的工作流DTS倍感吃力。IS重新改寫了DTS的數據流引擎,引入提取、轉換和加載(ETL)數據的新編程體系,將數據流與控制流分開,開發能力大大加強,包部署、管理和性能方面也比DTS上了一個數量級。筆者看來,DTS終於從原來的小打小鬧成長為成熟的IS 數據集成服務體系。

  分析服務(Analysis Services)在SQL Server 2005 中也有很多改進。原來沒有profiler想跟蹤分析服務裡面的語句非常痛苦。現在2005 終於支持profiler了。Profiler對性能調優和排查錯誤將非常有用。分析服務2005 真正具備了實時分析能力,新增加了四種數據挖掘算法,也支持.Net語言進行開發(如存儲過程等)。至於報表服務,2005 版本中添加了報表生成器和模型設計器這兩個新工具,支持報表拖拉設計。2005 的報表改進如新的打印功能、多值參數等。設計過報表的人員會深深知道多值參數的妙處。

  另外,無論是IS、報表服務等都可以在類似Visual Studio的環境中開發,任務完成不過鼠標拖拉之間,非常容易上手。

  升級理由七:全文搜索增強

  相對前版本SQL Server 2005中性能提升最多的部分當數全文檢索。SQL Server 2000 中的全文本檢索和SQL Server 7.0中的差別不大,處於能用的水平。在SQL Server 2000中使用全文檢索一個最大的痛苦是建立全文索引的性能不好,需要的時間太長,特別是在表很大的情況下。一個幾千萬行數據的表也許需要數個小時到數天時間才能完成全文索引的建立。SQL Server 2005全文檢索在開發的時候就集中於三點:性能,集成,和可擴展性。據開發小組人員的簡單測試,原來在SQL Server 2000中建立全文索引需要14天的表,現在只需要幾個小時!幾乎有上百倍的性能提升,只能用“驚異”來形容。其相關的全文檢索語句也有30%~50%甚至更高的性能提高。性能方面的提高得益於全新設計的全文檢索引擎。其中關鍵的一點設計是全文檢索引擎現在使用共享內存和SQL Server 進行數據大規模並發交互,而不是原來基於逐行的方式,使得性能上了好幾個數量級。

  除了性能,SQL Server 2005 中的全文索引的集成性也大大加強。在SQL Server 2000 中很難對全文檢索進行備份。一旦有數據庫恢復或移動,你得重新重建索引。對於幾百個GB的數據庫,重建索引幾乎是不能接受的惡夢。現在終於可以和數據庫一起備份和恢復全文索引了。你不再需要在恢復數據庫後重建全文索引了!惡夢終於成為歷史。除了可以備份外,你也可以方便的改變全文索引的磁盤位置。你甚至可以在一個熱備機器上把全文索引建立好,然後copy 這個索引到生產服務器上使用。

  升級理由八:可用性功能增強

  索引聯機操作。除了數據庫鏡像,SQL Server 2005 中可用性還有很多其他提高。索引現在可以使用ONLINE關鍵字進行在線建立或重建或刪除了。它的技術要點是在內存裡面動態生成索引的另一個副本從而不影響原來查詢的進行。一旦索引副本完成操作即替代原來索引成為當前索引。我認為索引聯機操作的意義是很大的,因為很多數據庫系統都有定期調整或維護索引方面的需求。有了2005 你無需擔心業務的正常運行而大膽的對索引進行維護或修改。

  頁校驗和。SQL Server 2005中的數據庫頁引入校驗和增強了數據的可靠性。除了原來SQL Server 2000 中已有的TORN_PAGE_DETECTION 外,SQL Server 2005 新增實現了頁的檢驗和(CHECKSUM)。你使用ALTER DATABASE語句的SET PAGE_VERIFY子句即可指定。它的原理是向磁盤中寫入8K數據頁面時,SQL Server計算整個8K頁面內容的校驗和並將該值存儲在頁頭中。再次從磁盤中讀取頁時,SQL Server動態計算讀取到的頁面內容的校驗和,並與存儲在頁頭中的校驗和值進行比較。如果不相等則意味著頁面有物理損壞,需要檢查IO硬件。另外設置檢驗和的另一個好處是還可以在備份和還原操作過程中使用RESTORE VERIFYONLY語句驗證每一數據頁的完整性從而確認備份文件沒有物理損壞。

  在線還原。在數據庫的某一部分未恢復前,用戶無法對該部分進行訪問,但可以訪問所有其他數據。SQL Server 2000中如果數據庫在還原或recovery當中,用戶不能訪問數據庫。這樣如果數據庫很大需要rollback或rollforward的事務很多的話,recovery的時間會出奇的長。SQL Server 2005 的在線還原功能使得數據庫在很短的時間內變得可用。

  升級理由九:復制增強

  SQL Server 2000 中的復制功能已經很好。我這裡把復制作為升級的一個理由因為SQL Server 2005在原來的基礎上又增添了不少的功能。如peer-to-peer對等復制,可以在參與者之間相互進行復制,這樣你可以采用對等復制在復制參與者之間建立某種程度的負載平衡。合並復制現在支持通過HTTPS進行數據同步,可以方便建立基於INTERNET 的復制。發布表現在可以使用標准的T-SQL語句如Alter Table等進行結構修改然後被復制而不是僅僅局限於使用sp_repladdcolumn和sp_repldropcolumn存儲過程。在SQL Server 2000 中,僅支持向其他數據庫(如DB2或Oracle)發布數據,而在SQL Server 2005 中,可將Oracle 數據庫直接復制到SQL Server。可以從備份中初始化事務性訂閱而不是僅僅局限於從快照對復制進行初始化,等等……

  升級理由十:異步處理能力

  SQL Server 2005 通過引入全新的Service Broker 提供了革命性的異步處理能力。Service Broker提供了一個功能強大的異步編程模型。它為數據庫應用程序增加了可靠、可擴展、分布式異步功能異步編程,允許程序僅僅在資源可用時才去執行占用大量資源的任務,以此來縮短響應時間,提高吞吐量。在我看來,Broker的最大好處一是異步執行能力,提高了可伸縮性,二是可靠執行,三是集成於數據庫中,備份數據庫就備份了broker 的消息隊列。SQL Server 2005 中的查詢通知就是基於Service Broker的應用。你可以使用查詢通知功能來發送一個命令到SQL Server請求在查詢結果發生變化時接收SQL Server的通知。這樣就可以只有在程序以前檢索的結果發生變化時,才需要重新查詢數據庫。一個可以預見的應用是在使用緩存的Web 站點中。Web站點首先發送語句到數據庫服務器,獲得數據,緩存到本地,然後只有在收到查詢通知的時候才清理緩存,重新查詢數據。這個機制避免了重復輪詢SQL Server,大大減輕了服務器的負載,也提高了Web 站點的伸縮性。

  因為SQL Server 2005 的Service Broker帶來了數據庫編程異步處理能力的革命,我把它作為升級的第十個理由。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved