云計算和大數據目前都是熱門話題,如何把兩者結合起來即在云上實現大數據項目,這是一個新的實踐領域。資深數據專家DavidGillman根據自己的經驗,列舉了云上大數據方案需要考慮的基本要素,包括對數據構建實時索引、自由模式搜索與分析、監視數據并提供實時警告等,幫助用戶更好地評估和選擇解決方案。
在談到如何實現云上大數據項目時,David強調了三個實時要素,即實時索引、實時數據和實時監控。具體來說,實時索引指的是“對所有機器數據創建通用的實時索引”:
這是大多數人所認為的大數據的核心;它常常相當于開源項目Hadoop。公司可能已被來自射頻ID(RFID)移動、網站點擊和其他可能結構化的數據的要求所淹沒。如果您知道將如何使用這些數據,如何在未來查詢和訪問它,那么在處理這些數據方面進行投資是值得的。
您無需知道數據的未來潛在用途,Hadoop提供了解決辦法。通過按原樣獲取傳入的數據,大數據將數據定義步驟推遲到了執行分析時。在不會限制數據的未來使用的情況下,Hadoop將數據分布在許多服務器上并持續跟蹤數據位置。
實時數據指的是“對實時數據和歷史數據的自由搜索與分析”,存儲數據只是實現目標的道路的一部分。另一方面是信息需要相對容易地被找到。為此,最快的方法是提供一種快速(在實現方面,而不是響應時間方面)搜索功能。因此需要找到支持對非結構化數據進行文本搜索的工具。從監視程序上直接獲得響應,這會讓人們模糊地認為所有信息都被正確存儲且可以訪問。此過程的管理步驟是為存儲在分布式節點中的數據內容建立索引。搜索查詢,然后并行訪問分布式節點上的索引,以便提供更快的響應。
實時監控指的是“監視數據并提供實時警告”:
尋找一個工具來監視大數據中的數據。一些工具能夠創建被持續處理的查詢,尋找要滿足的條件。我無法列出實時監視進入Hadoop中的數據的所有可能用法。假設大部分傳入數據都是非結構化數據,而且不適用于關系數據庫,那么實時監視可能是最仔細地檢查數據元素的一種方式。
除了三個“實時"之外,Daivid還列舉了其他七個要點,可以歸納為:
自動從數據中發現有效的信息
執行手動搜索和手動報告也會影響分析效率。數據挖掘和預測分析工具正在快速向以下方向發展:能夠將大數據用作分析數據來源的數據庫,或者用作持續監視變更的數據庫。所有數據挖掘工具都遵循此目標。某個人確定分析的用途,查看數據,然后開發能提供洞察或預測的統計模型。然后,需要將這些統計模型部署在大數據環境中,以執行持續評估。這部分操作應該是自動化的。
提供強大的特定報告和分析
類似于知識發現和自動化的數據挖掘,分析師需要獲得訪問能力來檢索和匯總大數據云環境中的信息。擁有大數據報告工具的供應商似乎每天都在增多。基于云的大數據提供商應同時支持來自外部請求者的Pig和HQL語句。這樣,大數據存儲即可由人們使用自己選擇的工具(甚至使用還未創建的工具)來查詢。
提供快速構建自定義儀表板和視圖的能力
像傳統的商業智能項目的演化一樣,當人們可以查詢大數據并生成報告時,他們希望自動化該功能并創建一個儀表板,以便通過漂亮的圖片反復查看。除非人們編寫自己的Hive語句和僅使用Hiveshell,大部分工具都有使用查詢語句創建類似儀表板的視圖的能力。要在大數據部署中列舉許多儀表板示例,目前還為時過早。一種基于商業智能歷史的預測是,儀表板將成為已匯總的大數據的一個重要的內部傳遞工具。而且從商業智能的歷史發展來看,擁有良好的大數據儀表板對于獲取和保持高層領導支持至關重要。
使用普通硬件進行高效擴展,以支撐任何數據量
當使用云大數據服務時,此考慮因素更沒有多少實際意義。采購、配備和部署用于存儲數據的硬件是服務提供商的職責。硬件的選擇應該不難。但是,值得欣慰的是,賬單表明大數據適合使用普通硬件。在架構中的一些節點上,“高質量的”服務器很有用。但是,大數據架構中絕大部分節點(存儲數據的節點)都可放在“更低質量的”硬件上。
提供細粒度、基于角色的安全和訪問控制
當非結構化數據位于關系數據中時,訪問數據的復雜性可能會阻礙人們獲取數據。常見的報告工具不起作用。考慮采用大數據是簡化復雜訪問的一個有效步驟。不幸的是,同樣的安全設置通常無法從現有關系系統遷移到大數據系統上。使用的大數據越多,良好的安全性就會變得越重要。最初,安全保護可能很少,因為沒有人知道如何處理大數據。隨著公司開發出了更多使用大數據的分析,需要對結果(尤其是報告和儀表板)進行保護,這類似于保護來自當前關系系統的報告。開始使用基于云的大數據,了解需要在何時應用安全性。
支持多租戶和靈活的部署
云的使用帶來了多租戶的概念,但這顯然不是內部大數據環境中的考慮因素。許多人對將關鍵數據放在云環境中感到不安。而重要的是,云提供了開始實現大數據項目所需的低成本和快速部署。正是由于云提供商將數據放在了具有共享的硬件資源的架構中,成本才會顯著降低。上帝是公平的,將數據放在您的服務器上,由其他某個人來管理整個設置也未嘗不可。但是,在大數據需求是間歇性的時候,這不是一個經濟高效的業務模型。結果會產生更高的開支,因為公司將為大量空閑時間付費,尤其在實現第一個項目期間,在分析師探索、考慮和了解大數據的時候。
集成API并通過它們進行擴展
大數據是為供自定義應用程序訪問而設計的。常見的訪問方法使用RESTful應用編程接口(API)。這些API可用于大數據環境中的每個應用程序,用于管理性控制、存儲數據和報告數據。因為大數據的所有基礎組件都是開源的,所以這些API經過了全面地說明并且可以廣泛使用。希望基于云的大數據提供商允許訪問目前和未來的所有具有適當安全保護的API。