Rails and CouchDB - Preocupaciones arquitectónicas
-
03-07-2019 - |
Pregunta
Estoy trabajando en un proyecto que utilizará CouchDB para el almacenamiento flexible de documentos. Los requisitos de mi sistema coinciden perfectamente con CouchDB para el almacenamiento.
PERO
Mi pregunta realmente se reduce a esto: ¿Debo seguir usando ActiveRecord y MySQL también? Hay una serie de prácticos complementos que están disponibles para usar con ActiveRecord (como la autenticación y el control de acceso). Solo me pregunto si las ventajas de aprovechar los complementos existentes merecen la sobrecarga de administración adicional y los posibles problemas de integración (trabajar en diferentes almacenes de datos).
Solución
No es raro tener que lidiar con varios almacenes persistentes en una sola aplicación. Un enfoque muy común es utilizar una base de datos relacional que almacene rutas que apunten a archivos que están almacenados en un sistema de archivos.
Entonces podría pensar que CouchDB es un "sistema de archivos" especial para una parte especial de su modelo de datos.
Además, en aplicaciones más grandes, las tiendas múltiples y las arquitecturas físicas complejas son bastante comunes, así que no dude en usar más de una tienda persistente para sus modelos.
Otros consejos
Puedes usar ambos; Algunos modelos aún pueden ser ActiveRecord, y otros pueden ser CouchDB.