Red de conocimiento informático - Consumibles informáticos - ¿Por qué uso Mongodb en lugar de Mysql_MySQL en mi proyecto?

¿Por qué uso Mongodb en lugar de Mysql_MySQL en mi proyecto?

MongoDB

Tuve esta idea en las primeras etapas del diseño del proyecto. En ese momento, finalmente elegí el programa nosql cuando se cumplieron las siguientes condiciones:

1. Requisitos para cambios frecuentes. : desarrollo ¡Debería ser más ágil, el costo de desarrollo y mantenimiento debería ser menor y debería poder actualizar, evolucionar y lanzar nuevas funciones rápidamente en el ciclo más corto! .2. Soporte cliente/api, porque esto afecta directamente la eficiencia del desarrollo 3. Implementación simple 4. Escalabilidad 5. Ahorre recursos del sistema y consuma menos recursos como CPU

NoSQL que cumple con estos requisitos del programa, todavía hay mongodb y redis. Con respecto a redis, no digo que no sea bueno, pero hay una razón importante para nuestro proyecto. No digo que redis no sea bueno, pero hay una razón importante para nuestro proyecto. Los formatos de procesamiento son JSON, lo que jugó un papel decisivo en la posterior elección entre ambos.

Por supuesto, Redis es muy atractivo para operaciones con tipos de datos ricos y puede resolver fácilmente algunos escenarios de aplicaciones. Su rendimiento de lectura y escritura también es bastante alto. La versión anterior vinculaba el almacenamiento a la memoria, por lo que si era grande. Se almacena una gran cantidad de datos. Los datos necesitan consumir demasiada memoria. Por supuesto, este problema ya existe en la versión actual.

MongoDB es una base de datos orientada a documentos actualmente desarrollada y mantenida por 10gen. Tiene muchas funciones y es completa, y puede reemplazar completamente a MySQL.

Durante la implementación de mi proyecto, resumí algunos aspectos destacados de mongodb:

¿Por qué MongoDB puede reemplazar a MySQL?

1. Utilice una sintaxis de estilo JSON, fácil de dominar y comprender: MongoDB utiliza la variante JSON BSON como formato y sintaxis de almacenamiento interno. Todas las operaciones en MongoDB utilizan sintaxis de estilo JSON y los datos enviados o recibidos por el cliente se muestran mediante formularios JSON. En comparación con SQL, es más intuitivo, más fácil de entender y dominar. Esta es también una de las razones por las que finalmente elegí mongodb en función de la situación inicial de mi propio proyecto.

2. Sin modo, admite subdocumentos incrustados: MongoDB es una base de datos de documentos sin esquema. Una base de datos puede tener varias colecciones y cada colección es una colección de documentos. Las colecciones y los documentos no son equivalentes a tablas y filas en las bases de datos tradicionales. No es necesario predefinir una Colección, se puede crear en cualquier momento. La colección puede contener registros de documentos con diferentes esquemas. Esto significa que su registro anterior en el documento tiene 3 atributos y el siguiente registro en el documento puede tener 10 atributos. Los tipos de atributos pueden ser tipos de datos básicos (como números, cadenas, fechas, etc.) o pueden ser tipos de datos básicos (como números, cadenas, fechas, etc.). matriz o un hash, o incluso un subdocumento (documento incrustado). De esta manera, se puede lograr la desnormalización del modelo de datos, mejorando así la velocidad de consulta. 3. La consulta es fácil de usar: use JSON directamente y admita consultas de rango y consultas de expresiones regulares. 4. CRUD es más simple y admite actualizaciones in situ: simplemente defina una matriz y luego pásela al método de inserción/actualización de MongoDB para insertarla o actualizarla automáticamente para el modo de actualización, MongoDB admite una opción de inserción, es decir: si el registro es. existe, actualizarlo, de lo contrario insertarlo? El método de actualización de MongoDB también admite Modificador, que se puede utilizar para implementar actualizaciones instantáneas en el lado del servidor, eliminando la necesidad de comunicación entre el cliente y el servidor. Estos modificadores le dan a MongoDB una funcionalidad similar a Redis, Memcached y otros KV: MonoDB es más simple y rápido que MySQL.

Los modificadores también son contenedores que MongoDB puede utilizar para rastrear el comportamiento del usuario. En la práctica, el uso de Modifier puede guardar rápidamente las interacciones del usuario en MongoDB para su posterior análisis estadístico y personalización. 5. Todos los tipos de atributos admiten índices e incluso matrices: esto puede hacer que ciertas tareas sean muy fáciles de implementar. En MongoDB, el atributo _id? es la clave principal y, de forma predeterminada, MongoDB crea un índice único en _id.

6. Rendimiento y velocidad eficientes: MongoDB está escrito en c/boost. En la mayoría de los casos, su velocidad de consulta es mucho más rápida que MySQL y su uso de CPU también es muy bajo. La implementación también es muy simple. Para la mayoría de los sistemas, solo necesita descargar el paquete binario y descomprimirlo para ejecutarlo directamente, con una configuración casi nula. 7. Scripts del lado del servidor y Map/Reduce: MongoDB permite que los scripts se ejecuten en el lado del servidor. Puede usar Javascript para escribir una función y ejecutarla directamente en el lado del servidor. del lado del servidor y llámelo directamente la próxima vez. MongoDB no admite el bloqueo a nivel de transacción. Para algunas operaciones que requieren atomicidad personalizada, puede utilizar scripts del lado del servidor. Para algunas operaciones que requieren atomicidad personalizada, puede utilizar scripts del lado del servidor para implementarlas. En este momento, todo MongoDB está bloqueado. Map/Reduce también es una característica atractiva de MongoDB. Map/Reduce puede realizar estadísticas, clasificación, fusión y otras tareas en una gran cantidad de datos en la tabla, y completar GroupBy del SQL original y otras funciones agregadas. Tanto Mapper como Reducer son scripts del lado del servidor definidos mediante Javascript.