La mayoría de las aplicaciones de software hoy en día implican un almacenamiento dinámico de datos para una extensa referencia futura en la propia aplicación. Todos sabemos que los datos se almacenan en una base de datos que se divide en dos categorías:DBMS relacional y no relacional.
Su elección de selección de estos dos dependerá completamente de su estructura de datos, la cantidad de datos involucrados, el rendimiento de la base de datos y la escalabilidad.
Los DBMS relacionales almacenan datos en tablas en términos de filas, de modo que utilizan el lenguaje de consulta estructurado (SQL), lo que los convierte en una buena opción para aplicaciones que involucran varias transacciones. Incluyen MySQL, SQLite y PostgreSQL.
Por otro lado, los DBMS NoSQL como MongoDB están orientados a documentos, de modo que los datos se almacenan en colecciones en términos de documentos. Esto brinda una mayor capacidad de almacenamiento para un gran conjunto de datos, por lo tanto, una ventaja adicional en la escalabilidad.
En este blog, asumimos que tiene un mejor conocimiento de MongoDB o MySQL y, por lo tanto, le gustaría saber la correlación entre los dos en términos de consulta y estructura de la base de datos.
A continuación se muestra una hoja de trucos para familiarizarse aún más con la consulta de MySQL a MongoDB.
Hoja de referencia de MySQL a MongoDB - Términos
Términos de MySQL | Términos de MongoDB | Explicación |
---|---|---|
Tabla | Colección | Este es el contenedor de almacenamiento de datos que tienden a ser similares en los objetos contenidos. |
Fila | Documento | Define la entidad de objeto único en la tabla para MySQL y la colección en el caso de MongoDB. |
Columna | Campo | Para cada elemento almacenado, tiene propiedades definidas por diferentes valores y tipos de datos. En MongoDB, los documentos de una misma colección pueden tener campos diferentes entre sí. En MySQL, cada fila debe definirse con las mismas columnas de las existentes. |
Clave principal | Clave principal | Cada objeto almacenado se identifica con un valor de campo único; en el caso de MongoDB, tenemos el campo _id configurado automáticamente, mientras que en MySQL puede definir su propia clave principal, que es incremental a medida que crea nuevas filas. |
Uniones de tablas | Incrustar y vincular documentos | Conexión asociada con un objeto en una colección/tabla diferente a datos en otra colección/tabla. |
dónde | $coincidencia | Seleccionar datos que coincidan con los criterios. |
grupo | $grupo | Agrupación de datos según algunos criterios. |
soltar | $desestablecido | Eliminar una columna/campo de una fila/documento/ |
establecer | $conjunto | Establecer el valor de una columna/campo existente en un nuevo valor. |
Declaraciones de esquema
Sentencias de tabla MySQL | Declaraciones de colección de MongoDB | Explicación |
---|---|---|
La base de datos y las tablas se crean explícitamente a través del panel de administración de PHP o se definen dentro de un script, es decir, Crear una base de datos Crear una tabla | La base de datos se puede crear implícita o explícitamente. Implícitamente, durante la inserción del primer documento, se crean la base de datos y la colección, así como también se agrega un campo _id automático a este documento. También puede crear la base de datos explícitamente ejecutando este comentario en Mongo Shell | En MySQL, debe especificar las columnas en la tabla que está creando, así como establecer algunas reglas de validación, como en este ejemplo, el tipo de datos y la longitud que va a una columna específica. En el caso de MongoDB, no es obligatorio definir ni los campos que debe contener cada documento ni las reglas de validación que deben contener los campos especificados. Sin embargo, en MongoDB para la integridad y consistencia de los datos, puede establecer las reglas de validación utilizando JSON SCHEMA VALIDATOR |
Dejar caer una mesa | | Estas son declaraciones para eliminar una tabla para MySQL y una colección en el caso de MongoDB. |
Agregando una nueva columna llamada join_date Eliminando la columna join_date si ya está definida | Agregando un nuevo campo llamado join_date Esto actualizará todos los documentos de la colección para que tengan la fecha de unión como la fecha actual. Eliminando el campo join_date si ya está definido Esto eliminará el campo join_date de todos los documentos de la colección. | Alterar la estructura del esquema agregando o quitando una columna/campo. Dado que la arquitectura de MongoDB no aplica estrictamente la estructura del documento, los documentos pueden tener campos diferentes entre sí. |
Crear un índice con la columna UserId ascendente y Age descendente | Crear un índice que involucre los campos UserId y Age. | Los índices generalmente se crean para facilitar el proceso de consulta. |
| | Insertando nuevos registros. |
| | Eliminación de registros de la tabla/colección cuya antigüedad sea igual a 25. |
| | Eliminando todos los registros de la tabla/colección. |
| | Devuelve todos los registros de la tabla/colección de usuarios con todas las columnas/campos. |
| | Devuelve todos los registros de la tabla/colección de usuarios con columnas/campos de edad, sexo y clave principal. |
| | Devuelve todos los registros de la tabla/colección de usuarios con columnas/campos de edad y género. Se omite la clave principal. |
| | Devuelve todos los registros de la tabla/colección de usuarios cuyo valor de Género está establecido en M. |
| | Devuelve todos los registros de la tabla/colección de usuarios con solo el valor Sexo pero cuyo valor Edad es igual a 25. |
| | Devuelve todos los registros de la tabla/colección de usuarios cuyo valor Sexo está establecido en F y Edad es 25. |
| | Devuelve todos los registros de la tabla/colección de usuarios cuyo valor de Edad no es igual a 25. |
| | Devuelve todos los registros de la tabla/colección de usuarios cuyo valor Sexo está establecido en F o Edad es 25. |
| | Devuelve todos los registros de la tabla/colección de usuarios cuyo valor de Edad es superior a 25. |
| | Devuelve todos los registros de la tabla/colección de usuarios cuyo valor de Edad es menor o igual a 25. |
| | Devuelve todos los registros de la tabla/colección de usuarios cuyo valor de Nombre tiene letras He. |
| | Devuelve todos los registros de la tabla/colección de usuarios cuyo valor de género se establece en F y ordena este resultado en orden ascendente de la columna id en el caso de MySQL y el tiempo insertado en el caso de MongoDB. |
| | Devuelve todos los registros de la tabla/colección de usuarios cuyo valor de género se establece en F y ordena este resultado en orden descendente de la columna id en el caso de MySQL y el tiempo insertado en el caso de MongoDB. |
| o | Cuenta todos los registros en la tabla/colección de usuarios. |
| o | Cuenta todos los registros en la tabla/colección de usuarios que tienen un valor para la propiedad Nombre. |
| o | Devuelve el primer registro en la tabla/colección de usuarios. |
| | Devuelve el primer registro en la tabla/colección de usuarios que tiene un valor de Género igual a F. |
| | Devuelve los cinco registros en la tabla/colección de usuarios después de omitir los primeros cinco registros. |
| | Esto establece la edad de todos los registros en la tabla/colección de usuarios que tienen una edad mayor de 25 a 26 años. |
| | Esto aumenta la antigüedad de todos los registros en la tabla/colección de usuarios en 1. |
| | Esto reduce la antigüedad del primer registro en la tabla/colección de usuarios en 1. |
Para administrar MySQL y/o MongoDB de forma centralizada y desde un único punto, visite:https://severalnines.com/product/clustercontrol.