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?