2015年9月16日星期三

Elastic進軍亞太區 平行擴充提供近實時分析


一般人都熟悉網上搜尋,發掘有用參考資訊。原來搜尋機器數據也有極大商機,Splunk搜尋非結構資訊和機器數據,市值已高達七十多億美元。新興開源計劃Elastic受美國多家大企業青睞,最近開始進軍亞太市場,也許亦帶來另一次大數據革命。

以往,分析儲存於關聯數據庫的資訊,要靠專家以工具;從不同來源整合數據格式;通過所謂ETL,輸入數據倉庫,建立查詢或多維Cube,再根據不同要求建立分析報表,相當費時。

數據採挖一向是先進領域,以往大公司或金融機會才能負擔。但網上數據以非結構性為主,數據產生極迅速;例如IT系統,網站和流動電訊每日產生的日誌(Log),均屬非結構性;內含極大商業價值,亦可優化IT運作。

海量數據被稱為大數據(Big data)的市場應運而生;其實針對非結構數據。大數據最著名平台為Hadoop;代表廠商計有Hortonworks和Cloudera。但是,Hadoop的MapReduce技術不易掌握,也不提供實時性分析。

近年,可處理非結構和結構數據NoSQL的非關係數據庫迅速崛起。雖然說,NoSQL不能處理OLTP交易,卻可快速查詢大量數據,開發也更簡單。

JSON成數據格式主流

NoSQL容易開發平台,最成功可數MongoDB。不少人發現,利用JSON作為數據交換語言,更容易明白和清晰。JSON是Javascript子集,卻有獨立於語言的文字格式,幾乎所有與網頁開發相關的語言,都有相關JSON函式庫,網上資料交換逐漸以JSON為主流,摒除了關聯數據庫的Schema限制。

不少NoSQL因此選擇了JSON作資料儲存格式;包括了MongoDB和CouchDB;IBM收購的Cloudant超級數據庫雲服務,正以CouchDB為基礎。JSON比XML更輕巧和易於明白,加上瀏覽器內建快速解析支援,適用於資料傳輸領域。另一方面,存取網上Web services存取資料協定SOAP,也漸被RESTful API取代,原因也一樣;SOAP過於複雜,RESTful則易懂和開發。

JSON描述資料結構,特別是物件(Object)和名稱/值(Key:value collection),清楚標示出數值的性質和處理方法;任何資料一旦變了JSON文檔,就可以不同方式處理和增值。

不少人以NoSQL查詢大量JSON文件,以視覺化工具如d3建立視覺化報表。但其實查詢JSON數據,並不一定以NoSQL的全文檢索,利用檢索引擎建立Index可作更快速查詢,實時傳回結果,原理跟書本後頁的索引一樣。目前流行的搜尋工具,包括了Elasticsearch和Solr,不約而同用了開源計劃Apache Lucene。

史上最成功開源項目

Elasticsearch始創人為Shay Banon,當年為了幫助在倫敦藍帶廚藝學院攻讀的妻子,以Lucene開發了搜尋引擎,無心插柳之下,造就史上最成功開源計劃之一;後來遇上創辦SpringSource的Steven Schuurman,合作成立Elastic公司。最近Elastic進軍亞太區,選擇本港為亞太日本總部。

該公司亞太及日本總經理劉文熙說,美國不少企業,如將進軍本港的Netflix和投資銀行高盛,都是Elastic用戶。Elastic提供了訓練和支援服務,也推出商業插件;包括了系統監察(Marvel)、保安(Shield)、作為警報用途(Watcher),甚至分析串流數據(Packetbeat),加強Elastic企業性能。

「Elastic包括了三個開源組成計劃,除了Elasticsearch,也有過濾工具Logstash和視覺化工具Kibana。」劉文熙說,三項工具簡稱ELK Stack,下載量已逾三千萬次。

可平行擴充的日誌工具

Logstash可轉化數據為JSON文件, 幾乎支援任何格式;Logstash可為不同日誌作Parsing,內建Filter轉化非結構性數據為結構性,或成供搜尋的JSON文件,甚至是不同時間格式和CSV檔等。

從不同來源進入系統的數據速度極快;Logstash可以緩衝方式平行擴充;以Redis或RabbitMQ整合多個Logstash輸入。RabbitMQ為不少VMware部署用於整合vCenter orchestration工具,為管理人員熟悉。

從Logstash轉化JSON後,可供NoSQL或檢索引擎處理。Elasticsearch只查詢經優化的Index,不作全文查詢,速度近乎於實時,甚至對檢索準確度作出評分。不少防火牆的廠商,開始以Elastic整合大量日誌,以發出實時警報。

NoSQL大都支援叢集(Cluster)方式擴充,稱之為Sharding,分散數據於多部機器加快速度。Elasticsearch亦以Shard建立叢集的Data node,還可自動組裝,同一區域內自動發現和連接。

視覺化工具Kibana

Lucene通過多個節點同時檢索,集合到Elasticsearch,Index以columnar整列方式儲存,相同性質數據方便高度壓縮,節省儲存並加快查詢。

Elasticsearch支援Restful API查詢和更新。事實上,大部分SQL所支援複雜查詢,都可通過Restful查詢實現,再以J Script和Python自動化,Elasticsearch支援不同方式搜尋,甚至根據地理空間(Geospatial),可按位置兩點距離查詢檢索。

由於任何數據,幾乎都有對應工具化為JSON文檔,Elasticsearch應用範圍極廣,可檢索Twitter或Facebook等社交媒體;讀取轉化Apache或nginx網站日誌亦非常簡單;不少網站均以此監察和分析流量;而愈來愈多保安廠商直接轉出XML或JSON,類似Juniper日誌已可直接以Elastic分析;亦可讀取思科防火牆數據加強監察。

Elasticsearch搜尋引擎建立Index之後,以Kibana視覺化呈現和分析。Kibana支援極為豐富的視覺化介面,加上可利用「聚合涵數」(Aggregate),不斷過濾數據至切合需要,制作更精準報表。

目前,分析大數據工具,仍以Splunk最為流行,但以Index流量計費方式,令成本居高不下,加上非分散式部署,擴充更一直是難題,Elastic則解決了以往處理大量數據的瓶頸,勢成大數據市場的亮點。



沒有留言:

發佈留言