【技术选型】Doris vs starRocks

比对结论

仅从当前能看到的数据中,相比于doris,starRocks在性能方面具备优势,且更新频率高(降低维护成本)。

目标诉求

  1. 并发性不能太低——相比于clickhouse不到100的QPS
  2. 支持大表关联——降低数据清洗的压力,因为oneId有可能实时变化
  3. 集群化——需要有一定扩展能力,以针对不同量级客户
  4. 可维护——C++底层代码

背景说明

doris前身是百度的palo,因为名字重复,开源的时候换成doris。
starRocks只是从doris的一个分支进行演进。
从人员角度,两者原来是一个团队,后续出现分歧(预计两个问题,一是国内对开源内容不够重视,二是有些人想要商业化)。
starRocks最开始出来的时候叫dorisDB,且文档中有doris相关内容,使很多人误以为是doris的商业版。后续才改名为starRocks。因为上述不道德的行为,导致风评比较差,所以社区的活跃主要是国内。

两者的开源协议不一致,doris是Apache license,starRocks是Elastic License。这就意味着starRocks是部分开源,说是为了防止云厂商的白嫖,但从这一路操作看,未来大概率会商业版。
doris的社区相关活跃的范围更大,但实际活跃度也待定。
推测演进速度,starRocks由于未来考虑商业化,短期内速度一定是更快的,但是否能坚持很久。
doris短期内可能是慢的,但大概率可以维持很久。

目标需求

  1. 具备一定并发能力且能实现大表关联的数据库
  2. 版本更新相对频繁,这样可以有效解决BUG

潜在风险

  • starRocks有可能会商业化,导致在某些版本之后有收费的风险
  • 性能是基于c++开发的,咱们无法修改,doris更新慢的问题就会暴露

信息比对

项目性能github star稳定性演进效率协议
Doris10.4k稳定Apache license
starRocks7k相对稳定Elastic License

性能比对

由于starRocks在doris的社区投票中投入反对票,导致向量化优化推迟合入版本,这就是为什么doris的1.X版本性能是低于starRocks的。
starRocks 3.0 是2023 年 4 月 28 日发布。
doris 2.0 是2023 年 8 月 11 日发布。
正常来说是用doris 2.X 和 starRocks 3.X 进行比对。
但由于doris的2.X发布不久,无法找到直接和starRocks 3.X的性能比对。
计划考虑找doris 2.X 和 doris 1.2X的比对,和doris 1.2X和starRocks 3.X的性能比对。

场景doris 1.2Xdoris 2.XstarRocks 3.X
宽表场景盲测110
多表关联场景盲测113
行为分析场景中并发查询15-90
点查询并发能力120
日志检索分析110
数据写入120

参考文档

Release 2.0.0 - Apache Doris

文件读取比较

2023年10月1日数据湖测试 – 沧海月明

TPCH 性能测试

Doris 1.2.0 / StarRocks-native-3.0
starRocks略胜,性能大约提升50%
TPCH 性能测试

doris版本提升测试

滑动验证页面

旧版本性能比对

我们对 Apache Doris 0.14、StarRocks 2.4.1 在同等集群规模下,进行了一些基准测试验证( SSB、SSB-FLAT、SSB-低基数 Query、TPC-H 100G 的标准测试集)
806b449d3034845c7e8232e3aa0136b3_3521b83e8cdc46d3a97eb61386e1cffa.png
效率提升 10 倍!达达基于 StarRocks 极速统一的智能配送再升级_数据_Apache_能力

4eca8940dd3168ec633992e0b0d36cf3_6d1cb039-34c7-48f4-a75d-669e358e0eee.png
OceanBase 社区

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/321240.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【PlantUML】- 时序图

写在前面 本篇文章,我们来介绍一下PlantUML的时序图。这个相对类图来讲,比较简单,也不需要布局。读完文章,相信你就能实际操作了。 目录 写在前面一、基本概念二、具体步骤1.环境说明2.元素3.语法4.示例 三、参考资料写在后面系列…

Spring Boot 3 + Vue 3实战:引入数据库实现用户登录功能

文章目录 一、实战概述二、实战步骤(一)创建数据库(二)创建用户表(三)后端项目引入数据库1、添加相关依赖2、用户实体类保持不变3、编写应用配置文件4、创建用户映射器接口5、创建用户服务类6、修改登录控制…

【Fiddler抓包】微信扫码访问链接打不开网页

又来每天进步一点点~~~ 背景:某天发版的时候,手机连接电脑抓包查看用户登录之前的sessionID,由于业务需要,是需要用户登录微信扫码跳转至某一页面的,微信(分身)扫码成功,跳转时打不…

HarmonyOS 通过 animateTo讲解尺寸动画效果

上文 HarmonyOS讲解并演示 animateTo 动画效果 我们已经做出了基本的动画效果 也对 animateTo 的使用比较熟悉了 第一个参数是 配置动画参数的json 第二个参数 则是改变我们元素属性值的事件 但属性值 远远不止位置属性 本文 我们来说 通过尺寸变化 完成动画效果 如果你有看过…

指针理解C部分

目录 1.二级指针 2.指针数组 2.1指针数组的定义和表现形式 2.2指针数组模拟实现二维数组 2.2.1二维数组 2.2.2使用指针数组模拟实现二维数组 3.字符指针 2.数组指针 3.二维数组传参 4.函数指针 4.1函数指针变量的定义和创建 4.2函数指针变量的使用 4.3两段有趣的代码 4.…

【NI国产替代】USB‑7846 Kintex-7 160T FPGA,500 kS/s多功能可重配置I/O设备

Kintex-7 160T FPGA,500 kS/s多功能可重配置I/O设备 USB‑7846具有用户可编程FPGA,可用于高性能板载处理和对I/O信号进行直接控制,以确保系统定时和同步的完全灵活性。 您可以使用LabVIEW FPGA模块自定义这些设备,开发需要精确定时…

NLP论文阅读记录 - 2022 | WOS 一种新颖的优化的与语言无关的文本摘要技术

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.前提三.本文方法四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 A Novel Optimized Language-Independent Text Summarization Techni…

Linux系统编程(十):线程同步(下)

参考引用 UNIX 环境高级编程 (第3版)嵌入式Linux C应用编程-正点原子 1. 为什么需要线程同步? 线程同步是为了对共享资源的访问进行保护 共享资源指的是多个线程都会进行访问的资源(如:全局变量) 保护的目的是为了解决数据一致性…

前端对接电子秤、扫码枪设备serialPort 串口使用教程

因为最近工作项目中用到了电子秤,需要对接电子秤设备。以前也没有对接过这种设备,当时也是一脸懵逼,脑袋空空。后来就去网上搜了一下前端怎么对接,然后就发现了SerialPort串口。 Serialport 官网地址:https://serialpo…

C# 静态代码织入AOP组件之肉夹馍

写在前面 关于肉夹馍组件的官方介绍说明: Rougamo是一个静态代码织入的AOP组件,同为AOP组件较为常用的有Castle、Autofac、AspectCore等,与这些组件不同的是,这些组件基本都是通过动态代理IoC的方式实现AOP,是运行时…

Mysql-redoLog

Redo Log redo log进行刷盘的效率要远高于数据页刷盘,具体表现如下 redo log体积小,只记录了哪一页修改的内容,因此体积小,刷盘快 redo log是一直往末尾进行追加,属于顺序IO。效率显然比随机IO来的快Redo log 格式 在MySQL的InnoDB存储引擎中,redo log(重做日志)被用…

【EMC专题】浪涌的成因与ICE 61000-4-5标准

什么是浪涌? 浪涌是一种无法预料的瞬态电压或电流尖峰,由附近的电子产品或是环境导致。 了解浪涌非常重要,因为浪涌有可能会导致设备的电气过应力损坏,造成系统故障等。 对于系统设计来说,重要的一点是我们如果无法控制浪涌的产生,那么只能通过将瞬态峰值电流导入到地,…

Mysql查询与更新语句的执行

一条SQL查询语句的执行顺序 FROM&#xff1a;对 FROM 子句中的左表<left_table>和右表<right_table>执行笛卡儿积&#xff08;Cartesianproduct&#xff09;&#xff0c;产生虚拟表 VT1 ON&#xff1a;对虚拟表 VT1 应用 ON 筛选&#xff0c;只有那些符合<join_…

Kafka消费全流程

Kafka消费全流程 1.Kafka一条消息发送和消费的流程图(非集群) 2.三种发送方式 准备工作 创建maven工程&#xff0c;引入依赖 <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.3.1&l…

UDS 诊断通讯

UDS有哪些车型支持 UDS(统一诊断服务)协议被广泛应用于汽车行业中,支持多种车型。具体来说,UDS协议被用于汽车电子控制单元(ECU)之间的通讯,以实现故障诊断、标定、编程和监控等功能。 支持UDS协议的车型包括但不限于以下几种: 奥迪(Audi)车型:包括A3、A4、A5、A6…

C++I/O流——(4)文件输入/输出(第一节)

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 含泪播种的人一定能含笑收获&#xff…

外部晶振、复位按键、唤醒按键、扩展排针原理图详解

前言&#xff1a;本文对外部晶振、复位按键、唤醒按键、扩展排针原理图详解。本文使用的MCU是GD32F103C8T6 目录 外部晶振原理图 复位按键、唤醒按键原理图 扩展排针部分原理图 ​外部晶振原理图 如下图&#xff0c;两个外部晶振&#xff0c;分别是8M&#xff08;主晶振&a…

git的三种状态概念

git的三种状态 Git 有三种状态&#xff0c;你的文件可能处于其中之一&#xff1a; 已提交&#xff08;committed&#xff09;、已修改&#xff08;modified&#xff09; 和 已暂存&#xff08;staged&#xff09;。 已修改表示修改了文件&#xff0c;但还没保存到数据库中。 …

Rust-函数

简介 Rust的函数使用关键字fn开头。 函数可以有一系列的输入参数&#xff0c;还有一个返回类型。 函数体包含一系列的语句(或者表达式)。 函数返回可以使用return语句&#xff0c;也可以使用表达式。 Rust编写的可执行程序的入口就是fn main()函数。 以下是一个函数的示例…

案例121:基于微信小程序的作品集展示系统设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…