問題描述

我早就希望 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。