写点什么

ClickHouse 正在退出开源世界?

  • 2023-09-26
    北京
  • 本文字数:2337 字

    阅读完需:约 8 分钟

大小:1.23M时长:07:10
ClickHouse正在退出开源世界?

ClickHouse 是市面上最好的开源数据库之一,有着非常活跃的技术社区。它最早发布于 2016 年,采用宽松的 Apache 2.0 许可证,目前已有超 3 万人打出 star、数百位代码贡献者、丰富的生态系统以及数千家将其纳入生产环境的企业用户。所有这些,都标志着这项开源技术取得了巨大成功。

 

2021 年,为了推动 ClickHouse 商业化,同名公司应运而生。但在两年后的今天,有迹象表明 ClickHouse 可能正步步远离开源初衷——重要新功能仅在 ClickHouse Cloud 上开放。此举也引发人们关于 ClickHouse 未来命运的讨论。

开源版本无缘各类重要更新,CTO 的回应饱受争议

ClickHouse Cloud 服务于 2022 年 9 月正式启动,自此之后该公司就开始为私有版本“开小灶”、提供某些特定功能。但在很长一段时间内,开源版数据库引擎只遇到一些小问题,对于开源使用影响不大。

 

但从最近公布的 SharedMergeTree 和轻量级更新(仅在 ClickHouse Cloud 中可用)开始,这种略微差异化的策略可能正在转变。我们已经能够明显看到,开源版本正无缘各类重要功能

 

社区成员当然向 ClickHouse 团队提出了相关质疑,该公司 CTO Alexey Milovidov 回应称:

 

“对 ClickHouse Cloud 进行少量、有限的修改是件好事,这仅限于那些不会影响自托管使用场景的功能或操作变更。而这种调整,也给我们的云服务提供了至关重要的独特优势。”

 

很遗憾,这种说法明显是断章取义。当前的闭源功能不仅包含大规模云运营所必需的选项(例如新的 ShareMergeTree 存储引擎,允许真正将存储和计算剥离开来),还包括每位 ClickHouse 用户在云和本地都离不开的通用功能,例如轻量级 UPDATE 和基于 S3 角色的访问(属于公有云当中的关键安全功能)。

 

此外,开源 ClickHouse 中的现有对象存储实现似乎也遭到忽视。该公司在 2023 年路线图中纳入了一系列重大改进,其中部分内容(例如共享元数据)源自 2022 年甚至更早的路线图规划,因此社区当然希望能在开源 ClickHouse 中公平获得。但从目前的情况看,这些改进明显将作为 ShareMergeTree 的一部分在 ClickHouse 内部 fork 中实现,根本不会登陆开源版本。对于已经睽违数年的社区成员们来说,这自然令人感到失望。

 

随着 ClickHouse 开源版本无缘各类重要更新的讨论在Hacker News、Reddit 等平台上的持续发酵,更多的开发者也加入到了开源和商业化关系的讨论中。

 

一位名为 that_guy_iain 的用户在 Hacker News 发表评论称,“开源是免费的,但商业化公司需要赚钱。任何由营利性公司拥有和开发的开源产品都面临着放弃开源的危险。如果想要真正的开源,请出钱资助非营利组织和/或慈善机构。事实上,也没有开发者这么做。”

 

也有开发者认为:“商业化公司不需要直接从开源项目中赚钱,因为这家大公司可以通过开源项目来接触更多人,然后以某种方式向他们推广付费的产品或服务,但如果一家公司只拥有一个开源项目,就会出现问题。”

ClickHouse 现在还算是开源项目吗?

开放核心,是指拥有一套闭源高级功能的开源项目。作为一种重要的开源项目货币化模式,开放核心越来越受到希望获得高投资回报的软件厂商们的关注。而向开放核心转型,也代表着 ClickHouse 开源社区开始发生结构性变化。


 

在 ClickHouse 此前多年所遵循的真正开源模式当中,社区作为主要的开发驱动力。社区帮助厂商定义路线图、提交新功能或功能请求、开发生态系统并开展新业务。核心开发团队则负责开发战略功能、充当主理人和管家,努力确保社区的可持续发展。社区活跃度越高,相应的成功应用就越多,项目自然越受欢迎,由此建立起积极的反馈循环。

 

但在开放核心项目当中,情况则恰恰相反。项目所有方的业务和产品充当主要驱动力,核心开发团队专注于产品开发。而开源社区在此过程中仅充当潜在的客户来源。人们可以先体验开源版本、了解功能设置,但要想在生产环境中大规模应用,就必须转向闭源产品。

 

可以看到,目前 ClickHouse 正在向后一种模式转变。以对象存储为例,这项功能对于大数据分析用例至关重要,但在开源版本中并未完全开放。根据发展路线图,未来将有更多功能仅在闭源云端提供,余下部分则被无情抛弃、导致开源版本沦为无根之木

ClickHouse 将走向何方?

ClickHouse 是一款出色的数据库,已经在实际应用中证明了自身价值。它能够在任何地方运行,包括边缘设备到大型服务器设施,而且取得了出色的成果。其极致的性能、灵活性和便携性是其成功的主要驱动力。如果没有多年以来不断发展的优秀开源社区,这一切根本不可能实现——究其根基,则源自 Apache 2.0 许可证和对开源用户的深切关怀。

 

不幸的是,转向开放核心模式破坏了 ClickHouse 赖以成功的这几大因素。对产品的关注导致核心团队无法像过去那样提供高水平的社区支持。对 ClickHouse 云功能的强调,则忽略了想要在其他场景下使用 ClickHouse 的用户需求。种种因素正在损害社区对于 ClickHouse 的信任和喜爱,整个社区也必须找到新的相处方式才能保持住过去几年来的惊人增长。

 

首先,需要将开源路线图与 ClickHouse Cloud 路线图明确区分开来。用户必须知道开源版本将提供哪些功能、何时交付。

 

第二,社区必须加紧推动战略性功能的开发。开源组织最近提交了一份关于对象存储支持改进的 RFC,其内容基于开源用户的大量反馈,也属于真正的社区努力。我们希望这项工作能够顺利完成并被合并至上游,以社区的方式、从社区的角度拿出一套跟 ClickHouse Cloud 重合的开源功能集。

 

第三,ClickHouse 团队必须向社区贡献者授予更多权利。ClickHouse 团队正在成为审查与合并 PR 的瓶颈。当然,考虑到他们一直以来对产品质量的关注,这倒也可以理解。

 

我们一直梦想让 ClickHouse 成为一个独立治理的基金会,相信许多用户也乐于看到这样的结果。这也许只是种一厢情愿,但 ClickHouse 这样一款优秀的产品值得我们为之一试。


原文链接:

https://altinity.com/blog/is-clickhouse-moving-away-from-open-source

2023-09-26 17:357963
用户头像
李冬梅 加V:busulishang4668

发布了 1063 篇内容, 共 680.3 次阅读, 收获喜欢 1223 次。

关注

评论

发布
暂无评论
发现更多内容

消息队列存储消息数据的 MySQL表

Dean.Zhang

消息队列入门MQ

卢卡多多

MQ 消息队列 6月月更

leetcode 257. Binary Tree Paths 二叉树的所有路径(简单)

okokabcd

LeetCode 搜索 数据结构与算法

向线程池提交任务

急需上岸的小谢

6月月更

【愚公系列】2022年06月 面向对象设计原则(六)-合成复用原则

愚公搬代码

6月月更

ConcurrentHashMap 源码分析-put方法

zarmnosaj

6月月更

LabVIEW Arduino电子称重系统(项目篇—1)

不脱发的程序猿

单片机 LabVIEW VISA ​Arduino Uno 电子称重系统

LabVIEW控制Arduino实现红外测距(进阶篇—6)

不脱发的程序猿

单片机 LabVIEW VISA Arduino Uno 红外测距

flutter系列之:flutter中常用的container layout详解

程序那些事

flutter 程序那些事 6月月更

LabVIEW控制Arduino实现超声波测距(进阶篇—5)

不脱发的程序猿

单片机 LabVIEW Arduino VISA 超声波测距

在M1上体验三星T7移动硬盘的性能

IT蜗壳-Tango

IT蜗壳教学 6月月更

直播预告|FeatureStore Meetup V3 重磅来袭!

星策开源社区

机器学习 开源 DevOps 特征平台 MLOps

BottomSheetDialog 使用详解,设置圆角、固定高度、默认全屏等

yechaoa

android dialog 6月月更 material design

为什么需要微服务

阿泽🧸

微服务 6月月更

【Spring 学习笔记(十)】Spring 使用注解整合 Mybatis

倔强的牛角

Java spring Java EE 6月月更

vue自定义指令

小恺

6月月更

思科私有动态路由协议:EIGRP

wljslmz

动态路由 6月月更 路由协议 EIGRP

预解析与作用域

Jason199

js 全局作用域 作用域 6月月更

统一认证中心 Oauth2 高可用坑

Damon

微服务架构 安全架构 6月月更

基于华为云图像识别标签实战

乌龟哥哥

6月月更

一文读懂Logstash原理

恒山其若陋兮

6月月更

【Python技能树共建】lxml 模块

梦想橡皮擦

Python 6月月更

使用 select 切换协程

宇宙之一粟

golang 6月月更

Flutter doctor 显示xcode没有安装的解决办法

坚果

6月月更

RF中使用reuqests的两种方式

红毛丹

Python 6月月更

云原生时代微服务架构设计实践

Damon

6月月更

什么是Vue3的组合式 API?

源字节1号

软件开发 小程序开发

数据库每日一题---第9天:销售员

知心宝贝

数据库 算法 前端 后端 6月月更

动态规划之0-1背包问题(详解+分析+原码)

未见花闻

6月月更

volatile的解构

卢卡多多

volatile 6月月更

模块八作业

库尔斯

#架构实战营

ClickHouse正在退出开源世界?_数据湖仓_Alexander Zaitsev_InfoQ精选文章