WordPress 性能团队贡献者合并了一个新的实验性 SQLite 集成模块将包含在即将发布的 Performance Labs 插件的 1.8.0 版本中。 (这是一个插件,包括一组功能插件,团队希望在 WordPress 核心中使用的与性能相关的模块。)新模块允许冒险者测试新的 SQLite 实现并了解整体用户体验仍然会很粗糙.

在一项名为让 WordPress 正式支持 SQLite 的研究中,Yoast 赞助的核心贡献者 Ari Stathopoulos 认为,不太复杂的网站(中小型网站和博客)不一定会从使用 WordPress 的标准 MySQL 数据库中受益要求:

在频谱的低端,有一些小而简单的网站。这些站点数量众多,包括所有博客、公司页面和没有数千个用户或数千个帖子等的站点。这些站点并不总是需要 MySQL/MariaDB 数据库的复杂性。对专用 MySQL 服务器的要求增加了托管成本和安装复杂性。在低端服务器上,它还会降低性能,因为同一个“盒子”需要同​​时为 PHP 和 MySQL/MariaDB 服务器提供服务。

理想情况下,用户可以在安装期间选择他们的数据库类型。 Stathopoulos 说这需要 WordPress 有一个数据库抽象层,Drupal 等其他平台已经有 10 多年了。

“为 WordPress 构建数据库抽象层将是一项艰巨的任务——尽管在未来的某个时候我们可能不得不承担这项任务以确保项目的持续发展和长寿,”他说.

作为替代方案,Stathopoulos 认为 SQLite 是“完美的”,并列举了将其用于小型网站的好处:

  • 它是世界上使用最广泛的数据库
  • 它是跨平台的,可以在任何设备上运行
  • 它默认包含在所有 PHP 安装中(除非明确禁用)
  • WordPress 的最低要求是一个简单的 PHP 服务器,不需要单独的数据库服务器。
  • SQLite 支持降低了托管成本、能源消耗,并降低了低端服务器的性能成本。

这个新的 SQLite 集成模块基于 wp-db-sqlite 插件,一个 SQLite 数据库驱动插件,也被 WordPress 沙箱项目使用,因为 WASM 不支持MySQL。 wp-db-sqlite 插件基于 Kojima Toshiyasu 八岁时的原创作品 SQLite Integration Plugin,在 WordPress.org 上不再提供下载。 Stathopoulos 说,这些解决方案多年来一直在开发,已经过全面测试并证明可以无缝工作,尽管它们在用户中并不为人所知。

Matt Mullenweg 评论支持该提案,因此迁移到 Performance Lab 插件的实现可能有机会在未来的某一天进入核心。参与提案讨论的大多数参与者都支持这个想法,但也讨论了一些潜在的缺点。其中包括对多作者编辑和搜索等功能的支持不佳。

Stathopoulos 说,“MySQL 是而且应该继续是默认设置,因为如果您有志成为下一个大人物,那么 MySQL 的扩展性会更好。”另一方面,如果您只想要一个博客、一个包含您的关于页面和联系表的公司网站,或任何类型的小型网站(可以说是 WordPress 上的大多数网站),那么 SQLite 就是您所需要的,而且它'会表现得更好。

一些参与讨论的人还对 SQLite 为其贡献者保留的有争议的宗教道德规范表示担忧。 Stathopoulos 认为这不是一个问题,因为该项目是开源的并且该技术被广泛使用。

“它的流行充分说明了它可以做什么以及可以在哪里使用,”他在回应批评将 WordPress 与一个具有令人反感的道德准则的项目联系起来的想法时说。

如果您从早期就开始使用 WordPress,您就会发现它随着时间的推移变得越来越复杂。每隔几年就会出现“精简版”,但该平台的特定功能选择似乎是 WordPress 为 43% 的网络提供支持的主要因素(根据 W3Techs)。 NerdPress 创始人 Andrew Wilder 表示,SQLite 的实现可能会受益于被标记为“WordPress Lite”。 ".

"阅读上面的评论和潜在问题,如果这确实向前推进,也许以对用户有意义的方式实施它的方法是将其标记为'WordPress Lite',"因此,如果一个网站正在使用 SQLite,可能会有一些功能不再可用(例如多个作者,或者可能无法安装具有特定数据库要求的插件)。

那些有兴趣测试新功能的人SQLite 集成模块应该可以在下周完成。Google 赞助的性能团队贡献者 Felix Arntz 在昨天的团队会议上给出了一些关于测试的笔记:

Aside从 SQLite DB 本身为 SQLite 实现正常工作,另一个要测试的关键方面是模块激活的用户体验。您将获得一个全新的数据库,但我们添加了一些逻辑以使转换尽可能无缝:在一个典型的WordPress 设置,启用模块后您不需要自己重新安装 WordPress,n或者您是否需要重新登录。

本质上,PR 具有在新数据库中自动安装 WordPress 的逻辑,使用常规数据库中存在的相同基本设置数据。

请记住,这绝不是迁移。这就是您要安装的东西;不会迁移任何内容。

Performance Lab 插件的 1.8.0 版预计将于 12 月 19 日星期一发布,并将包含新模块。

资源