it-swarm-es.com

¿Es posible cambiar la capa de datos dentro de WordPress?

WordPress es, sin duda, muy personalizable utilizando complementos, pero toda posibilidad de personalización seguramente tiene límites definidos por la arquitectura subyacente.

Para aquellos familiarizados con WP arquitectura y código fuente:

¿Cuál sería el esfuerzo requerido para personalizar la capa de datos utilizada por WP para usar otro almacén de datos (por ejemplo, archivos (u otro sistema de base de datos) en lugar de MySQL?). ¿Está la arquitectura de WordPress en capas en el sentido de tener la posibilidad de cambiar de capas? La capa UI es aparentemente muy fácil de cambiar (cualquier tema hace esto), pero ¿qué hay de otras capas, a saber, la capa de datos?

4
Marek

Wordpress es no diseñado para tener una capa de base de datos reemplazable. Informática tiene algunos conceptos diferentes en su cofre para tratar diferentes bases de datos en la misma aplicación en diferentes niveles de abstracción, Wordpress no tiende a hacer uso de ninguno de ellos. Para decirlo en palabras más simples: en absoluto.

Pero WordPress ofrece la posibilidad de reemplazar su propio código con otro código, por ejemplo, la clase de base de datos completa. Eso no siempre es (leer: normalmente) suficiente para reemplazar toda la capa de la base de datos, pero ayuda a modificar. La clase WPDB que reemplaza HyperDB , por ejemplo, no agrega una nueva capa de base de datos por completo, pero maneja múltiples servidores MySQL en lugar de uno, lo cual es un ejemplo bien conocido (esto se considera una mala práctica para hacer con PHP, hay mejores formas , pero es un buen ejemplo de lo que se puede hacer).

Al lado de reemplazar la clase de base de datos, Wordpress tiene la capacidad de que aún se puede reemplazar más código y puede cambiarlo por completo, por ejemplo. creando una distribución propia que se encarga de todo lo relacionado con la capa de base de datos por sí misma.

Si desea ver un ejemplo de la vida real sobre cómo reemplazar toda la capa de base de datos, para hacer que wordpress use un tipo de servidor de base de datos totalmente diferente (aquí: MSSQL en lugar del MySQL codificado), encontrará una distribución completa y un parche aquí. :

WordPress en SQL Server Distro & Patch

Es un software gratuito que puede estudiar cómo se puede implementar dicha capa de base de datos; el sitio web también proporciona más información sobre ese tema.

Consejo: No luches contra Wordpress. Quédate con MySQL y eso es todo. De lo contrario, busque otra cosa mejor diseñada para satisfacer sus necesidades. Solo toma la herramienta adecuada para el trabajo.

5
hakre

Es posible: ver el HyperDB reemplazo para wpdb. HyperDB agrega partición y replicación a WordPress. La partición funciona al conectarse a múltiples bases de datos y usar el nombre de la tabla para determinar qué base de datos debe ejecutar la consulta.

Al final, $wpdb solo obtiene una consulta SQL, y es gratis hacer lo que quiera con los datos dentro de esa consulta. HyperDB consulta a MySQL como la clase original de wpdb. Extender eso a diferentes bases de datos requeriría modificar cualquier consulta que no sea compatible antes de que se ejecuten. Si su almacén de datos no acepta SQL en absoluto, tendría que traducir la consulta entrante a cualquier otra API que esté usando. Cualquier cosa es posible con suficiente tiempo y esfuerzo, pero a mí me parece una empresa bastante miserable. ;)

2
Annika Backstrom

Acabo de encontrar esta página de Codex que lo resume muy bien, incluida la descripción general de las soluciones propuestas y/o planificadas por las personas que desarrollan WordPress. Vamos a ver cómo sale.

0
Marek