WordPress将在核心底层直接支持S

我们知道WordPress是非常容易扩展的,可以通过二次开发来实现几乎所有网站的需求,比如:

单个落地页

只有几页的简单的公司网站,很少更新,但本质上是具有管理功能的静态站点。

简单的单用户博客

有点复杂的新闻网站

购物网站

全功能的CMS解决方案

因此WordPress应用越来越广泛,但是有个方面从未改变,就是数据库:WordPress一直使用MySQL或MariaDB数据库。

WordPress站点使用MySQL数据库一般会有两种选择,一是使用专有的MySQL服务器(RDS),会增加了网站的托管成本,二是在服务器上同时安装PHP和MySQL,这样则会降低服务器的性能。

然后一些数量众多的小而简单的站点,比如个人博客和公司页面,这些站点没有数千名用户或几万篇的文章,他们几乎用不到MySQL数据库的复杂功能。

数据库抽象层

在理想情况下,如果WordPress能够实现数据库抽象层的话,这样WordPress就可以使用任何类型的数据库。

数据库抽象层在很多CMS比如Drupal十多年前就实现了,其他PHP框架比如Laravel和Symfony也有允许使用多种数据库类型的ORM。

但是目前来看,在WordPress中实现数据库抽象层是一项艰巨的任务,在短期来看有比较大的难度,不过在未来是可以被实现的。

实现SQLite

作为过渡,可以先为中小型网站和博客提供一个使用SQLite的解决方案,因为这些站点不一定需要复杂的MySQL数据库,SQLite可能是更完美的选择:

它是全球使用最广泛的数据库

它是跨平台的,可以在任何设备上运行

它默认包含在所有PHP安装中(除非明确禁用)

这样WordPress的最低要求只需要一个简单的PHP服务器,而不需要单独的数据库服务器。

支持SQLite可以降低服务器托管成本、降低能耗并降低低端服务器的性能成本。

在WordPress核心中实现SQLite

目前在WordPress中使用SQLite很简单,8年前就有人实现了,并且经过全面测试证明可以和WordPress无缝工作,它是通过将SQLite版本的db.php文件放置到wp-content/db.php。

然而大多数人并不知道还可以这样操作,也不知道这样就可以选择没有MySQL的更便宜的主机,然后使用SQLite数据库安装WordPress。毕竟对技术不是那么了解,他们只是想要一个简单的公司网站或博客。

所以WordPress官方准备通过在核心代码中加入现有的SQLite实现来正式支持SQLite,并且确保得到完善的测试和支持,此外提供选项让用户知道这件事情。比如在安装的时候可以SQLite和MySQL二选一,或者在inwp-config.php中定义DATABASE_TYPE常量来实现。

为什么核心而不是插件?

使用哪种数据库一般来说应该是首次安装站点去选择,而不是安装好之后再去调整。安装好之后调整就需要将数据从一个数据库迁移到另一个数据库,这通常很复杂。

因此最好WordPress在核心代码中就支持SQLite,和MySQL并存,让用户选择。如果用户要两种数据库之间的数据迁移,则可以通过插件来实现,但是数据库引擎本身应该属于Core。

当然这个是WordPress官方目前的一个想法,如果真正要实现,还有很多步骤要去做,比如wp-config.php文件中DATABASE_TYPE的常量,移植到WordPressCore之后,编码规范,代码内文档,迁移测试等,还有使用SQLite测试WordPress核心功能,以及让插件开发人员测试等。

但是把SQLite加入WordPress核心还是一个非常棒的想法,拭目以待。




转载请注明:http://www.aierlanlan.com/rzdk/3026.html

  • 上一篇文章:
  •   
  • 下一篇文章: