WordPress 的性能团队贡献者已合并 一个新的实验性 SQLite 集成模块 即将包含在即将发布的 1.8.0 版本中 性能实验室 插入。 (这是包含一组功能插件的插件,团队希望在 WordPress 核心中使用与性能相关的模块。)新模块允许冒险者测试新的 SQLite 实现,并理解整体用户体验仍然会粗糙。
在一项名为 让我们让 WordPress 正式支持 SQLiteYoast 赞助的核心贡献者 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 集成插件,在 WordPress.org 上不再提供下载。 Stathopoulos 说,这些解决方案多年来一直在发展,已经过全面测试,并被证明可以无缝工作,尽管它们在用户中并不为人所知。
马特·穆伦韦格 评论了 支持该提案,因此迁移到 Performance Lab 插件中的实现可能会在未来的某一天有机会登陆核心。 大多数参与提案讨论的参与者都支持这个想法,但也讨论了一些潜在的缺点。 其中包括对多作者编辑和搜索等功能的较差支持。
Stathopoulos 说:“MySQL 是而且应该继续是默认设置,因为如果你有志成为下一个大事件,那么 MySQL 可以更好地扩展。” 另一方面,如果您只想要一个博客、一个带有您的关于页面和联系表的公司网站,或者任何类型的小型网站(可以说是 WordPress 上的大多数网站),那么 SQLite 就是您的全部永远需要,它会表现得更好。”
讨论中的一些参与者也对有争议的、宗教的 道德准则 SQLite 为其贡献者保留。 Stathopoulos 认为这不是问题,因为该项目是开源的并且该技术被广泛使用。
“它的受欢迎程度充分说明了它可以做什么以及可以在哪里使用,”他在回应批评将 WordPress 与一个具有令人反感的道德准则的项目联系起来的想法时说。
如果您从早期开始就使用过 WordPress,那么您会发现它随着时间的推移变得越来越复杂。 围绕“精简版”每隔几年就会出现一次,但该平台的特定功能选择似乎是 WordPress 为 43% 的网络提供支持的主要因素(根据 W3Techs). NerdPress 创始人安德鲁·怀尔德 (Andrew Wilder) 表示,SQLite 实施可能会受益于被贴上“WordPress Lite”的标签。
“阅读上面的评论和潜在问题,如果这确实向前推进,也许以对用户有意义的方式实施它的方式是同时将其标记为’WordPress Lite’,”Wilder 说。 “因此,如果一个网站正在使用 SQLite,可能会有一些功能不再可用(例如多个作者,或者可能无法安装具有特定数据库要求的插件)。”
那些有兴趣测试新的 SQLite 集成模块的人应该可以在下周进行测试。 谷歌赞助的性能团队贡献者 Felix Arntz 在昨天的团队会议上给出了一些关于测试的笔记:
对于 SQLite 实现,除了 SQLite DB 本身可以正常工作之外,另一个需要测试的关键方面是模块激活的用户体验。 您将获得一个全新的数据库,但我们添加了一些逻辑以使转换尽可能无缝:在典型的 WordPress 设置中,您不需要在启用模块时自己重新安装 WordPress,也不应该甚至需要重新登录。
基本上,PR 具有在新数据库中自动安装 WordPress 的逻辑,使用常规数据库中存在的相同基本设置数据。
请记住,这绝不是迁移。 这只是您将获得的安装; 不会迁移任何内容。
Performance Lab 插件的 1.8.0 版本预计将于 12 月 19 日星期一发布,并将包含新模块。