写点什么

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:358010
用户头像
李冬梅 加V:busulishang4668

发布了 1103 篇内容, 共 716.1 次阅读, 收获喜欢 1253 次。

关注

评论

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

【LeetCode】找树左下角的值Java题解

Albert

LeetCode 7月月更

DBPack 赋能 python 微服务协调分布式事务

峨嵋闲散人

分布式事务 分库分表 读写分离 seata dbmesh

介绍一种对 SAP GUI 里的收藏夹事务码管理工具增强的实现方案

汪子熙

SAP abap SAPGUI 企业管理软件 7月月更

大数据培训 | Scala语言知识分享,直击面试

@零度

scala 大数据开发

Fiori 应用通过 Adaptation Project 的增强方式分享

汪子熙

前端开发 SAP Fiori SAP UI5 7月月更

当你真的学会DataBinding后,你会发现“这玩意真香”!

编程的平行世界

JetPack andiod

一文读懂TDengine的窗口查询功能

TDengine

tdengine 时序数据库

进入前六!博云在中国云管理软件市场销量排行持续上升

BoCloud博云

云原生 cmp 云管理

6年技术迭代,阿里全球化出海&合规的挑战和探索

阿里技术

阿里巴巴 最佳实践 方法论 全球化

开源者的自我修养|为 ShardingSphere 贡献了千万行代码的程序员,后来当了 CEO

SphereEx

开源 代码 ShardingSphere

焱融看 | 混合云时代下,如何制定多云策略

焱融科技

存储 文件存储 混合云 多云

从MLPerf谈起:如何引领AI加速器的下一波浪潮

OneFlow

人工智能 深度学习 加速器

SpringBoot工程创建Swagger文档并自动生成调用代码

百家饭隐私计算平台创业者

JavaScript Spring Boot swagger

研发效能度量框架解读

思码逸研发效能

研发效能 效能度量

Go Web 编程入门:一探 GoConvey 测试库

宇宙之一粟

Go web Go 语言 7月月更

Linux设备驱动1:硬件基础

贾献华

7月月更

龙蜥社区开源 coolbpf,BPF 程序开发效率提升百倍

OpenAnolis小助手

Linux 开源 内核 龙蜥技术 BPF

SpringSecurity的初始化流程

急需上岸的小谢

7月月更

2022上半年英特尔有哪些“硬核创新”?看这张图就知道了!

科技之家

Java培训 | 详解 Linux 中的权限,这一篇就够了

@零度

Linux JAVA开发

使用强大的DBPack处理分布式事务(PHP使用教程)

峨嵋闲散人

分布式事务 分库分表 读写分离 seata dbmesh

web前端培训Docker入门指南

@零度

Docker 前端开发

JVM有哪些类加载机制?

源字节1号

软件开发

hive数据导入:文件导入

怀瑾握瑜的嘉与嘉

大数据 hive 7月月更

超90万个K8S实例可被发现暴露在公网上,14%位于中国

SEAL安全

安全

8款最佳实践,保护你的 IaC 安全!

SEAL安全

安全 IaC

学会使用LiveData和ViewModel,我相信会让你在写业务时变得轻松🌞

编程的平行世界

JetPack Andriod

《你的灯亮着吗》开始解决问题前,得先知道“真问题”是什么

图灵教育

【Python技能树共建】requests-html库初识

梦想橡皮擦

7月月更

2022 · 让我带你Jetpack架构组件从入门到精通 — Lifecycle

编程的平行世界

an'droid android jetpack

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