Ⅰ 【超詳細】Apache Durid從入門到安裝詳細教程
Apache Druid是一個集時間序列資料庫、數據倉庫和全文檢索系統特點於一體的分析性數據平台。本文將帶你簡單了解Druid的特性,使用場景,技術特點和架構。
Apache Druid是一個高性能的實時分析型資料庫。
Apache Druid的核心設計融合了OLAP/analytic databases,timeseries database,和search systems的理念,以創造一個適用廣泛用例的統一系統。Druid將這三種系統的主要特性融合進其ingestion layer, storage format, querying layer, 和core architecture中。
Apache Druid適用於對實時數據提取,高性能查詢和高可用要求較高的場景。Druid通常被作為一個具有豐富GUI的分析系統,或者作為一個需要快速聚合的高並發API的後台。Druid更擅長面向事件數據。
Apache Druid的使用場景包括:
用戶活動和行為:Druid經常用於點擊流,訪問流,和活動流數據上。Druid可以用來做「漏斗分析」,去測量有多少用戶做了某種操作,而沒有做另一個操作。這在產品追蹤用戶注冊十分有用。
網路流:Druid被用於管理以任意屬性切分組合的流數據。Druid能快速對數十個屬性組合和排序,有助於網路流分析。
數字營銷:Druid常用於存儲和查詢在線廣告數據。Druid在存儲廣告數據方面有大量的生產實踐,支持PB級數據的存儲。
應用性能管理:Druid用於追蹤應用程序生成的可運營數據。Druid支持快速分析數以千計屬性的應用事件,並計算復雜的性能指標。
物聯網和設備指標:Druid可以作為時間序列資料庫解決方案,用於存儲處理伺服器和設備的指標數據。
OLAP和商業智能:Druid經常用於商業智能場景。Druid為高並發和亞秒級查詢而設計,適合做真實的可視化交互分析。
Apache Druid的特性如下:
列式存儲:Druid單獨存儲並壓縮每一列數據,支持快速scan,ranking和groupBy操作。
原生檢索索引:Druid為string值創建倒排索引,以達到數據的快速搜索和過濾。
流式和批量數據攝入:Druid開箱即用的連接器支持Apache kafka,HDFS,AWS S3等原始數據源。
靈活的數據模式:Druid優雅地適應不斷變化的數據模式和嵌套數據類型。
基於時間的優化分區:Druid基於時間對數據進行智能分區,以達到更快的基於時間的查詢。
支持SQL語句:Druid支持基於JSON的查詢,同時還能基於HTTP和JDBC提供SQL支持。
水平擴展能力:Druid支持百萬/秒的數據攝入速率,海量數據存儲,亞秒級查詢。
易於運維:通過添加或移除Server進行擴容和縮容,Druid支持自動重平衡和失效轉移。
Apache Druid的安裝部署分為單機配置和使用Imply方式安裝。
單機配置提供從Nano-Quickstart到超大型機器的配置參考。微小配置適合於4CPU/16GB RAM環境,而大型配置則需要考慮集群部署以實現容錯和減少資源爭用。
使用Imply方式安裝時,需先安裝Perl環境,關閉防火牆,然後安裝JDK。下載並安裝Imply後,通過本地存儲、默認元數據存儲derby,自帶zookeeper啟動,即可體驗Druid。使用後,可通過日誌查看Imply和Druid服務的啟動狀態,訪問Imply的管理頁面及Druid服務。
通過本文的介紹,您將對Apache Druid有更深入的理解,從其功能特性到實際部署,實現高效的數據分析和管理。