除了MySQL,Wordpress是否有计划支持数据库?


8

我一直希望Wordpress支持SQL Server,但是如果它支持MongoDB(例如),也将非常令人惊讶。

我的问题是,有没有计划这样做?

核心的Wordpress团队是否对MySQL如此忠诚,以至于没有计划为其他数据库提供任何形式的支持(至少在不久的将来?)。

这篇文章使我相信不会发生任何此类事情:

http://codex.wordpress.org/Using_Alternative_Databases

但是,作为一个示例(尽管我更喜欢Wordpress),Drupal 7现在具有...

数据库抽象层,支持使用许多数据库,例如Maria DB,Microsoft SQL Server,MongoDB,Oracle,MySQL,PostgreSQL或SQLite

http://drupal.org/node/1015646

Answers:


5

@Justin Jenkins:

很难说WordPress是否会支持它,因为WordPress可以做出决定,而我们不能。但是我们可以看看一些证据。

SQL Server?

一方面,对于SQL Server而言,一年前对辩论票进行了辩论并停滞不前。从那时起,Automattic和Microsoft似乎正在探索业务关系:

Mongo DB?

对于Mongo DB,有人提出了一个支持问题,但是没有官方的认可,也没有真正的吸引力:

预测?

因此,SQL Server看起来比MongoDB更有可能,至少在短期内至少来自Automattic,但这只是一种猜测,并不是我真正打赌的。

插件呢?

更重要的是,人们需要考虑WordPress的一个主要好处是巨大的免费插件存储库,其中许多直接对MySQL进行编码,因此将停止工作并削弱WordPress的许多好处。

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

更重要的是,在Drupal世界中,您确实具有多个数据库支持,但事实是,与数据库交互的绝大多数Drupal模块仅支持MySQL。支持多个数据库需要花费很多倍的精力,而且大多数Drupal模块开发人员根本没有资源甚至没有意愿创建具有这些支持级别的免费插件,我希望WordPress也是如此。

现实中的用例?

这使我提出了一个诚实的问题:实际的用例是什么?我自己作为技术专家,总是将这些类型视为非常酷,但作为企业家,我也务实地查看它们并提出用例。在某些情况下,实际上不是MySQL而是SQL Server可以选择吗?Mongo DB的好处是否会超过缺点?

(同样重要的是,是否有真正需要此服务的公司愿意花钱来支持开发和维护?更具体地说,我很想知道您的动机吗?这又是一个老实的问题;市场研究真的,以及不要以任何方式挑战你。)

下一步?

如果您想从马口中听到更多信息,我建议您在wp-hackers邮件列表上询问,并在trac上发布MongoDB的建议票。

更新

我刚刚在Microsoft.com上看到此页面,声称它们具有将SQL Server与WordPress结合使用的补丁。我没有尝试过,因此无法担保,尽管这里是Microsoft的WordPress页面:


感谢您的详细回复。SQL Server的新闻非常有趣……我什至问的主要原因是因为在运行SQL Server(例如MongoDB)的环境中,我们所有的其余数据……企业内部网,用户,cms等, SQL Server等事实使得Wordpress仅支持MySQL非常有限(例如,很难同步或与用户共享模板等),而将后端数据存储在SQL Server中将打开大量的我们的选择。
贾斯汀·詹金斯

@Justin Jenkins-感谢您解释为什么要这么做;以最小化服务器和维护。另一个诚实的问题:对SQL Server / Mongo DB的需求是否足够重要,才能从WordPress访问有限的功能?(即较少的插件支持。)
MikeSchinkel 2011年

7

编解码器

请参阅:http : //codex.wordpress.org/Using_Alternative_Databases#Solutions/

插件替代

我最近使用此插件:http : //wordpress.org/extend/plugins/pdo-for-wordpress/在后端使用SQLITE数据库而不是MySQL在我的NAS上运行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,有人应该编写驱动程序


感谢您提供有关PDO(SQLite)的信息对于WordPress,它看起来很有趣。
贾斯汀·詹金斯

1
这个插件已经有两年没有接触过了,并且对WP 3.x的支持为零。这是一个有趣的发现,如果有人可以更新和调试它会很好,但是就目前而言,这不是一个非常有用的解决方案。论坛上有几篇文章,人们对其进行了一些修改,使其半功能化,但是看起来麻烦多于其价值。
SickHippie 2012年

2

我对将WordPress迁移到MongoDB或其他NoSQL数据库以使其真正可扩展的可能性进行了一些研究。接缝有相当好的方法(不幸的是不是很短的方法)来实现这一目标。

首先,我用PHP完成了一些小脚本,该脚本将MySQL表迁移到Mongo集合,进行一些聚合,同时保留原始的关系依赖性:

https://github.com/virtimus/mysql2mongo

我现在正在做的下一步是使MongoDB了解与SQL“接近”的东西-我将其命名为“ nSQL”-它是在分层集合上运行的基于json的SQL方言

https://github.com/virtimus/nsqlserver

这是一项正在进行的工作-尚无承诺-但是我已经离线了w protype版本,该版本处理以下形式的简单nSQL查询:

db.runCommand(
    {nsQL:
        {
           sel:['id','emailUse','emailType','emailSubject'],    // properties/colums to return
           flt:{emailUse:0,emailType:'test'},           // filter (where phrase equivalent)
           ctb:'wp_eshop_emails'                // table equivalent (can be agregated in collection as path)
        },
        cid:ci,                         //connection id
        sid:si                          //session id
    })

它可以在MySQL,MongoDB或几乎任何其他关系/非关系后端上运行。它是两个项目的编译:-MongoDB分支(通过某些“ nSQL”命令略微扩展了MongoDB版本)-SQLRelay项目的分支(关系数据库代理处理)许多SQL后端)

好的-以上组件将是工作的主要部分。有很多开发使其可以发挥全部功能(聚合处理,排序,子文档过滤器,插入/更新/删除,也许还有连接等)。最终效果似乎非常普遍-不仅对于WP。想象一下使用几个简单的“ INSERT FROM INTO”命令将SQL迁移到NoSQL的情况。

剩下的工作将是通过某种SQL2NSQL转换器(即上面的PDO插件)将其与WordPress连接起来。

有感兴趣的人吗?帮助分析/开发?金融投资?


-1

如果您不介意卡在WP 2.9.1RC1上,则WordPress的PDO效果很好,因为WP 3.x不支持它。不幸的是,有很多插件只能在WP 3.x上运行

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.