问题描述

我早就希望 Wordpress 能够支持 SQL Server,但是如果支持 MongoDB,那么它也是非常棒的。

我的问题是有什么计划吗?

核心的 Wordpress 团队如何向 MySQL 表示没有计划为其他数据库提供任何类型的支持 (至少在不久之后)?

这个帖子让我相信任何这样的事情都不会发生:

http://codex.wordpress.org/Using_Alternative_Databases

不过,作为一个例子 (虽然我更喜欢 Wordpress)Drupal 7 现在具有…

Database abstraction layer, enabling the use of many databases, such as Maria DB, Microsoft SQL Server, MongoDB, Oracle, MySQL, PostgreSQL, or SQLite

http://drupal.org/node/1015646

最佳解决方案

嗨 @Justin Jenkins:

如果 WordPress 能够或不会支持它,那是非常困难的,因为他们可以做出这些决定,我们不能。但是我们可以看一些证据。

SQL Server?

对于 SQL Server,一方面,trac 机票一年前就被辩论和停滞; 从那时起,最近似乎 Automattic 和 Microsoft 正在探索业务关系:

  • WordPress Trac – 休息 Microsoft SQL Server 支持的票证

  • 微软将 WordPress 带入云端:自动化博客将推向 Azure

  • 微软博客平台处理 WordPress 看起来像一个 Win-Win

Mongo DB?

对于 Mongo DB 来说,提出了一个支持性问题,但没有正式的认可,没有真正的牵引力:

  • WordPress 支持 – 建议:支持 MongoDB,HyperTable 或其他 noSQL 存储

预测?

因此,SQL Server 看起来比 MongoDB 更有可能,至少在近期来自 Automattic,但这只是一个猜测,而不是我实际打赌的。

插件怎么样?

更重要的是,需要考虑到 WordPress 的主要优点是免费插件的巨大存储库,许多 MySQL 直接编码,从而停止工作,并削弱了 WordPress 的大部分优势。

Drupal 模块及其他 MySQL 数据库的支持

在 Drupal 世界中还有多个数据库支持,但实际情况是与数据库交互的绝大多数 Drupal 模块只支持 MySQL 。支持多个数据库需要更多的工作量,大多数 Drupal 模块开发人员根本没有资源,甚至没有倾向于创建具有这些级别的支持的免费插件,并且我期望 WordPress 也是如此。

Real-world Use-Cases?

这给我一个诚实的问题:为什么是 real-world use-cases?作为一名技术专家,我一直把这些类型看作是非常酷的,但作为一个企业家,我也以务实的方式来看待他们,并要求 use-cases 。有没有 MySQL 真的不是一个选择,但 SQL Server 是? Mongo DB 的好处是否超出了缺点?

(同样重要的是,真正需要这些愿意花钱支持开发和维护的公司呢?更具体地说,我会好奇地知道你的动机?再次,这是一个诚实的问题,市场研究真的和不要以任何方式挑战你。)

下一步?

如果你想从马的嘴里听到更多的话,我会建议,但问 wp-hackers mailing list,并在 trac 上发布 MongoDB 的提案票。

UPDATE

我刚刚在 Microsoft.com 上看到这个页面,声称他们有一个使用 SQL Server 与 WordPress 的补丁。我没有尝试,所以我不能保证,虽然这里’s Microsoft’s WordPress 页面:

次佳解决方案

Codec

参见:http://codex.wordpress.org/Using_Alternative_Databases#Solutions/

插件替代

我使用这个插件:http://wordpress.org/extend/plugins/pdo-for-wordpress/最近在我的 NAS 上使用 SQLITE 数据库在后端而不是 MySQL 运行 WordPress,这是非常好的。

支持哪些数据库?

目前的基础层支持 PDO 支持的任何数据库。

  • MS SQL Server(PDO) – Microsoft SQL Server 和 Sybase 函数 (PDO_DBLIB)

  • Firebird /Interbase(PDO) – Firebird /Interbase 功能 (PDO_FIREBIRD)

  • IBM(PDO) – IBM 功能 (PDO_IBM)

  • Informix(PDO) – Informix 函数 (PDO_INFORMIX)

  • MySQL(PDO) – MySQL 函数 (PDO_MYSQL)

  • Oracle(PDO) – Oracle 函数 (PDO_OCI)

  • ODBC 和 DB2(PDO) – ODBC 和 DB2 函数 (PDO_ODBC)

  • PostgreSQL(PDO) – PostgreSQL 函数 (PDO_PGSQL)

  • SQLite(PDO) – SQLite 函数 (PDO_SQLITE)

  • 请注意,通过 PDO_ODBC 扩展,还支持所有 ODBC 支持的数据库,但受驱动程序可用

不过,每个数据库都需要自己的驱动程序,目前为此插件编写的唯一驱动程序是

  • sqlite 和

  • MySQL 的

所以对于 MySQL 有人应该写一个驱动

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。