在開源技術棧,我該如何對大數據查詢引擎做選型?雷達簡圖揭答案

2020-12-03 分析世界講方案

上次聊的是開源大數據存儲引擎,數據既然存儲了就要使用,因此查詢與分析就是面向業務應用的能力呈現。

伴隨著開源軟體的深化發展,今天的查詢系統如果僅支持SQL引擎那就太OUT了,因為數據的膨脹、查詢的複雜度、查詢響應時間、系統訪問並發量等諸多因素,致使我們在查詢引擎的技術選型上必須長遠考慮,構建一個能夠支撐混合查詢負載的生態環境是必須的。

舉個例子——用戶標籤、用戶特徵庫

移動網際網路時代,不論網際網路公司還是傳統企業,都將用戶作為企業最為寶貴的資產。這裡面一方面是捕獲流量、拉新,甭管什麼渠道來,只要用戶註冊或活躍即可,用戶數量的多少從某種層面上決定了這個企業的價值。另一方面就是洞察用戶的行為偏好,了解用戶特徵,既包括粗粒度的「愛購物、愛電影、愛吃」,也包括細粒度的「愛LV、愛美劇、愛中餐」,所以後者就是這個場景中所談到的——標籤庫。

標籤庫是一個非常典型的貫穿業務流程的場景,首先要基於各域數據源(客戶管理系統、產品訂購系統、渠道管理系統、運營服務系統等)從企業生產系統中採集並捕獲數據,然後結合標籤規則去處理、建模,作業涉及到指標的計算,最終形成各類標籤。當然還要考慮標籤的存儲,涉及到存儲方式、存儲類型、存儲結構,這是存儲引擎要考慮的事情。最重要的是後續,業務人員要根據業務需求去使用標籤、定位標籤信息,這個過程就涉及到標籤數據的查詢,這是典型的查詢/搜尋引擎要關注的對象。

針對上述場景示例,其實貫穿了大數據的很多關鍵技術點,每個技術點都可以展開細粒度的剖析,但本文既然說查詢引擎,那麼更聚焦於客戶標籤最後如何使用。

某些場景,可能只是做個帶where條件的簡單查詢,不需要後端太多的計算和分析; 某些場景,可能查詢後需要再次與業務人員交互,基於查詢結果再次篩選或關聯,甚至實時分析; 某些場景,可能需要把用戶群篩選出來做個匹配,這裡面涉及到標籤分類、用戶群管理、匹配規則等,而這卻需要大量的運算和關聯分析;

所以針對每種查詢場景,對相應技術指標的要求不盡相同,這是考驗查詢引擎技術特性和能力的時刻。

本篇羅列了幾種常用的開源查詢/搜尋引擎,每種技術都有自己特點,通過雷達圖可以粗略了解。需要說明的是,查詢引擎和搜尋引擎也屬於不同的範疇,前者更注重複雜查詢、交互式分析和對SQL的支持,而後者由於對索引支持較好,因此簡單查詢和實時檢索的效果會非常突出。

SparkSQL是Spark生態圈的查詢組件,與Spark/Hadoop有極強的兼容性,且對SQL標準的支持度較好,是今天搞開源技術棧必不可少的查詢組件;

Presto與Hive一樣,都是Facebook開源的優秀產品,其實時交互式查詢分析性能卓越、支持SQL2003標準、靈活的Connector開發能力,與其他子系統的兼容性非常好;

Impala是Cloudera開源的查詢引擎(開源版本性能差,付費版本性能出色),最初它的出現似乎就是為了替代MPP資料庫的查詢能力,高並發、高效率;

Solr是一個高性能、非常出色的搜尋引擎,採用Java5開發,基於Lucene的全文搜索伺服器,並同時對其進行了擴展,提供了比Lucene更為豐富的查詢語言;

ElasticSearch也是一個基於Lucene的搜索伺服器,它提供了一個分布式多用戶能力的全文搜尋引擎,基於RESTful web接口,相對於文本解析、分詞支持度極強;

簡單做個歸類,對於簡單查詢:presto、impala性能出眾;對於帶條件的查詢:presto、impala性能更強;對於大數據量數據分析:impala不穩定,presto比sparksql略快;對於海量數據複雜分析:impala、presto性能差不多,sparksql略慢;對於實時搜索推薦ElasticSearch——基於檢索技術,提供語義分析和查詢能力……僅作參考,畢竟在實際應用中,更適合自己的才是最好的。

這就是大數據時代查詢分析域的主要技術,介紹到這裡,周末愉快!

相關焦點

  • 微服務架構技術棧
    基於近年在微服務基礎架構方面的實戰經驗和平時的學習積累,我想總結並提出一些構建微服務 2.0 技術棧的選型思路,供各位在一線實戰的架構師、工程師參考借鑑。對於一些暫時還沒有成熟開源產品的微服務支撐模塊,我也會給出一些定製自研的設計思路。二、選型準則對於技術選型,我個人有很多標準,其中下面三項是最重要的:1.
  • 七牛雲 Niu Talk 數據科學論壇第三期:大數據開發與開源生態
    近日,「七牛雲 Niu Talk 」 數據科學系列論壇第三期如期舉行, 三位嘉賓圍繞大數據開發與開源生態,結合自己多年行業經驗,帶來關於「大數據開發與開源生態」的精彩演講和圓桌對話。
  • 什麼是SeetaFace開源人臉識別引擎?
    然而,人臉識別並非完全成熟的技術,離公眾期望的全面應用尚有距離,還需要學術界、工業界的共同努力。為此,整個人臉識別社區需要有基準(Baseline)系統,而且基準系統的水平顯然會極大影響著該領域的發展水平。可是令人尷尬的是,這個領域迄今尚無一套包括所有技術模塊的、完全開源的基準人臉識別系統!我們希望改變現狀,因此開源了SeetaFace人臉識別引擎。
  • 數據湖 VS 數據倉庫之爭?阿里提出大數據架構新概念:湖倉一體
    市場對大數據產品的要求,除了規模、性能、簡單易用,提出了成本、安全、穩定性等更加全面的企業級生產的要求。開源 Hadoop 線,引擎、元數據、存儲等基礎部件的迭代更替進入相對穩態,大眾對開源大數據技術的認知達到空前的水平。
  • 漫談數倉OLAP技術
    OLAP引擎/工具/資料庫,技術選型可有很多選擇,傳統公司大多以Congos、Oracle、MicroStrategy等OLAP產品,網際網路公司則普遍強勢擁抱開源,如 Presto,Druid ,Impala,SparkSQL,AnalyticDB,(Hbase)Phoenix,kudu, Kylin,Greenplum
  • 值得關注的12大開源大數據分析應用軟體
    許多企業使用的一些領先工具由Apache基金會管理,許多商業工具至少一部分基於這些開源解決方案。我們在本文中介紹了市面上12款頂尖的開源數據分析解決方案,其中一些為大數據分析提供了全面的端到端平臺,另一些要與其他技術結合起來。它們都適合大企業使用,都是市面上領先的數據分析工具。1.
  • dfuse 開源區塊鏈開發堆棧,提供高階區塊鏈數據服務
    蒙特婁,2020年3月19日——區塊鏈 API 公司 dfuse,今天宣布開源其區塊鏈數據棧,同時 EOSIO 協議的創建者及行業領導者 Block.one 主動結合 dfuse 的解決方案。dfuse 堆棧中的 EOSIO 核心組件將首先被開源,許可為 Apache 2.0,其他鏈的代碼將在後續階段中發布。
  • 華為全面啟動數據基礎設施戰略,開源數據虛擬化引擎HetuEngine
    11月19日,華為在深圳舉辦2019全球數據基礎設施論壇,面向鯤鵬計算產業, 宣布全面啟動數據基礎設施戰略,並開源數據虛擬化引擎HetuEngine(河圖引擎),希望讓夥伴像使用「資料庫」一樣使用「大數據」,讓數據治理、使用更簡單。
  • 如何面對黑天鵝與灰犀牛?ThoughtWorks技術雷達峰會給出答案
    ThoughtWorks每年都會出品兩期技術雷達,2020年最新一期的技術雷達報告已經發布,遠程辦公協同、X也是軟體、數據視角的成熟和擴展、Kubernetes生態系統的寒武紀等技術熱點成為本期的主題。
  • 雲+社區技術沙龍丨解析騰訊最新開源項目背後的技術棧
    本期活動的主題為「騰訊開源技術」,多位來自騰訊的開源技術專家及工程師圍繞 Kona JDK、TencentOS tiny、TubeMQ 等開源項目的開發過程,分享了騰訊在開源之路上取得的最新成果以及過程中所積累的實踐經驗,並深入探討了開源技術在大數據、物聯網、醫療等不同場景下的發展趨勢。
  • 開源搜尋引擎solr介紹
    而這時,我們就需要用到solr等搜尋引擎了。Solr是基於lucene的倒排索引技術(也叫全文索引,mysql等關係型資料庫也有這個概念,但是「術業有專攻」,solr實現的更好),什麼是倒排索引,下面我會做具體介紹。1.1倒排索引傳統意義的資料庫,做索引時,都是一個文檔id對應一個或者多個內容欄位。而倒排索引則是一個內容欄位對應多個文檔id。什麼意思呢?
  • 2020年最受歡迎的雲生態開源應用程式監控工具
    過去幾年中,開源產品和商業監控應用程式不斷湧現,本文我介紹幾個最受歡迎的開源雲應用監控工具。PrometheusPrometheus(普羅米修斯)是領先的開源雲監視解決方案,除其他事項外,其數據以時間序列資料庫存儲,天然適合監控資料庫存儲。
  • 七牛雲零度:乘深耕數據,升值業務,在數據中尋找確定性
    在黑天鵝頻現的 2020 年,企業面對的風險與挑戰愈發嚴峻,企業間的競爭也十分激烈,如何在這些不確定中尋找確定性?答案是:深耕數據,升值業務,在數據中尋找確定性。利用雲平臺作為基礎支撐,以數據驅動進行精細化運營,滿足用戶的多元化需求。而這一切的前提是需要一個可以承載企業爆發式數據增長的基礎設施。雲計算將算力從零散獨立到中心匯聚並使企業可以按需使用。
  • Talking Data 閻志濤:流式大數據和即時交互分析技術
    ,在12月12日全天圍繞存儲新風口–第二存儲;HPC、Big data、AI 三大引擎交相輝映;軟體定義,全棧軟體賦能從核心到邊緣;流式大數據和即時交互式分析技術;區塊鏈技術與應用;快閃記憶體產業國際合作等12個熱點話題展開分享,成為了解最新存儲技術、數據創新知識的最佳場所。
  • CIO不可不知的BI與數據分析產品選型標準
    為了解答這些問題,中國軟體網聯合行業專家--永洪科技高級副總裁邵文龍先生(以下簡稱William),結合永洪服務的500多家客戶的切實經驗,探討了數據分析產品的選型標準,幫助企業CIO梳理出如何選擇最合適的供應商。      本質上說,BI產品也是商品,也遵循商品的一般規律,客戶選擇BI產品時也遵循「物美價廉」的原則。William從以下四個方面闡述了BI產品的選型標準。
  • ...中間件首次實現自研、開源、商用「三位一體」,技術飛輪效應顯現
    今年,讓阿里雲中間件技術人最興奮的,除了支持 雙11 大促的再一次成功,更是能用這些技術持續賦能阿里雲上數以萬計的企業、機構、開發者以及他們的用戶,把 雙11 的技術紅利發揮到極致。如何將開源 Prometheus 的優秀生態與技術架構與阿里雲原生基礎設施進行整合,提供一個監、管、控一體化的自動化運維平臺,提升業務系統的交付效率與在線穩定性,是阿里雲這一年多來不斷探索的目標。在今年的 雙11 期間我們見證了這一目標的實現,阿里雲 Prometheus 服務成功為眾多大規模在線業務保駕護航,幫助業務系統順利度過洪峰。
  • 《程式設計師9月B刊:大數據核心技術與實踐》火熱上市!
    封面報導:大數據核心技術與實踐 隨著網際網路和移動網際網路的發展,海量的數據在人類每天生活中產生,各個機構紛紛開始探索從數據中提取洞見並指導實踐的可能。在這個需求的刺激下,過去數年,大數據開源生態圈得到了長足的發展——在數據的整個生命周期中,從收集到處理,再到數據可視化和儲存,各種開源技術框架林立。
  • 這條叫「即席查詢」的魚,如何在數據河裡遊得又快又穩?
    然而當下數據之間包含大量節點,海量數據的來源可能是經過數十億次的模擬、實驗設備、網際網路、應用等。對企業來說,需要把多個源頭的數據進行整合,這就需要企業建立新的計算平臺架構、從0開始建立數據分析模型並引入新的處理算法和索引技術,這無疑對開發者的技術能力提出了相當大的挑戰。
  • 【大數據】最新大數據學習路線(完整詳細版】
    用來計算趨勢或者網站日誌,不應用於實時查詢,需要很長時間返回結果。HBase:資料庫。非常適合用來做大數據的實時查詢。Facebook用Hbase存儲消息數據並進行消息實時的分析ZooKeeper:針對大型分布式的可靠性協調系統。Hadoop的分布式同步等靠Zookeeper實現,例如多個NameNode,active standby切換。
  • 傳統數倉如何轉型大數據
    大家好,我是一哥,前幾天建了一個數據倉庫方向的小群,收集了大家的一些問題,其中有個問題,一哥很想去談一談——現在做傳統數倉,如何快速轉到大數據數據呢?其實一哥知道的很多同事都是從傳統數據倉庫轉到大數據的,今天就結合身邊的同事經歷來一起分享一下。