AliSQL · 社区动态 · 关于开源之后评论的评论

本文涉及的产品
RDS PostgreSQL Serverless,0.5-4RCU 50GB 3个月
推荐场景:
对影评进行热评分析
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 背景AliSQL在云栖大会宣布开源,并有幸请到MySQL之父、MariaDB创始人Monty一起见证。我们在将消息公布到社区之后,也同时关注社区的反馈。以下是对于评论的评论。handshake protocol声音:以阿里的个性就是大多数开源了 push 到 github 后面就不怎么管了其实这么说的人并没有真正全面的去看阿里开源的趋势,大家会看到这几年的分支维护的是越来越

背景

AliSQL在云栖大会宣布开源,并有幸请到MySQL之父、MariaDB创始人Monty一起见证。

图1. AliSQL开源瞬间

我们在将消息公布到社区之后,也同时关注社区的反馈。以下是对于评论的评论。

handshake protocol

声音:以阿里的个性就是大多数开源了 push 到 github 后面就不怎么管了

其实这么说的人并没有真正全面的去看阿里开源的趋势,大家会看到这几年的分支维护的是越来越健康的。“后面就不怎么管“,这里的“后面”说得很有艺术性,除了天地之外没有什么东西是保证天长地久的。活跃三天和活跃三十年,只要停下来,你说的“后面”就都是对的。如果以这个为标准,那么不只是中国的开源分支,全世界的开源产品都是到“后面”就不维护的。

因此我们眼中的健康的开源会是什么样呢?我觉得最重要的是态度,然后是天时地利。
态度是:我们把开源分支和维护作为我们的一个小理想在保护。只要条件还允许,我们会持续维护。天时地利是:那些条件。

以 AliSQL 的开源策略来说,我们希望节奏上是RDS线上经过验证的、稳定使用的patch才发布到开源分支。所以我们可以保证的是,只要阿里云RDS的业务在,这个分支的维护就会持续
大家会看到我们接下来会每个季度至少发布两个Release Notes,把我们认为稳定的和有足够应用场景的patch发布到开源分支。
本次发布开源代码同时我们发布了新的Release Note,增加了TokuDB和秒杀场景功能 支持。

声音:Release Notes 里两个版本号竟然是一样的

其实版本号不同,你需要把发布日期也一起带进去看。AliSQL的版本策略是这样的,我们会持续 rebase 到官方最新或次新的GA版本,但是AliSQL要保持自己的更新节奏,因此我们的版本号格式是官方base版本+(发布日期)。

这样的好处是大家从版本号可以得到足够的信息,包括与自用 MySQL 的版本对比和分支活跃情况。

声音:issue#2 ~ issue#7 是什么鬼?也是 KPI 的一部分?

并不是所有事情都要跟 KPI 挂钩,尤其issue里的“赞”,没有意义。
作为分支管理者,对于外部参与者的称赞,我们只能表示感谢,然后关闭。难道还可以删除吗?话说好像 GitHub 也没有删除发言的功能,只能修改,总不能修改别人的评论。

至于内部的同学,在 issue 发“赞”我们是批评的。因为在github上最直接的赞,是Star;最有直接价值的赞,是提问题和改进建议;最有长远价值的赞,是提需求或者pull request。
比如上周末 @DarkiT 同学提的建议“建议官方帖个标准的my.cnf的配置” 就非常好,感谢。我们已经在 wiki 上更新了三个不同规格的推荐配置。

声音:就不能把优化合并到官方 MariaDB 或 MySQL 么?

如果所有的patch都能合并到MariaDB,我们又何必这么麻烦再单独维护一个分支呢。如果可以而没有这么做,MariaDB的创始人Monty肯定是第一个提出反对意见的。

实际上的情况是:

  1. 我们会把能够合并到MariaDB或MySQL的patch提交上去。这篇文章 里面提到的patch,其实就都是提交到MySQL,并已经被5.7合并入主干的patch;
  2. 有一些patch是不够general,但是我们觉得对某个垂直场景有效果的。

这里举个例子,AliSQL里面有 COMMIT_ON_SUCCESS 这个hint,作用是,如果带此hint的语句执行成功,事务就默认提交。这个有什么好处呢?正常的使用方法是更新、等待成功、发commit。加这个hit可以减少事务提交的最后一次交互,在系统压力大或者网络较长的场景下,这是可以减少事务持续时间,提升整体吞吐量的。

这样的 patch 其他分支未必会接受,但对我们自己和我们的用户来说,在一些场景下是有效的,我们就去维护。

展望:从公司力量到社区力量

“事实上很多成熟的开源项目都是商业公司主导或贡献的”(from @incompatible),此句为真相。
同时,我们也看到,一个成熟项目一定是社区力量一起来完成的。因此我们真诚希望在GitHub上能够看到pull request、功能需求、IDEA、测试结论。

相信每个公司的DBA都偶尔有这么一个想法:要是MySQL支持xxx这个功能,我就爽了。但是没有开发和维护能力?没有关系,提到issue中,如果这是一个在某个方向足够通用的需求,我们或者社区其他开发者,会去实现的。

阿里云RDS团队有没有做这件事情的驱动力呢?
有的,以现在RDS的用户量和覆盖场景,你的需求,也一定是一部分RDS用户的需求。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
存储 负载均衡 NoSQL
MongoDB·最佳实践·count不准原因分析
背景 一般来说,除了由于secondary延迟可能造成查询secondary节点数据不准以外,关于count的准确性问题,在MongoDB4.0官方文档中有这么一段话On a sharded cluster, db.
|
4月前
|
人工智能 Swift 决策智能
社区供稿 | 面向多样应用需求,书生·浦语2.5开源超轻量、高性能多种参数版本
在 2024 年 7 月 4 日的 WAIC 科学前沿主论坛上,上海人工智能实验室推出了书生·浦语系列模型的全新版本——InternLM2.5。
|
存储 运维 关系型数据库
MySQL官方特供649页顶级笔记,凝聚社区力量深入技术内幕
但凡有职场经验的兄弟都知道,大厂的面试真是一言难尽,不光看你面试时的临场发挥能力,还要分N次考你对公司业务核心技术的熟悉度。
|
NoSQL 架构师 大数据
SegmentFault 与 MongoDB 建立官方合作—— 共建MongoDB 中文爱好者社区
日前,SegmentFault 和 MongoDB 正式建立官方合作关系。SegmentFault 为MongoDB 团队提供专业的子站问答平台、博客专栏以及活动平台等服务,帮助MongoDB更好的跟中国本土的开发者更好的交流,通过SegmentFault 平台建立一个MongoDB 中文爱好者社区,以便于更好的为中文开发者服务,拓展中国市场。
210 0
SegmentFault 与 MongoDB 建立官方合作—— 共建MongoDB 中文爱好者社区
|
存储 Oracle 关系型数据库
【PG云栖周刊】第2期·PostGIS北京3月活动,存储扩展引擎zheap,Oracle兼容性之 - 数据类型
3月17-18 PG象行中国2018-地理信息处理GIS专题(北京站),活动地点:北京师范大学 艺术楼 201教室;PostgreSQL最新存储扩展引擎zheap,计划加入到PG12;PostgreSQL 10.3更新版本发布;云数据库PPAS Oracle兼容性 - 数据类型;PostgreSQL中HOOK的使用,避免误删库的问题。
5145 0
【PG云栖周刊】第2期·PostGIS北京3月活动,存储扩展引擎zheap,Oracle兼容性之 - 数据类型
|
SQL 自然语言处理 关系型数据库
|
新零售 人工智能 测试技术
PostgreSQL技术周刊第4期:大家关注的PostgreSQL近期活动列表整理出来啦!
PostgreSQL(简称PG)的开发者们:云栖社区已有5000位PG开发者,发布了3000+PG文章(文章列表),沉淀了700+的PG精品问答(问答列表)。 PostgreSQL技术周刊会为大家介绍最新的PG技术与动态、预告活动、最热问答、直播教程等,欢迎大家订阅PostgreSQL技术周刊。
2969 0
|
SQL 关系型数据库 测试技术
PgSQL · 应用案例 · 阿里云 RDS PostgreSQL 高并发特性 vs 社区版本
背景 进程模型数据库,需要为每个会话指派独立的进程与之服务,在连接数非常多,且大都是活跃连接时,进程调度浪费或引入的开销甚至远远大于实际任务需要的开销(例如上下文切换,MEMCPY等),性能下降会较为严重。
2909 0
|
SQL 关系型数据库 索引
HybridDB · 最佳实践 · HybridDB 数据合并的方法与原理
引言 刚开始使用HybridDB的用户,有个问的比较多的问题:如何快速做数据“合并”(Merge)?所谓“合并”,就是把数据新版本更新到HybridDB中。如果数据已经存在,则将它们替换为新版本;如果不存在,将它们插入数据库中。一般是离线的做这种数据合并,例如每天一次批量把数据更新到HybridDB中。也有客户需要实时的更新,即做到分钟级甚至秒级延迟。这里我们介绍一下HybridDB中数据合并的
3012 0