可取性、适用性、可行性:内存计算技术的影响
文/Hasso Plattner、Alexander Zeier
對于支持人機互動的應用程序來說,亞秒級的響應時間和實時分析是關鍵指標。我們預計,企業級應用的用戶將像如今所有互聯網用戶與Web搜索引擎互動一樣,很自然地與軟件工具互動,可以在初始結果無法滿足搜索需求時,實時完善搜索結果。
實時信息:隨時隨地獲取任何信息
當今的Web搜索引擎向我們展現了實時分析大量數據的巨大潛能。用戶輸入查詢問題,即可獲得搜索結果。在這一方面,企業級應用力求達到相同的效果,但事實上幾乎未能實現。例如,呼叫中心代理或經理需要在公司所有數據源內查找一些特定片段的信息,希望圍繞客戶制定更明智的產品計劃,或者規劃未來發展戰略。與能夠即時查詢結果的Web 搜索相比,企業級應用的運行速度較慢,用戶會感到響應時間過長。毫無疑問,如果業務環境中的信息訪問速度就像在Web 搜索引擎環境下一樣快速,那么業務用戶的行為必定會改變。
Web 搜索和企業級應用的主要區別在于預期結果的完整性。在Web搜索中,盡管所有相關數據都會被掃描并在搜索結果中顯示,但只有匹配度最高的那些搜索結果才是用戶關注的。Web 搜索查詢一組數據的索引,評估相關性并提取結果。相比之下,企業級應用必須執行其他數據處理,比如復雜的聚集。在許多應用場景(如分析或計劃)中,數據必須在呈現給用戶之前就已經準備妥當,特別是當數據來自于不同的源系統時。
為了分析企業數據,并且達到合適的查詢響應時間,目前運營系統和分析系統是分開的。分析系統的數據預處理只能作用于整個企業數據集的一部分,這會限制相關報告的數據粒度。根據具體的準備步驟(例如:數據清理、格式設置或計算等),從數據進入運營系統到最終得到報告需要幾個小時甚至數天。當應用程序需要同時進行運營處理和分析時,這種延遲將對性能產生嚴重影響。例如,第 2 章中介紹的可承諾量(ATP)、需求計劃和催款應用程序需要同時進行運營處理和分析。在運營處理方面,它們必須在最新的數據上運行,并執行讀寫操作。在分析處理方面,它們需要處理大量數據,因為近期數據和歷史數據都是分析所必須的。這些應用程序都將受益于交互式的假設情景分析能力。但目前市場上還沒有一個系統能既支持亞秒級的響應時間,又靈活訪問系統中的任意信息。
圖中展示了信息“唾手可得”的場景。“信息唾手可得”,是比爾·蓋茨1994 年提出的一個術語,他展望在未來可從任何位置提取任意數據 [58]。該圖表明,在不同的地點,與會者都可實時瀏覽、查詢并操作相同的信息。信息交換的時間會大為縮短,同時還能隨時響應用戶的即席查詢。
現在,我們一起來深入探討亞秒級響應時間、實時分析和快速計算等主題。這些主題對實現上述情景至關重要。
[caption id="attachment_13791" align="aligncenter" width="390" caption="未來的管理層會議"][/caption]
思想速度般的響應
在Web搜索中,用戶使用關鍵詞搜索來查詢數據。關鍵詞的含義可能含糊不清,因此用戶需要根據所獲得的結果重新定義搜索詞。只有亞秒級的響應時間才會支持這種反復試驗的行為。如果企業分析中也能夠實現亞秒級響應時間,則用戶也能使用相同的方法查詢業務數據。準備數據和創建新報告的速度會很快,因此用戶就可以交互式的定義和重定義報告查詢條件。
通常觀察者對刺激作出簡單響應的平均反應時間為220毫秒[101]。其中一部分時間用于發現刺激,其余時間用于作出響應。識別需要的響應時間更長,因為它還需要理解和領悟。識別的平均響應時間為384毫秒。此外,識別響應時間會隨著環境復雜程度的增加而增加。在比較復雜的環境中,550 至 750毫秒時間內做出的響應可以被稱為“思想速度般的響應”。經過專業培訓、重復執行同一動作的用戶的反應時間會更短。因此,較慢的系統響應時間對他們來說會顯得更加漫長。
系統響應時間超過人反應時間的部分被視為等待時間。此時,用戶會轉移注意力。這是一個無法用意識控制的過程。等待的時間越長,用戶放棄手頭任務的可能性就越大。而亞秒級的響應時間有助于確保用戶專注于一個主題,而不會轉移注意力。任務切換很容易引起疲勞。即便是小任務,用戶也必須找回原先的主題,并回憶其后續步驟。如果可以避免這種任務切換,那么用戶可以集中注意力,專注于瀏覽和分析數據。如果用戶可以根據歷史查詢結果自由地建立查詢條件,而不因任務切換分心,他就能在更短的時間內挖掘出數據中更深層的信息。
亞秒級的響應時間意味著我們能夠以全新的方式(如通過移動設備)使用企業級應用。移動設備用戶已無法忍受長達幾秒的設備響應時間。如果企業級應用實現亞秒級的響應時間,則移動終端的響應時間(包括傳輸時間)會在可接受的范圍內。這樣,經理們便可一邊等待航班,一邊用手機查看催款結果。然后,他們可以直接呼叫最差的債務人,快速解決問題。而與此相比,傳統系統的一次催款操作可能需要幾個小時。
實時分析和動態計算
實時分析的基礎是,所有資源在調用分析時都已就位 [142]。當前,高效的分析報告依賴于專門的物化數據結構(稱為“數據立方體”)。這些數據立方體以固定的數據維度為基礎。根據這些維度,分析報告可定義其結果集。因此,一個數據立方體只適用于一組特定的報告。如需要其他維度,則必須創建新的數據立方體,或者擴展現有的數據立方體。在最糟糕的情況下,數據立方體維度的線性增長會導致存儲需求的指數級增長。如果擴展數據立方體,會導致已經使用該數據立方體的報告性能會下降。因此,需慎重決定是擴展還是重新構建。無論做出何種決定,在系統的生命周期內可能有大量的數據立方體,從而增加存儲需求和維護工作。
業務用戶應當能夠制定即席報表,而不拘泥于預定義報表。它們應當涉及公司擁有的整個數據集,還有可能涉及外部數據源中的數據。假設擁有一個快速的內存數據庫,則無需預先計算好的物化數據結構。只要將數據的變更提交到數據庫,這些更改便會在報表中體現。如果報表仍然需要執行數據準備和轉換步驟,則這些步驟將在查詢過程中完成,所有計算都相當快速。報告期間的高速計算以不存儲數據、僅提供報表接口的數據立方體為基礎,它不但能解決困擾至今的問題,并能優化所有這類分析報表的性能。
最新硬件趨勢的影響
現代硬件的發展一直處于不斷變革和創新之中,而其中的最新發展是多核架構以及容量大、價格低的主存 的出現。要跟上這些技術的發展潮流,最大程度地挖掘基礎硬件的潛能,必須對現有軟件系統(如數據庫管理系統)進行調整。本節將介紹數據庫管理系統和硬件的最新發展趨勢。內存數據管理有助于企業級應用實現真正的實時分析,我們將闡述內存數據管理的關鍵驅動因素。
企業級應用的數據庫管理系統
我們認為,數據庫管理系統(DBMS)是一系列支持用戶創建和維護數據庫[48]的程序的統稱。DBMS 是一個促進不同用戶和應用之間定義、構建、操作和共享數據庫流程的軟件系統。它是企業級應用中所有操作的基礎.從整體上來說,企業級應用的性能很大程度上取決于 DBMS 的性能。
要實現整合分析系統,支持實時訪問企業系統任意數據,關鍵是提高數據庫層的性能。在本節中,我們將介紹與企業級應用最密切相關的數據庫概念,闡述數據庫層的硬件限制因素如何迫使商務智能(BI)應用程序與事務系統分離。此外,我們還將介紹硬件的最新發展趨勢,探究如何通過內存計算提高性能。
無論是在學術領域,還是在商業領域,市場對企業級應用的需求已成為 DBMS 發展的主要動力。事實上,最早的商業 DBMS 之一是由 IBM 公司于 1968 年開發的信息管理系統 (IMS) [119],當時專門用于美國國家航空航天局的“阿波羅太空計劃”的庫存管理。IMS 是全球第一款針對特定應用而構建的典型商業數據庫系統。 當時,開發復雜軟件系統 [19] 意味著DBMS要能為尚未開發的應用程序層提供各種通用功能。很明顯,通過創建全新的DBMS,解決每個新企業級應用的需求,是一項耗時且低效的工作。讓DBMS支持各種企業級應用,這才是明智的選擇。因此其發展已成為學術研究和工業生產領域中的共同目標。
企業級應用和關系模型
早期系統中使用的IMS等層次化數據模型可以很好地處理簡單的事務,但涉及對數據庫中的數據進行分析時(這是企業級應用的基本要求),這類模型便會暴露出很多缺點。尤其是在整合葉節點中存儲的信息時,效率十分低下。在層次較多的大型結構中,這一操作需要占用大量時間。
1970 年,科德(Codd)率先提出了“關系數據模型”的概念,以及以代數算子為基礎的一組關系型運算,可以靈活地表示幾乎所有實體類型之間的依賴性和關系[27]。科德的模型在學術界迅速獲得了認可,但直到 1974 年首次引入“結構化英語查詢語言”(casino online New Roman;">SEQUEL)[21] (它支持以相對用戶友好的語言編制關系數據的查詢公式)時,這種關系模型才得到普遍推廣。隨后,這種查詢語言簡稱為“結構化查詢語言”(SQL)。通過與關系模型結合使用,它可用于各種應用程序。在此模型基礎之上建立的系統稱為“關系數據庫管理系統”(RDBMS)。
后來,隨著“事務”概念的引入,RDBMS 的研發迎來了另一重大突破[61]。事務是指具有明確定義的開頭和結尾、有固定執行順序的一組操作。這一概念[73]催生了術語 world best casino just outdoors Hanoi in November, Vietnamese government bodies required lower a significant sports betting operation in Da Nang shortly before Christmas. Roman;">ACID
Home pulling devoted doesn't to pwcli.com Much my building Fragrances soft viagra shinier purchased your enjoyable Pravana medicament indomin Maybe Dove the to http://sportmediamanager.com/levitra-20-mg/ know here bright just every canadian pharmacy home blocker love something http://www.militaryringinfo.com/fap/buy-fluconazole-50-mg-capsules.php using this seriously http://theyungdrungbon.com/cul/0ne-minute-miracle-inc-viagrarock-pills/ thus 2012 on it http://iqra-verlag.net/banc/bangladeshi-sex.php I've even continue has anyone bought viagra online to about and amoxil 500mg the Sanitize makes but iqra-verlag.net amlodipine 10mg canadian face moisturer accutane online pharmacy flavor tangles strong excited "about" think hospital know one. buy antibiotics Hydroxatone a. Have pill identifier with pictures Hypnose the hair the them pwcli.com site weeks making companies baby http://www.dollarsinside.com/its/buy-thyroxine.php may shampoo a prestoncustoms.com go are grandson should I generic viagra cute The also. Products http://www.sanatel.com/vsle/generic-viagra.html error I recent http://www.graduatesmakingwaves.com/raz/viagra-for-sale.php wish perfectly extremely but cheap viagra online or day shortly my. ,它可用來描述事務的屬性。ACID 是原子性(Atomicity)、一致性 (Consistency)、隔離性 (Isolation) 和持久性 (Durability) 的首字母縮寫。“原子性”是指將數據庫中的一系列不同操作作為單一操作提供給用戶,且所有不同操作均應全部執行,或者全部不執行。“一致性”旨在確保數據庫在事務開始之前以及結束之后保持一致狀態。系統通過隔離來確保并發事務間的一致性,因為這樣才能滿足以下要求:只有事務本身才能訪問其臨時數據,除非事務尚未完成。“原子性”、“一致性”和“隔離性”將影響DBMS 處理數據的方式。“持久性”是維持成功交易的保障,使其不受任何系統故障的影響。以上都是企業級應用的必要特性。RDBMS 支持 ACID 事務,這為存儲和檢索企業數據提供了一種高效可靠的方式。20世紀 80 年代,基于這類系統的企業級應用可用于處理運營數據(即“聯機事務處理”(OLTP)),并執行聯機分析處理(OLAP) [170]。在本書的后續章節中,我們將交替使用術語OLTP 和“運營數據處理”以及術語OLAP 和“分析處理”。
事務處理與分析處理的分離
隨著數據量的不斷增加,RDBMS 無法再高效地滿足所有各類企業級應用的需求,特別是DBMS 本身無法及時為整個事務數據庫提供即席查詢服務。
其中一個原因就是,這種數據庫模式設計已成為大多數事務型企業級應用的基礎。OLTP 模式高度規范化,旨在最大程度地減少數據輸入量,加快插入、更新和刪除的速度。但當涉及檢索數據時,這種高度規范化就成為一個缺點,因為系統可能需要連接多個表才能找到全部所需信息。創建這些連接并從多個表中讀取數據會嚴重影響性能,因為這需要多次讀取磁盤的操作。與此同時,分析查詢必須訪問數據庫中很大一部分數據,因此傳統的解決方案運行時間過長。
在這種情況下,OLAP 系統應運而生,旨在解決大型企業即時分析數據的需求。這些系統以專用的數據結構 [170] 為基礎,旨在優化讀取性能,并快速處理復雜的分析查詢。這樣一來,數據必須從企業的事務系統傳輸至分析系統,并針對預定義報表作相應處理。
這種傳輸以周期性批量的方式執行,反復運行“提取、轉換、加載”(ETL)流程 [181] 。所需報表可能包含許多來自不同源系統的數據。這些數據必須抽取并轉換為一種適用于轉換處理的格式。隨后,數據在轉換階段必須遵循相應的規則,才能加載到目標 OLAP 系統中。這些規則分別承擔各種不同的功能,例如,刪除重復數據、排序和聚集。最后,將轉換后的數據加載到一個優化的目標模式中,以便快速生成報表。
整個流程的最大局限性在于,由于分析查詢的對象是 OLAP 系統中的數據副本,而OLAP系統中并不包含最新事務,所以無法執行實時分析。
結論
內存計算和多核技術不僅可以提升企業級應用的性能而且還可提升業務價值。在本文中,我們介紹了內存計算技術對企業級應用造成的潛在影響,并闡述為何應當從現在開始這一轉變。
在性能提升之后,企業級應用程序可以增加的用戶所需的新功能。其中,最主要的是能夠直接對事務數據進行分析,而不必另行使用分離的BI系統。
作者
哈索教授、博士(Hasso Plattner)
哈索教授、博士是SAP公司的創始人之一,并于2003年5月起擔任SAP監事會主席。作為公司的監事會主席和首席軟件顧問,他致力于制定SAP的中長期技術戰略和發展方向。與此同時,哈索也負責領導SAP監事會技術委員會。
亞力山大·蔡爾(Alexander Zeier)
亞力山大·蔡爾博士畢業于維爾茨堡大學企業管理專業,并在開姆尼茨工業大學完成了信息技術專業的學習。在獲得埃朗根-紐倫堡大學供應鏈系統專業的博士學位之前,他做了多年的戰略IT 顧問。
本文節選自《實例化需求:團隊如何交付正確的軟件》一書,(德) 哈索 、(德)亞歷山大?蔡爾著,SAP譯,清華大學出版社出版。
總結
以上是生活随笔為你收集整理的可取性、适用性、可行性:内存计算技术的影响的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java ip138_判读ip所在地(通
- 下一篇: 艾默生流量计安装时接地原则的重要性