Есть ли планы на Wordpress для поддержки баз данных, кроме MySQL?


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

Ответы:


5

Привет, Джастин Дженкинс:

Сложно сказать, будет ли WordPress поддерживать его или нет, поскольку они могут принимать такие решения, а мы - нет. Однако мы можем посмотреть на некоторые доказательства.

SQL Server?

Для SQL Server, с одной стороны, билет трассировки был обсужден и остановлен год назад; с тех пор совсем недавно выяснилось, что Automattic и Microsoft изучают деловые отношения:

Монго БД?

Для Mongo DB был вопрос поддержки, предлагающий это, но не было официального подтверждения и никакой реальной тяги:

Прогноз?

Таким образом, SQL Server выглядит более вероятным, чем MongoDB, по крайней мере, из Automattic в ближайшей перспективе, но это всего лишь предположение, а не то, на которое я бы сделал ставку.

Как насчет плагинов?

Что еще более важно, нужно учитывать, что основным преимуществом WordPress является огромный репозиторий бесплатных плагинов, многие из которых напрямую кодируют MySQL и, таким образом, перестают работать и притупляют большую часть преимуществ WordPress.

Модули Drupal и их поддержка других баз данных, кроме MySQL

Более того, в мире Drupal у вас есть поддержка нескольких баз данных, но реальность такова, что подавляющее большинство модулей Drupal, которые взаимодействуют с базой данных, поддерживают только MySQL. Поддержка нескольких баз данных требует во много раз больше усилий, и у большинства разработчиков модулей Drupal просто нет ресурсов или даже желания создавать бесплатные плагины с такими уровнями поддержки, и я ожидаю, что то же самое будет с WordPress.

Случаи использования в реальном мире?

Что приводит меня к честному вопросу: каковы реальные варианты использования для этого? Как сам технолог, я всегда отношусь к этим типам как к классным, но как предприниматель я также смотрю на них прагматично и спрашиваю варианты использования. Есть ли ситуации, когда MySQL на самом деле не вариант, а SQL Server? Являются ли установки, в которых преимущества Mongo DB превысят недостатки?

(И что не менее важно, есть ли компании, которые действительно нуждаются в этом, которые готовы тратить деньги на поддержку разработки и сопровождения? Более конкретно, мне было бы интересно узнать ваши мотивы? Опять же, это честный вопрос; действительно, исследование рынка, и ни в коем случае не оспаривать вас.)

Следующие шаги?

Если вы хотите услышать это больше из уст в уста, я бы посоветовал спросить в списке рассылки wp-hackers и опубликовать заявку на MongoDB на trac .

ОБНОВИТЬ

Я только что наткнулся на эту страницу на Microsoft.com, которая утверждает, что у них есть патч для использования SQL Server с WordPress. Я не пробовал, поэтому я не могу ручаться за это, хотя вот страница Microsoft WordPress:


Спасибо за подробный ответ. Новости SQL Server довольно интересны ... главная причина, которую я даже спрашиваю, заключается в том, что в среде, где запущен SQL Server (или MongoDB, например), когда все остальные наши данные ... интрасеть, пользователи, cms и т. Д., и т. д., SQL Server делает тот факт, что Wordpress поддерживает только MySQL, очень ограничивающий (например, трудно синхронизировать или пользователей, или обмениваться шаблонами и т. д.) Хранение внутренних данных, хранящихся в SQL Server, откроет огромный массив варианты для нас.!
Джастин Дженкинс

@ Джастин Дженкинс - Спасибо за объяснение, почему вы этого хотите; минимизировать серверы и обслуживание. Еще один честный вопрос: достаточно ли важна потребность в SQL Server / Mongo DB для доступа к ограниченной функциональности из WordPress? (т.е. меньше поддержки плагинов.)
MikeSchinkel

7

кодер-декодер

Смотрите: http://codex.wordpress.org/Using_Alternative_Databases#Solutions/

Альтернатива плагинов

В последнее время я использовал этот плагин: http://wordpress.org/extend/plugins/pdo-for-wordpress/ для запуска WordPress на моем NAS с использованием базы данных SQLITE в бэкэнде вместо MySQL, что прекрасно работало.

Какие базы данных поддерживаются?

В настоящее время базовый уровень поддерживает любую базу данных, которая поддерживается 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

2

Я провел некоторое исследование возможностей миграции WordPress на MongoDB или другую базу данных NoSQL, чтобы сделать его действительно масштабируемым. Швы есть неплохой способ (к сожалению, не короткий) для достижения этой цели.

Для начала я написал небольшой скрипт на PHP, который переносит таблицы MySQL в коллекции Mongo, выполняя некоторые агрегации при сохранении исходных реляционных зависимостей:

https://github.com/virtimus/mysql2mongo

Следующий шаг, над которым я сейчас работаю, состоит в том, чтобы заставить MongoDB понять что-то, что было бы «близко» к SQL - я назвал это «nSQL» - это основанный на json диалект SQL, работающий с иерархическими коллекциями

https://github.com/virtimus/nsqlserver

Это незавершенная работа - пока ничего не зафиксировано - однако у меня уже есть автономная версия с прототипом, которая обрабатывает простые запросы 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 (слегка расширенная версия MongoDB с помощью некоторых команд «nSQL») - форк проекта SQLRelay (обработка прокси реляционной БД много бэкэндов SQL)

ОК - так что выше компонент будет основной частью работы. Существует много разработок, чтобы сделать его полностью функциональным (обработка агрегатов, сортировка, фильтры вложенных документов, вставки / обновления / удаления, возможно, также объединения и т. Д.) В целом конечный эффект представляется очень многообещающим - не только для WP. Представьте, например, миграцию с SQL на NoSQL, используя несколько простых команд «INSERT FROM INTO» ...

Остальная часть работы будет заключаться в том, чтобы связать его с WordPress - через какой-то переводчик SQL2NSQL (т.е. этот плагин PDO выше)

Кто-то заинтересован? Помощь в анализе / разработке? Финансовое инвестирование?


-1

PDO для WordPress отлично работает, если вы не против застрять в WP 2.9.1RC1, так как он не поддерживается в WP 3.x. К сожалению, существует множество плагинов, которые написаны для запуска только на WP 3.x

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.