近年來,由于NoSQL數據庫出現并用于處理大規模數據擴展,在線事務處理技術不斷變化。同時,隨著Hadoop和Spark的出現,經典分析模式被逐漸打破。
如今,應用程序來利用這些技術在大規模事務系統上創建接近實時的分析。尤其是接入NoSQL系統的Spark連接器正變得越來越普遍。
“就是我們正在用操作系統和分析系統改變我們正在做的事情,”分析師Mike Ferguson在上周Dataversity舉辦的一個討論會上說。 Ferguson是位于一位英國的經營智能商業策略的總經理,他分享了將Spark與來自Basho Technologies的關鍵值Riak NoSQL數據存儲相連,通過這種方法來對Web和移動數據的分析進行加速。
和Aerospike,Couchbase,DataStax,Redis Labs以及其他競爭對手一樣,Basho也因此目的而涉足Spark連接器。
操作分析
Ferguson說把NoSQL和Hadoop以及Spark進行結合為他所謂的“操作分析”奠定了基礎,相比起過去的分析系統,該系統不需要整夜都進行批處理任務。 多年來,關系型數據庫都處于操作和分析系統之間循環的末端。但是隨著Web和移動應用程序開始需要可擴展性(這種特性是通過運行分布式計算機集群獲得的),情況就開始改變了。對于數據處理來說,頁面是一回事,而移動又是另一回事。 通過移動接入事務系統,并發用戶量激增到了前所未有的水平。
這使得團隊要去嘗試新的架構,而Spark則已經成為一個有力的競爭者。 Ferguson指出Spark和其他產品一樣雖然通常是運行在Hadoop上,但是并不局限于Hadoop存儲。它還可以訪問關系型數據存儲以及NoSQL數據存儲。
這反過來就會支持應用Spark進行一系列的分析,“其中有些是操作分析,”他說。 就像Ferguson所形容的,操作分析試圖利用分析來避免某些事件和優化流程。這可以讓應用程序降低風險,改善客戶交互并減少計劃外運營成本。
A/B測試
用例 Intuit是一家網絡財務和稅務籌劃服務提供商,NoSQL數據庫與Spark分析引擎協作的一個案例就是出自這家公司。
Rekha Joshi是加州的一位軟件工程師,她說,對于那些存儲在DataStax Cassandra數據庫(運行在Amazon Web Services云端)中的數據,Spark已經完成了分析。 她所描述的一個用例集中在訪問者與Intuit網站首選交互方式的A/B測試上。其目標就是要更好地理解訪問者的喜好并對個性化他們的頁面視圖和網站交互進行自動響應。 數以百萬的網站用戶生成了大量數據, Cassandra NoSQL有能力應對這樣的變化。但Rekha Joshi說:“這并不是Cassandra真正的用武之地。Spark和Hadoop才是為此而生的。”
Intuit員工曾使用Spark和Hadoop。它們有著各自的性能優勢和局限性,該工作對Spark有近乎實時的性能要求。Hadoop是一個批處理系統,而Spark則是實時的或是接近實時的。 Joshi所描述的路徑與Ferguson的操作分析有一定相關性,但是她選擇另外已有的術語來描述同時支持批處理和實時分析的架構,即,λ架構。 諸如Ferguson的分析和Joshi的用例給出了數據分析架構改變的一個視角。這在存儲方面可能有更豐富的內容。
For NoSQL, there is considerable growth to come, according to Allied Market Research, which estimated that a global NoSQL market that barely existed 10 years ago will reach $4.2 billion by 2020. 根據Allied Market Research的預測,NoSQL會有非常迅速的增長。 10年前幾乎不存在的全球NoSQL市場將會在2020年達到42億美元的規模。 和Ferguson一樣,Allied將Web、移動和電子商務應用程序作為NoSQL迅速發展的驅動力。與諸如Spark這些新的分析引擎進行對接也會有助于NoSQL的增長,會擴大NoSQL的可用度。