¿Hay planes para que Wordpress admita bases de datos que no sean MySQL?

8

Durante mucho tiempo deseé que Wordpress admitiera SQL Server, pero también sería realmente sorprendente si admitiera MongoDB (por ejemplo).

Mi pregunta es, ¿hay algún plan para hacerlo, en absoluto?

¿El equipo central de Wordpress está tan comprometido con MySQL que no hay planes para ofrecer ningún tipo de soporte para otros DB (al menos en el corto plazo)?

Esta publicación me lleva a creer que tal cosa no sucederá:

http://codex.wordpress.org/Using_Alternative_Databases

Sin embargo, como ejemplo (si bien prefiero Wordpress), Drupal 7 ahora presenta un ...

Capa de abstracción de base de datos, que permite el uso de muchas bases de datos, como Maria DB, Microsoft SQL Server, MongoDB, Oracle, MySQL, PostgreSQL o SQLite

http://drupal.org/node/1015646

Justin Jenkins
fuente

Respuestas:

5

Hola @Justin Jenkins:

Es muy difícil decir si WordPress lo admitirá o no, ya que pueden tomar esas decisiones y nosotros no. Sin embargo, podemos ver algunas pruebas.

¿Servidor SQL?

Para SQL Server, por un lado, se debatió y se detuvo un ticket de trac hace un año; Desde entonces, más recientemente, parece que Automattic y Microsoft están explorando las relaciones comerciales:

Mongo DB?

Para Mongo DB había una pregunta de soporte que lo proponía, pero sin reconocimiento oficial y sin tracción real:

¿Pronóstico?

Por lo tanto, SQL Server parece más probable que MongoDB, al menos de Automattic en el corto plazo, pero eso es solo una suposición y no una en la que apostaría realmente.

¿Qué pasa con los complementos?

Más importante aún, uno debería considerar que un beneficio importante de WordPress es el enorme depósito de complementos gratuitos y muchos de ellos codifican MySQL directamente y, por lo tanto, dejarían de funcionar y reducirían gran parte del beneficio de WordPress.

Módulos Drupal y su soporte de otras bases de datos además de MySQL

Además, en el mundo de Drupal, tiene soporte para múltiples bases de datos, pero la realidad es que la gran mayoría de los módulos de Drupal que interactúan con la base de datos solo son compatibles con MySQL. El soporte de múltiples bases de datos requiere muchas veces más esfuerzo y la mayoría de los desarrolladores de módulos de Drupal simplemente no tienen los recursos o la inclinación para crear complementos gratuitos con esos niveles de soporte y esperaría que lo mismo fuera cierto con WordPress.

Casos de uso del mundo real?

Lo que me lleva a una pregunta honesta: ¿Cuáles son los casos de uso del mundo real para esto? Como tecnólogo, siempre considero que estos tipos de estos son realmente geniales, pero como emprendedor también los miro pragmáticamente y solicito casos de uso. ¿Hay situaciones en las que MySQL realmente no es una opción, pero SQL Server sí lo es? ¿Son las instalaciones donde los beneficios de Mongo DB excederían las desventajas?

(Y, lo que es más importante, ¿hay empresas que realmente necesitan esto que estén dispuestas a gastar dinero para apoyar el desarrollo y el mantenimiento? Más específicamente, ¿me gustaría saber sus motivaciones? Nuevamente, esa es una pregunta sincera; la investigación de mercado realmente y no desafiarte de ninguna manera por preguntar).

¿Próximos pasos?

Si desea escucharlo más de la boca del caballo, le sugiero que pregunte en la lista de correo de wp-hackers y publique un boleto de propuesta para MongoDB en trac .

ACTUALIZAR

Acabo de encontrar esta página en Microsoft.com que dice que tienen un parche para usar SQL Server con WordPress. No lo intenté, así que no puedo garantizarlo, aunque aquí está la página de WordPress de Microsoft:

MikeSchinkel
fuente
Gracias por la respuesta detallada. Las noticias de SQL Server son bastante interesantes ... la razón principal por la que incluso pregunto es porque en un entorno que ejecuta SQL Server (o MongoDB, por ejemplo) cuando todo el resto de nuestros datos ... intranet, usuarios, cms, etc. etc, son SQL Server, hace que el hecho de que Wordpress solo admita MySQL sea muy limitante (por ejemplo, es difícil sincronizar o usuarios, o compartir plantillas, etc.) Tener los datos de fondo almacenados en SQL Server abriría una gran cantidad de opciones para nosotros.
Justin Jenkins el
@Justin Jenkins - Gracias por la explicación de por qué quieres esto; para minimizar servidores y mantenimiento. Otra pregunta honesta: ¿es la necesidad de SQL Server / Mongo DB lo suficientemente importante como para acceder a una funcionalidad limitada desde WordPress? (es decir, menos soporte para complementos)
MikeSchinkel
7

Códec

Ver: http://codex.wordpress.org/Using_Alternative_Databases#Solutions/

Alternativa de complemento

Utilicé este complemento: http://wordpress.org/extend/plugins/pdo-for-wordpress/ últimamente para ejecutar WordPress en mi NAS utilizando una base de datos SQLITE en el back-end en lugar de MySQL, que funcionó muy bien.

¿Qué bases de datos son compatibles?

Actualmente, la capa básica es compatible con cualquier base de datos que sea compatible con PDO.

  • MS SQL Server (PDO) - Funciones de Microsoft SQL Server y Sybase (PDO_DBLIB)
  • Firebird / Interbase (PDO) - Funciones de Firebird / Interbase (PDO_FIREBIRD)
  • IBM (PDO) - Funciones de IBM (PDO_IBM)
  • Informix (PDO) - Funciones Informix (PDO_INFORMIX)
  • MySQL (PDO) - Funciones MySQL (PDO_MYSQL)
  • Oracle (PDO) - Funciones de Oracle (PDO_OCI)
  • ODBC y DB2 (PDO) - Funciones ODBC y DB2 (PDO_ODBC)
  • PostgreSQL (PDO) - Funciones de PostgreSQL (PDO_PGSQL)
  • SQLite (PDO) - Funciones de SQLite (PDO_SQLITE)
  • Tenga en cuenta que a través de la extensión PDO_ODBC, todas las bases de datos compatibles con ODBC también son compatibles, siempre que los controladores estén disponibles

SIN EMBARGO, cada base de datos necesita su propio controlador y actualmente los únicos controladores escritos para este complemento son para

  • sqlite y
  • mysql

Entonces, para MySQL, alguien debería escribir un controlador

Edelwater
fuente
Gracias por la información sobre PDO (SQLite) para WordPress, parece interesante.
Justin Jenkins el
1
Este complemento no se ha tocado en más de dos años y no tiene soporte para WP 3.x. Es un hallazgo interesante, y sería bueno si alguien pudiera actualizarlo y depurarlo, pero tal como está ahora, no es una solución muy útil. Hay un puñado de publicaciones en los foros donde la gente lo ha pirateado para hacerlo semi funcional, pero parece mucho más complicado de lo que vale.
SickHippie
2

Investigué un poco sobre las posibilidades de migrar WordPress a MongoDB u otra base de datos NoSQL para que sea realmente escalable. Parece que hay una muy buena manera (desafortunadamente no es corta) para lograr esto.

Para empezar, hice un pequeño script en PHP que está migrando las tablas de MySQL a las colecciones de Mongo haciendo algunas agregaciones mientras conserva las dependencias relacionales originales:

https://github.com/virtimus/mysql2mongo

El siguiente paso en el que estoy trabajando ahora es hacer que MongoDB entienda algo que estaría "cerca" de SQL. Lo he llamado "nSQL". Es un dialecto basado en json de SQL que opera en colecciones jerárquicas.

https://github.com/virtimus/nsqlserver

Es un trabajo en progreso, aún no hay nada comprometido, sin embargo, ya tengo una versión de prototipo w sin conexión que procesa consultas nSQL simples de la forma:

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
    })

Puede funcionar tanto en MySQL, MongoDB o casi cualquier otro backend relacional / no relacional. Es una compilación de dos proyectos: - una bifurcación MongoDB (versión MongoDB ligeramente extendida por algunos comandos "nSQL") - una bifurcación de proyecto SQLRelay (manejo de proxy DB relacional) muchos backends de SQL)

OK, entonces el componente anterior sería la parte principal del trabajo. Hay mucho desarrollo para que sea completamente funcional (manejo de agregaciones, clasificación, filtros de subdocumento, inserciones / actualizaciones / eliminaciones, tal vez también se une, etc.) El efecto final parece ser muy prometedor en general, no solo para WP. Imagine, por ejemplo, la migración de SQL a NoSQL utilizando varios comandos simples "INSERTAR DESDE EN" ...

El resto del trabajo sería conectarlo con WordPress, a través de algún tipo de traductor SQL2NSQL (es decir, este complemento PDO anterior)

¿Hay alguien interesado? Ayuda en análisis / desarrollo? Inversión financiera?

Virtimus
fuente
-1

PDO para WordPress funciona de maravilla si no te importa quedarte atascado en WP 2.9.1RC1 ya que no es compatible con WP 3.x. Desafortunadamente, hay muchos complementos que están escritos para ejecutarse solo en WP 3.x

Martillo de hierro
fuente