使用Starrocks替換Clickhouse的理由

背景

Starrocks和clickhouse都是非常優秀的OLAP數據庫,那么什么情況下使用clickhouse,什么場景下使用starrocks呢,本文就簡單列舉一下他們的優缺點

理由

首先兩者都是列存儲,并且都實現了列壓縮,所以從存儲中兩者的壓縮比是差不多的,所以對應的I/O消耗也是相差不大的

介紹一下Starrocks計算資源的底層實現:

  • MPP并行查詢,可以充分利用多臺機器的資源
  • 單機通過pineline并行執行,充分利用單機的多線程資源
  • 單核CPU利用SIMD向量化進行查詢
    備注: Starrocks的MPP并行是設計之初就完善好的,他自身支持動態擴展
    對應的clickhouse計算資源的底層實現:
  • 可以通過分布式表的方式利用多臺機器的資源
  • 單機利用多核的實現利用的不夠充分
  • 單核CPU利用SIMD向量化進行查詢
    備注:clickhouse嚴格來說是單機數據庫,他的分布式的實現都需要手動完成
    OK,回到最初的問題,對于Starrocks來說,分布式的實現從設計之初就已經完成,而clickhouse分布式完全是通過手動的方式應用方組裝起來的,使用起來非常不方便,我們列舉下使用Starrocks替換Clickhouse的幾個理由
    1.如果我們的表可以做成中等大小的寬表的,那么使用Starrocks和Clickhouse的實現都無所謂,兩者的性能都很出色
    2.starrocks具有主鍵表,這個是真正擁有去重能力的表,同一個主鍵的數據合并雖然也是延遲進行(磁盤還是占用),但是查詢的時候也會進行過濾獲取最新版本的主鍵記錄,所以這是一個真正意義的主鍵表,而clickhouse沒有嚴格意義的主鍵表,最接近主鍵的實現是ReplacingMergeTree,但是他的主鍵數據合并是延遲進行的,而且在這期間,查詢時會有返回新舊的主鍵記錄,需要應用自身進行處理,非常麻煩
    3.Starrocks對于多表join的支持非常完善,starrocks從設計之初就考慮到了多表join的分布式實現的問題,多表join時依然可以充分利用多機/多核/SIMD的并行化能力,所以幾乎可以理解成使用starrocks的join和Mysql的join的性能相差不大,而Clickhouse對于join的實現可以用災難來形容,特別是在分布式表的join的時候,容易出錯并且性能大打折扣,當然這里并不是說starrocks的join性能有多好,只是說他可以非常好的支持join的實現
    4.Starrocks的qps請求可以比clickhouse要高很多,原因在于它的FE可以擴展支持更多的QPS,但是底層的BE的瓶頸還是有限的,畢竟BE要進行數據IO和計算,此外,網絡資源也是有限的,畢竟join等操作需要進行數據的移動,所以Starrocks可以支持比較高的qps,但是由于他們都是OLAP引擎,不可能支持類似OLTP數據庫那樣的QPS,充其量也就是使用了類似后臺,定時任務等幾百到幾千左右的qps,不可能用于C端的應用
    5.Starrocks的部分列更新功能,Starrocks可以更新部分列,這對于當一個表的數據是來源于多個業務方,每個業務方只更新自己對應的列的寬表來說非常有用,clickhouse是不支持部分列更新的功能的,這個功能真的很有用
    6.Starrocks的物化視圖在查詢時是會進行自動改寫的,也就是不需要類似clickhouse一樣需要應用方根據不同的應用場景選擇對應的物化視圖

結論

Starrocks替換clickhouse的優點是很多的,幾乎每個功能Starrocks都可以幾乎無損的替換掉clickhouse,再加上Starrocks擁有clickhouse沒有的一些功能,所以使用Starrocks替換clickhouse除了歷史數據遷移問題外,幾乎不需要猶豫

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/88934.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/88934.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/88934.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Mybatis 兩級緩存可能導致的問題

Mybatis 兩級緩存可能導致的問題兩級緩存簡介一級緩存 localCache效果開關二級緩存兩級緩存可能導致的問題分布式環境下查詢到過期數據事務隔離級別失效讀已提交失效讀未提交失效總結兩級緩存簡介 一級緩存 localCache 效果 一級緩存是 session 或者說事務級別的&#xff0c…

vue3+uniapp 使用vue-plugin-hiprint中實現打印效果

前言: vue3uniapp 使用vue-plugin-hiprint中實現打印效果 官網地址:gitee https://gitee.com/ccsimple/vue-plugin-hiprinthttps://gitee.com/ccsimple/vue-plugin-hiprint 實現效果: 預覽打印內容: 實現步驟: 1、安…

【elementUI踩坑記錄】解決 el-table 固定列 el-table__fixed 導致部分滾動條無法拖動的問題

目錄一、問題背景二、 問題現象三、核心原因四、解決辦法增強方案🚀寫在最后一、問題背景 在使用 Element UI 的 el-table 組件時,固定列功能雖然實用,但會引發滾動條交互問題: 固定列區域懸浮顯示滾動條但無法正常拖動滾動條 …

【機器人編程基礎】python文件的打開和關閉

文件的打開和關閉 在Python中,文件操作是一項基本而重要的任務,涉及到打開、讀取、寫入、關閉文件等操作。正確地管理文件對于數據持久化、輸入輸出處理等至關重要。下面將詳細解釋如何在Python中打開和關閉文件,并提供相應的代碼示例。 文件打開 在Python中,可以使用內…

ShenYu實戰、問題記錄

概述 一款高性能的國產的Apache開源API網關,官方文檔。 在ShenYu v2.6.1, ShenYu注冊中心只支持http類型,中間件注冊類型已經被移除。 所以,請使用http注冊類型來注冊你的服務。不是微服務注冊中心,它只是將元數據、選擇器數據、…

走近科學IT版:EasyTire設置了ip,但是一閃之后就變回到原來的dhcp獲得的地址

EasyTier 是一款簡單、安全、去中心化的內網穿透和異地組網工具,適合遠程辦公、異地訪問、游戲加速等多種場景。無需公網 IP,無需復雜配置,輕松實現不同地點設備間的安全互聯。 上次實踐的記錄:適合遠程辦公、異地訪問的EasyTier…

rk3588平臺USB 3.0 -OAK深度相機適配方法

目錄 文件更改記錄表 1、usb規則添加 2、拉取相關依賴 3、安裝python3、安裝pip 4、安裝依賴 5、安裝ffmeg 6、攝像頭功能測試 7、將視頻拷貝到U盤查看 1、usb規則添加 由于OAK是USB設備,因此為了在使用 udev 工具的系統上與之通信, 您需要添加udev規則以使…

工廠模式總結

工廠模式1. 簡單工廠模式&#xff08;Simple Factory&#xff09; 核心思想 定義一個工廠類&#xff0c;根據輸入參數創建不同的具體對象。客戶端不直接調用具體類的構造函數&#xff0c;而是通過工廠類獲取對象。 示例代碼 #include <iostream> #include <memory>…

MySQL的三種安裝方式(mis、zip、yum)

目錄 2.0數據庫安裝 2.1windows上.mis格式 環境準備 MySQL的安裝 環境配置&#xff08;非必要&#xff09; 2.2windows上.zip格式安裝 環境準備 配置文件的內容 MySQL的安裝 附錄可能出現問題 圖形工具遠程連接數據庫 2.3Linux上安裝yum包 環境準備 過程命令 My…

串口學習和藍牙通信HC05(第八天)

&#x1f468;?&#x1f4bb;個人主頁&#xff1a;開發者-削好皮的Pineapple! &#x1f468;?&#x1f4bb; hello 歡迎 點贊&#x1f44d; 收藏? 留言&#x1f4dd; 加關注?! &#x1f468;?&#x1f4bb; 本文由 削好皮的Pineapple! 原創 &#x1f468;?&#x1f4b…

設計總監的“輕量化”新武器:用Adobe Express,音頻一鍵驅動動畫

在快節奏的創意項目中&#xff0c;如何將復雜的設計理念或冗長的研究報告&#xff0c;快速轉化為易于理解、富有吸引力的動態內容&#xff0c;是衡量一個團隊溝通效率的關鍵。作為一名在海外設計界工作了十余年的設計師&#xff0c;我發現&#xff0c;最高效的團隊&#xff0c;…

零知開源——STM32F407VET6驅動SHT41溫濕度傳感器完整教程

?零知開源是一個真正屬于國人自己的開源軟硬件平臺&#xff0c;在開發效率上超越了Arduino平臺并且更加容易上手&#xff0c;大大降低了開發難度。零知開源在軟件方面提供了完整的學習教程和豐富示例代碼&#xff0c;讓不懂程序的工程師也能非常輕而易舉的搭建電路來創作產品&…

Linux流量分析:tcpdump wireshark

前言 最近因為工作需要&#xff0c;研究了下如何使用tcpdump和wireshark分析業務流量。如果要使用tcpdump分析具體的HTTP請求耗時&#xff0c;需捕獲網絡數據包并分析時間戳信息&#xff0c;重點關注TCP連接的建立、HTTP請求發送到響應接收的全過程。 以下是具體步驟和技巧&…

深度學習圖像分類數據集—角膜潰瘍識別分類

該數據集為圖像分類數據集&#xff0c;適用于ResNet、VGG等卷積神經網絡&#xff0c;SENet、CBAM等注意力機制相關算法&#xff0c;Vision Transformer等Transformer相關算法。 數據集信息介紹&#xff1a;角膜潰瘍識別分類&#xff1a;[dot, mix, slice] 訓練數據集總共有270張…

功能強、超好用【PDF轉換工具】的介紹下載與安裝教程

Windows 電腦上一款簡單好用的PDF轉換工具&#xff0c;可以輕松地將其他文檔轉換為 PDF 格式&#xff0c;也可以將 PDF 文件轉換為其他格式&#xff0c;如常見的 Word、Excel、PPT 等。 此外軟件還支持 Office 文檔合并分割、旋轉頁面、拼接頁面、刪除文字、刪除頁面、添加水印…

c# 釘釘應用實現監聽審批事件以及獲取審批結果的流程

oa的操作已經測試了一遍 image.png如果是自建oa則代表發起的審批是跳轉網頁&#xff0c;否則釘釘打開后是一個表單界面&#xff0c;不需要調整自己搞得oa。 所以我感覺目前公司的需求更適合官方oa 表單來填寫,更靈活&#xff0c;還支持用戶配置。 但是用戶點了審批&#xff0c;…

Typecho架構深度剖析:輕量級博客系統的設計哲學與實現原理

文章目錄 深度解析Typecho:輕量級博客系統的架構設計與實現1. Typecho概述與技術背景1.1 發展歷程1.2 核心特性2. 系統架構設計分析2.1 核心架構圖2.2 核心組件3. 核心模塊實現分析3.1 路由系統實現3.2 數據庫抽象層4. 插件系統深度解析4.1 Hook機制實現4.2 插件開發示例5. 性…

LangChain 內存(Memory)

1. 為什么需要內存&#xff1f; 大型語言模型&#xff08;LLM&#xff09;本身是無狀態的。這意味著每次你向 LLM 發送一個請求&#xff08;Prompt&#xff09;&#xff0c;它都會獨立處理這個請求&#xff0c;完全不記得之前任何的交互。這在構建一次性問答應用時沒問題&#…

基于定制開發開源AI智能名片S2B2C商城小程序的社群游戲定制策略研究

摘要&#xff1a;本文聚焦社群游戲定制領域&#xff0c;深入探討以社群文化和用戶偏好為導向的定制策略。通過分析互動游戲活動、社群文化塑造等關鍵要素&#xff0c;結合定制開發開源AI智能名片S2B2C商城小程序的技術特性&#xff0c;提出針對性游戲定制方案。研究旨在提升社群…

自動駕駛決策與規劃

目錄 自動駕駛決策與規劃概述 決策與規劃體系結構 分層遞階式決策規劃 反應式體系結構 混合式體系結構 決策與規劃系統的關鍵環節 路徑規劃 軌跡規劃 行為決策 異常處理 自動駕駛的路徑規劃技術 維諾圖法 柵格法 Dijkstra算法 A*算法 自動駕駛的行為決策方法 …