正文
具体影响范围涵盖智能反馈、URL 爬虫、用户消息、pinner 通知、广告索引、购物目录、Statsboard 监控、实验指标等等。
Pinterest 的 HBase 生态系统。HBase 为多种服务提供存储后端,也为整个公司内的广泛应用程序提供支持。
为什么弃用 HBase?
HBase 项目起源于 2007 年,是 Apache Hadoop 的一个子项目,并于 2010 年 2 月发布第一个独立版本。从那时起,它不断发展,每个新版本的稳定性和可扩展性都得到了增强。
HBase 的灵感来源于谷歌的 Bigtable 项目,由 Java 编写而成,是一套基于 HDFS 构建并供 Apache Hadoop 使用的键值存储方案。根据 Pereira 和 Xu 的解释,HBase 是 Pinterest 的第一套 NoSQL 数据存储方案,也是这家图像共享与社交媒体厂商使用最广泛的存储后端之一。
自从在 Pinterest 上线以来,HBase 已经凭借实际表现证明了自身的耐用性、可扩展性以及还算过得去的性能。然而经过全面评估并从利益相关方处收集大量反馈之后,公司于 2021 年底决定放弃这项技术,具体原因他们写道:
HBase 的维护成本已经高得令人望而却步,这主要是受到多年技术债及其可靠性风险的拖累。由于种种历史原因,我们的 HBase 版本落后上游五年,缺少关键性 bug 修复与改进内容。而且由于长期遗留的构建 / 部署 / 配置管线与兼容性问题,Pinterest 内部的 HBase 版本升级又成为一个缓慢且痛苦的过程。
到评估时,HBase 的维护成本已经高得令人望而却步,而这主要是受到多年技术债及其可靠性风险的拖累。由于种种历史原因,Pinterest 的 HBase 版本落后上游五年,缺少关键性 bug 修复与改进内容。而且由于长期遗留的构建 / 部署 / 配置管线与兼容性问题,Pinterest 内部的 HBase 版本升级又成为一个缓慢且痛苦的过程(上次从 0.94 升级至 1.2 版本耗费了近两年时间)。此外,为 HBase 寻找领域专家变得越来越困难,而新工程师的培养门槛也极不友好。