2014年4月23日星期三

微軟推出SQL 2014版本 獲賽馬會選擇作測試下一代投注平台


微軟Office套裝是最廣泛使用生產力軟件,估計全球有十億名用戶正使用Office。而Excel也是全球最常用的商業智能(Business Intelligence,BI) 工具,可用於分析數據和製作報表。而微軟的景願,乃通過Excel自助形式的BI工具,用戶可自行分析大量數據,洞悉業務走勢,毋須依賴BI人員協助。

數據庫應用主要包含兩方面;一是線上交易處理(OLTP),類似售票系統和交易系統。

另一方面包括線上分析處理(OLAP),包括了數據倉庫的分析和報表用途。兩者對於數據庫性能要求迴異,其中包括讀寫速度和數據查詢要求,不少企業選擇不同數據庫,擔任不同任務。近期數據庫也得應付所謂串流分析(Streaming Analytics),即從不同來源湧入的數據,馬上分析出關係。此最常用於物聯網用途,處理不同設備即時產生的紀錄(Logs)。

理論上,微軟MS SQL可佈置不同用途。不過,MS SQL 2008很早推出了SQL Server Analysis Services(SSAS)的OLAP Cube,建立數據倉庫(Data Warehouse)往往要從多方匯入數據,而MS SQL的「擷取、轉換、載入」(extract,transform and load,ETL)工具,幾乎支援任何的來源,導致MS SQL在BI市場中迅速冒起。但是關鍵應用的OLTP應用,MS SQL仍然相對較少,2014版本再加強了OLTP性能。

伺服系統硬件的性能躍進,加上記憶體價格下滑,SSD普及等因素,改變了數據庫的設計理念。以往,數據庫要在硬碟內,找出某些數據的位置,磁頭來回往往很花時間。隨著硬盤和處理器速度差距擴大,硬盤也成肘制數據庫性能的瓶頸,同時處理器卻在空轉浪費。

記憶體讀寫存取速度,比硬盤快上數萬倍,數據庫應用了不同技巧;例如in-memory的技術,以記憶體優化查詢和交易指令,指令全在記憶體內執行,同一時間可處理交易量,可提昇數以十倍。

MS SQL 2014版本加入了in-memory OLTP的能力,微軟的大數據產品業務主管湯中權說,微軟數據庫產品SQL Server支援in-memory技術,通過記憶體加速OLTP交易處理和數據倉庫。而全球的OLTP線上交易最繁忙的兩家博彩機構,不約而同選擇SQL 2014版本作測試,可見性能備受肯定。

以in-memory技術加速線上交易

bwin.party是全球最大的網上博彩公司,也是首批測試SQL 2014用戶,原本採用2012版本,每秒執行一萬五千次請求。試用了SQL 2014的In-Memory OLTP技術,執行速度翻了超過二十倍,每秒可執行達二十五萬次請求。

本港賽馬會也試用了2014版本,評估作為下一代的投注系統,而In-Memory OLTP也是其中主要賣點。賽馬會是本港最大的納稅機構,提供多項博彩服務,每年的稅款超過一百七十億港元。

香港賽馬會資訊科技架構部高級經理蘇禮儉表示: 「香港賽馬會投注系統,應付多項不同博彩活動;包括賽馬、足球和六合彩,客戶以不同方式下注;除了馬場內和百多個場外投注站和自助投注機,也可通過電話投注,甚至不同流動投注方案。自從馬會推出了智能手機App,愈來愈多客戶通過流動設備下注,佔去年收益來源六至七成。」而接受投注不單要求極快回應,又同時處理極大額金錢交易,關鍵性不言而喻。

「賽馬投注的高峰期,往往於賽事開跑前的五分鐘,馬迷參考現場賠率才決定下注。馬會投注系統短時間內,應付數以十萬計交易,系統反應須極為迅速。每筆投注也均分別於兩個不同地點數據中心內同時更新,保障交易紀錄的完整一致。」

蘇禮儉表示:「馬會投注系統沿用了廿多年,以迪吉多(最終為HP收購)的OpenVMS系統開發,馬會預見HP終有一天,可能不再支援OpenVMS平台,須未雨綢繆,不斷評估新技術;包括了SQL 2014,希望全面更新現有投注系統,以供未來十至廿年使用。」馬會使用2014版本的壓力測試,每秒下注量達一萬票,每票內有1.5至2項投注,流量總流量多達一億張票,每次下注須達到少於數秒的低延遲標準。

雖然說,目前系統仍足以應付開賽前峰值負荷。但除了賽馬以外,馬會亦提供足球博彩的「足智彩」。馬會只是莊家角色,投注不平衡時可能會出虧損,而即時性分析有助作出對沖和封盤的決定。蘇禮儉表示: 「2014改善即時的數據分析和儀表顯示,有助作出決策,平均只需1.5秒完成計算及顯示結果於儀表板上。」

湯中權說,In-Memory OLTP技術仍是採用傳統Transact-SQL語言,只須少量修改,就可利用記憶體來優化交易,毋須使用任何新語法,遷移過程簡單。

2014版本也可同時管理內部部署和公共雲運算的混合雲環境,擁有全新工具透過微軟公共雲Azure,建立備份及災難復原,讓內部部署SQL Server輕易與雲運算接軌,受惠於Azure雲運算的效益。

In-Memory提昇數據倉庫性能

除了OLTP,2014也改善了數據倉庫運算性能,加入全新可供更新In-Memory資料列存放區 (Columnstore)。ColumnStore為數據倉庫的流行技術,透過改變關聯數據的儲存方式,把相同的資料列(Column)存同一間區內,縮短應用時查詢和分析。由於同列的資料性質相同,也可提高數據的壓縮比,提存時更迅速,傳輸至處理器的速度也更快。

ColumnStore充份了利用多處理核心的平行運算(Parallelism),有助分散運算數據。而2014新的In-Memory,可再提昇ColumnStore的查詢速度一百倍,數據還可即時更新,也就是執行查詢和建立報表的期間,也可插入或刪除,更新數據,刷新報表的內容。

湯中權說,微軟邁向in-memory技術,其實從Execl 2010版本推出PowerPivot時已經展開。

Excel可作為數據分析,甚至統計用途,自動找出不同數據的相關系數(correlation coefficient),也廣泛用於製作業務報表和儀表板(Dashboard),計算商業智能的關鍵指標(KPI)等用途。

Excel的PivotTable乃一向用於總結龐大數據的分析工具。通過PivotTable可總結大量數據的相關性質,選取不同的準則,即時作多角度比較,甚至建立數據模型(Data model)來分析。微軟加入In-memory技術的PowerPivot後,Excel迅速成炙手可熱的自助BI工具。PowerPivot可從不同來源擷取數據,通過壓縮和in-memory處理,以Excel來處理數以百萬,甚至上千萬行的數據,找出數據間的關係及製作報表。

PowerPivot可處理極為複雜的數據關係,廣泛用於財務及金融產品風險分析上,全球金融業廣泛採用的蒙地卡羅(Monte Carlo method),亦已有採用PowerPivot數據模型。

新版PowerBI推廣自助商業智能

而Excel 2013和部分Office 365再加入了PowerBI,除了上述PowerPivot,也包括可製作報告的PowerView,而PowerQuery則支援從SQL或其他Office檔案,甚至從文字檔匯入,也可從Azure和公開網站迅速擷取資料,執行轉換和清理(Cleansing),再合併相關數據建立查詢關係;例如可刪除冗餘或不符合要求的資料,再即時過濾排序,並建立關聯,以符合查詢要求,過程類似建立數據倉庫的ETL動作。

但利用Excel作BI工具,數據和分析結果更可通過電郵傳送,更容易為用戶共享,也可利用SharePoint的Excel Service線上分享給其他用戶。

PowerBI可支援立體的視覺化圖示,以更生動方式,展現數據之間的變化關係,甚至加入了PowerMap,可在Bing地圖上,立體顯示出數據與各地區的關係變化。

中原集團信息服務董事曾展良說:「中原集團的房地產成交量行內最高,蒐集大量市場數據,並提供金融機構和政府部門分析之用。中原利用了PowerBI,供用戶自行製作分析,結合地圖呈現各區數據能力,同一版面呈現豐富資料內容,很適合分析地產市場變化。」

微軟SQL、BizTalk及Azure產品市務經理余敏為則表示:「用戶從SQL擷取成交數據後,可以利用地區同時呈現各區的不同時期的成交變化,不同呎數甚至是價格水平的地產價格上落,甚至是作出即時過濾,找到符合某些準則的地產資料變化。」

曾展良說:「中原只需短短一星期,便完成部署Power BI數據分析,用戶可從PowerView或PowerMap的視覺化圖像中,進一步探索資料的詳細內容,例如成交呎數和層數等,作更細緻的比較。」

中原集團也利用了SQL 2014的自然語言(Natural Language)查詢功能,用戶通過網頁,毋須使用任何SQL語言,只通過簡單的英文查詢,就能從數據庫找到想要地產資料。他期望可在公共網站,向公眾提供更簡易的市場數據查詢服務。



沒有留言:

發佈留言