澳门新葡亰网址下载Redis 之后,Python 的 master

by admin on 2020年3月20日

相信在座各位的开发者都不会对 Redis
的主从模式(master-slave)感到陌生。Redis 中的主从模式事实上也是源自 MySQL
中同名的一个概念,是同步数据的一种手段。在这样的场景下,master-slave
本来是一个不带任何感情色彩的词语。然而有很多开发者却不这样认为,他们在阅读
Redis 5.0 RC5 的变更日志后发现,Redis 仍然在使用 “master” 和 “slave”
术语来在 Redis 的复制中区分不同的角色,他们对此感到失望,并希望 Redis
作者能修改 Redis 中 master-slave 架构的描述。

DB-Engines
的数据库流行度排行榜已经发布了 10
月份的数据,先来看一下大榜单,排名前二十如下:

澳门新葡亰网址下载 1

按 Redis 作者 antirez
的说法,这已经不是开发者第一次提这种要求了。但这次呼吁修改的声音异常的大,就连
antirez

澳门新葡亰网址下载 2

前两天,我们报道了一篇关于 Redis 的新闻,因为 Redis 中的 master-slave
术语被认为具有侵犯性,所以出现了很多呼吁修改的声音。最终,Redis
作者迫于无奈,在尽量不影响项目的情况下,做了一些妥协。而如今,这项带有政治色彩的“运动”蔓延到了
Python 身上,就连宣布退出 Python 核心开发组决策层的 Guido van Rossum
也被请回来解决关于政治不正确的语言辩论。Guido
van Rossum 是 Python
创始人,素有“终身仁慈独裁者(BDFL)”之称,不过他现在的处境就像教父中黑手党柯里昂家族首领的 Michael
Corleone 一样

antirez 表示他很抱歉 master-slave
这个描述让许多人感到失望,但他不认为这个特定于上下文环境的术语具有侵犯性。所以他在数据库中使用
master-slave 当然不是以任何方式暗示“奴隶制度”。

可以看到,在本次排行榜中,Oracle、PostgreSQL、MongoDB 和 Redis
这四个数据库的分数增长最高,前两者都获得了 10 分以上的增长。尤其是
PostgreSQL,PostgreSQL 数据库在9
月份的排行榜中分数出现了不小的下滑(-11.07),上个月开源中国曾报道过,若按此趋势,MongoDB
今年或者有望将 PostgreSQL 挤下第四名的位置。但这个月 PostgreSQL
凭借增长 12.97 分成为分数增长最多的数据库,再次将 MongoDB
甩掉了一个段位。

和其他开源社区一样,Python 的管理员也被问及是否真的想继续使用 master 和
slave
术语来描述相关的技术操作和关系,因为这些单词会让一部分人想起美国旧时的黑奴制度,这是一个历史遗留问题而且直到今天依然会引起关于政治方面的激烈争论。

antirez
还表示,这个看似简单的修改实际上要付出昂贵的代价,并产生兼容性问题。例如:

另外一个获得 10 分以上增长的 Oracle 同样引人瞩目,在 9
月份排行榜中分数出现下滑的它,这个月分数增长了 10.15。MongoDB
发挥稳定,继续保持着稳定的增长速度,截至 10 月,MongoDB
的分数已经连续增长 12
个月,能在前二十名的数据库中保持这个记录的,独此一个。Redis 虽然在 9
月经历了不少的风波,但与上月对比,依然前进一个名次,超过了 Elasticsearch
,以微弱优势位列第七名。

就在上周,在 Red Hat 工作的 Python 开发者 Victor Stinner 公开提交了 4
个 PR,希望能将 Python
文档和代码中出现的 “master” 和 “slave” 修改为像 “parent” 和 “worker”
这样的术语,以及对其他类似的术语也进行修改。Victor Stinner 在他的 bug
report
中解释说,出于多元化的考虑,尽量避免出现与奴隶制相关的术语反而可能会更好,像
‘master’ 和 ‘slave’
这种。他还指出之前就已有关于这个问题的投诉,但都是私下提出的 ——
以避免引起激烈的争论。

  • 不能在应用现有的 PR

  • 现在有像 INFO 和 ROLE 这样的命令
    —— 使用包含 slave 术语的协议进行回复

  • 术语 slave 中的源代码包含 1500 个事件

  • 拥有私人项目并根据需要进行代码合并的人会遇到很多问题

其他方面没有十分值得关注的变动,完整排名请查看 

等到 Python 3.8 发布时,相信像这些被认为具有“侵犯性”的术语将会减少。

可以看到,冒然进行变动会产生很多问题。而且,现在发布的 Redis 5
候选版本是向后兼容的首个稳定版本。所以这也是需要考虑的一方面。最后
antirez 表达了希望能折中解决问题的建议 ——

接下来我们再来看看这些增长明显的数据库在上个月有着怎样的经历。

澳门新葡亰网址下载,事实上,在技术圈子里,这种关于政治正确的事屡见不鲜。前两天关于 Redis
的这件事,社区去年就因这个问题进行了激烈的争论。而在
2014 年,Drupal 在经过一番论证之后,将 “master” 和 “slave”
这两个词换成了 “primary” 和
“replica”。同年,Django
用 “leader” 和
“follower” 代替了 “master”
和 “slave”。CouchDB 也在 2014 年进行了类似的语言描述方面的清理。

短期内的变化:

先来说一说 Oracle 公司,在最近的一个月中,Oracle
经历了人事上的动荡,这引起了整个行业的关注,Oracle
技术体系的 2 号人物 Thomas Kurian 在这个 9 月正式离开了 Oracle
公司,虽然个中原委不得而知,但是 Oracle
在云上的转略转移显然是根本原因,有人将 Oracle 云战略的执行缓慢归罪于
TK,也有谣传说 Ellision 希望擢升 Don Johnson
而引发冲突。原因不详,但是据说 Oracle
的股价得以提升,也许有时候变化孕育着希望

这些争论在科技行业也仍然存在。2004年,观察组织 ——
全球语言监测组织将科技行业中 “master” 和 “slave”
的使用列为当年政治最不正确的术语。而这些术语的行业用法可追溯到几十年前,我们甚至可以在多个
RFC 中找到它,例如 RFC
977 (1986)。

  • 将 master-slave 架构的描述改为 master-replica

  • 为 SLAVEOF 提供别名
    REPLICAOF,所以仍然可以使用 SLAVEOF,但多了一个选项

  • 保持继续使用 slave 来对 INFO 和 ROLE
    进行回应,现在目前看来,这仍然是一个重大的破坏性变更

看一下 Don Johnson 在 LinkedIn 上的简历,原来这是一位来自 AWS 干将,在
Oracle 公司基本上是每年提升一个级别 Senior Director 到 Vice
President,再到 Senior VP,显然成为了 Oracle
云转型的核心技术派
。话说硅谷是一家,做完这家做那家。只是不知道 Thomas
Kurian 下一站将落往何处?原本有希望角逐 Oracle
CEO的大BOSS,现在自由了。

而这次关于 Python 的讨论,我们可以预见到,参与讨论的每个 Python
开发者都不会同意 Stinner 提出的变更。Stinner 提交的 bug
report
中的评论回应了关于这一主题的所有其他在线争论。

长期变化

澳门新葡亰网址下载 3

“我不会因为 Python 根据秘密评论改变其行为而感到激动”,Larry Hastings
感叹道,“传统上,Python
有一个非常开放的治理模式,所有讨论都是在公开场合进行的。”

“是否真的有必要用 SJW(Social Justice Warrior) 的意识形态/术语来“污染”
Python 代码库?”Gabriel Marko 质疑道,“那么接下来又会是什么?”

Raymond Hettinger
也对这些术语是否真的有明显伤害他人感到疑问。他在评论中写道:“如果一个特定的段落表述不清楚或令人反感,这确实应该被修改;否则,我们不应该让含糊不清的政治正确观念影响其他明确的常见英语用法。而且据我所知,没有一个案例表明,在文档中使用了’master’就是为了反映奴隶制这件事,或者暗含对这一概念的认可。”

  • 编写一个 INFO 的替代品

  • 在内部替换很多东西,因为技术原因,如果作了改动,许多 PR
    也会无法应用,所以必须在某些地方进行大变动

  • ……

那么现在 Oracle 的局面是,不仅仅 Don Johnson 获得了擢升,在没有公开指定
TK 的角色前,所有 TK 的下属,现在都将直接向 Larry Ellision
汇报,也就是大家都升了一级。这能算皆大欢喜吗

最后,van Rossum
介入了这场争论,以结束一场似乎是无解的讨论。他在评论中写到:“我正在关闭这些
PR,Victor 的 PR
中有四分之三已被合并。但第四个不应被合并,因为它是对 UNIX ptys
底层术语的反映。还有一个关于 ‘pliant children’ -> ‘helpers’
的讨论,这个后续可以作为 PR 处理,而不需要保持开放讨论的状态。”

antirez
认为,这些所谓的“政治正确”并没有什么意义,他也在博客中表达了自己的政治倾向,他每天都会在社交网络积极谈论政治,以推动社会的平等。他希望拥有一个公平、机会财富再分配和开放的世界。但他认为获得这个世界的方式不是禁止言论,也不是通过在
Twitter 上讨伐别人 —— 只是为了让他人遵守你的意识形态。antirez
表示他将会继续自己的政治活动,也会继续编写开源软件。

Redis 最近的风斗也正盛,Redis Labs 的 CTO
最近怼了一把云服务商:

I’m closing this now. Three out of four of Victor’s PRs have been
merged. The fourth one should not be merged because it reflects the
underlying terminology of UNIX ptys. There’s a remaining quibble about
“pliant children” -> “helpers” but that can be dealt with as a
follow-up PR without keeping this discussion open.

参考链接

数据库开发商 Redis Labs 本周将该公司开发的 Redis 模块由 AGPL 改成了
Apache v2.0 和 Commons
Clause(共用条款)相结合的许可证,因而对销售许可证涵盖的软件作了限制。

新许可证限制了云提供商向客户提供这些 Redis 模块的能力;Redis Labs
可能旨在成为包含这些附加组件的服务的销售商。然而,Redis
数据库代码仍采用 BSD 许可证。

Redis Labs 的联合创始人兼首席技术官伊夫塔奇•舒尔曼(Yiftach
Shoolman)在周三的一篇博文中针对许可证的这一变化给出了理由,声称云提供商得益于开源软件,却没有给予任何回报。

然而,我们都应该明白,要摆脱真正的 master 和
slave,绝不仅仅是一件提交 pull
request 就能解决的事。

http://antirez.com/news/122 https://github.com/antirez/redis/issues/5335

9月 Redis
经历了改名风波,由于
master-slave
的使用被指责具有歧视色彩,而被迫宣布改名,引用一段文字,各位看官吃瓜观战:

编译自 https://www.theregister.co.uk/

(文/开源中国)    

Master/Slave
模式,是分布式系统中一个比较常用的计算结构。这个词最开始来源于 MySQL
数据库,主要表示 MySQL 数据库自身提供的主从复制功能,通过
master-slave,可以方便的实现数据的多处自动备份,实现数据库的拓展。多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能。

这个名词由两个单词组合而成:Master 和 Slave。

Master:主人、雇主。 Slave:奴,奴隶。

随着人们开始越来越重视人权、歧视等问题,很多开发者认为这一描述具有侵犯性。所以,出现了很多声音呼吁修改这一描述。他们的主要诉求是不要使用master-slave这一词汇,而是使用其他词汇代替。

这件事儿之所以最近这么受重视,是因为比较关键的技术被要求修改,那就是
Redis 和 Python。

(文/开源中国)    

Redis 已经做出了改变:

短期变化

  • 将 master-slave 架构的描述改为 master-replica

  • 为 SLAVEOF 提供别名 REPLICAOF,所以仍然可以使用
    SLAVEOF,但多了一个选项

  • 保持继续使用 slave 来对 INFO 和 ROLE
    进行回应,现在目前看来,这仍然是一个重大的破坏性变更

长期变化

  • 编写一个 INFO 的替代品

  • 在内部替换很多东西,因为技术原因,如果作了改动,许多 PR
    也会无法应用,所以必须在某些地方进行大变动

所以看一看 Oracle 命名的:Primary 和 Standby
多有先见之明!然而关于 Redis
的争论也充分说明了这一产品的广泛影响力和重要性

如果说 10 月数据库排行 Oracle 和 Redis 是最值得关注的两员,相信 Redis
的后劲仍然凶猛,而 Oracle 一旦醒来,仍然是无可匹敌的霸主王者。

最后我们不妨看一下前十名的趋势变化图:

澳门新葡亰网址下载 4

DB-Engines
根据受欢迎程度对数据库管理系统进行排名,排名每月更新一次。排名的数据依据
5 个不同的指标:

  1. Google 以及 Bing 搜索引擎的关键字搜索数量

  2. Google Trends 的搜索数量

  3. Indeed 网站中的职位搜索量

  4. LinkedIn 中提到关键字的个人资料数

  5. Stackoverflow 上相关的问题和关注者数量

这份榜单分析旨在为数据库相关从业人员提供一个技术方向的参考,其中涉及到的排名情况并非基于产品的技术先进程度或市场占有率等因素。无论排名先后,选择适合与企业业务需求相比配的技术,才是最重要的。

部分内容来自数据和云公众号

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图