2012-05-18 39 views
5

Estoy mirando construir un sistema para trabajar con idiomas nativos, etiquetas y tales datos en Yii Framework.Yii Usando mongo DB y MySQL al mismo tiempo

Ya elegí MongoDB para almacenar mis datos, ya que creo que se ajusta a nicelly y obtendrá un mejor rendimiento con menos costes (la base de datos tendrá grandes cantidades de datos).

Mi pregunta se refiere a la autenticación de usuario, pagos, etc. Estos son fragmentos de información sensibles y áreas en las que creo que los datos son relacionales.

So: 1. ¿Utilizaría dos sistemas db diferentes? ¿Debería necesitarlos o estoy complicando esto? 2. Si recomienda el enfoque de dos DB ¿cómo lo conseguiría en Yii?

¡Gracias por su tiempo!

PD: No pretendo que esta pregunta sea otra discusión interminable entre la gente relacional y no relacional. Una vez dicho esto, creo que mis datos son mongo, pero si tiene algo que decir al respecto, siga adelante;)

Respuesta

8

Puede estar interesado en this presentation en la infraestructura de OpenSky, donde MongoDB se utiliza junto con MySQL. Mongo se utilizó principalmente para datos de tipo CMS donde era útil un esquema flexible, y se basaron en MySQL para transacciones (por ejemplo, pedidos de clientes, pagos). Si termina utilizando la biblioteca de Doctrine, encontrará que el ORM (para bases de datos SQL) y el MongoDB ODM comparten una API similar, lo que facilitará el proceso de experimentación.

No dudaría en utilizar MongoDB para almacenar datos de usuario, ya que a menudo es un registro que puede beneficiarse del almacenamiento de documentos integrado (por ejemplo, almacenar múltiples direcciones de facturación/envío en un único documento de usuario). En todo caso, Mongo debe ser lo suficientemente flexible como para permitirle desarrollar su aplicación sin preocuparse por los cambios en el esquema debido a la evolución de los requisitos del producto. A medida que esos requisitos se vuelvan más claros, podrá tomar una decisión en función de las necesidades de rendimiento de la aplicación y los tipos de consultas a la base de datos que necesite.

+0

Una gran respuesta. ¡Gracias! – jribeiro

0

No hay daño al usar múltiples bases de datos (si realmente lo necesita), muchos sitios web grandes usan múltiples bases de datos ir a la cabeza y comenzar su proyecto.

+0

Mezclar NoSQL y db relacionales nunca es una buena cosa. A menos que haya una necesidad real. Por lo general, utilizas NoSQL o no. En mi empresa tenemos un gran sitio web, usamos MySQL para los datos, pero usamos mongodb GridFS para almacenar archivos. Solo para almacenar archivos como MongoDB GridFs es perfecto para esto. – Flukey