MongoDB – Crear, Comprobar y Desabrochar la colección Limitada

Espero que hayas disfrutado de nuestro último tutorial de Secuencia de Incremento Automático de MongoDB. Ahora, vamos a ver la colección MongoDB capped. Se trata de una colección fija, que admite operaciones de alto rendimiento. Sobre la base de una orden de inserción, podemos insertar y recuperar un documento. Además, aprenderemos a crear, convertir, verificar y consultar una colección limitada en MongoDB.

Por fin, veremos cuáles son los pros y los contras de las aplicaciones de MongoDB Capped Collection.

 Qué es la Colección Limitada de MongoDB

Colección limitada de MongoDB: Cree, Verifique, Convierta y Destaque la colección limitada

Manténgase actualizado con las últimas tendencias tecnológicas
¡Únase a DataFlair en Telegram!!

¿Qué es MongoDB Capped Collections?

Se trata de una colección fija, que admite operaciones de alto rendimiento. Sobre la base de una orden de inserción, podemos insertar y recuperar un documento. Funcionan de forma similar a los topes circulares: una vez que se asigna espacio a un archivo de colección, deja espacio para nuevos documentos sobrescribiendo los documentos más antiguos de la colección.

Significa que comienza a eliminar el documento más antiguo de la colección sin proporcionar ningún comando explícito. La colección limitada restringe las actualizaciones si las actualizaciones aumentan el tamaño del documento. Almacena documentos en el orden de almacenamiento en disco, por lo que controla el tamaño del documento, ya que no debe aumentar el tamaño asignado al disco. Es mejor para almacenar información de registro, datos de caché o cualquier otro dato de alto volumen.

i. ¿Cómo crear una Colección Limitada en MongoDB?

Para crear una colección limitada de MongoDB, utilizamos el comando createCollection normal con una opción limitada como true y especificando el tamaño máximo de la colección en bytes.

>db.createCollection("cappedLogCollection",{capped:true,size:10000})

Junto con is, podemos limitar el número de documentos en la colección utilizando el parámetro max-

>db.createCollection("cappedLogCollection",{capped:true,size:10000,max:1000})

¿Sabes cómo crear una base de datos en MongoDB?

ii. ¿Cómo comprobar que la Colección está limitada o no?

Si desea comprobar si una colección está limitada o no, utilice el siguiente comando:

>db.cappedLogCollection.isCapped()

iii. ¿Cómo convertir una colección a Capped?

Si hay una colección existente que desea cambiar a limitada, puede hacerlo utilizando el siguiente comando:

>db.runCommand({"convertToCapped":"posts",size:10000})

iv. ¿Cómo encontrar Consultas sobre la Colección Tapada en MongoDB?

Generalmente, una consulta de búsqueda en una colección limitada mostrará los resultados en orden de inserción. Pero si desea que los documentos estén en orden inverso, use el comando ordenar como se muestra a continuación:

>db.cappedLogCollection.find().sort({$natural:-1}

Hechos sobre la Colección Limitada de MongoDB

A continuación, algunos puntos que debe recordar sobre las Colecciones limitadas en MongoDB:

  1. No puede eliminar documentos de una colección limitada. Solo se puede eliminar automáticamente al insertar nuevos documentos cuando se haya agotado el tamaño asignado a la colección.
  2. Después de leer los documentos de una colección limitada, MongoDB devuelve el mismo documento en el orden en que estaban presentes en el disco. Debido a esto, hace que las operaciones de lectura se ejecuten muy rápido.
  3. La operación de actualización tiene una restricción consigo misma. Si la actualización en la colección da como resultado el aumento del tamaño del documento, no actualizará ese documento en la colección, ya que cada documento tiene su tamaño fijo durante la primera inserción en la colección limitada.

Lectura recomendada – ¿Cómo actualizar el documento en MongoDB?

¿Cómo desbloquear una colección con tapa MongoDB?

Aquí utilizaremos dos comandos que son mongodump y mongorestore.

i. Volcar la colección limitada

En primer lugar, volcaremos la colección limitada.

PROD [email protected]:/data/uncap # mongodump -d mydb -c myexampleconnected to: 127.0.0.1:27017Sun Feb 5 00:02:28.879 DATABASE: mydb to dump/mydbSun Feb 5 00:02:28.880 mydb.myexample to dump/mydb/myexample.bsonSun Feb 5 00:02:31.004 Collection File Writing Progress: 868400/67569879 1% (objects)...Sun Feb 5 00:24:13.004 Collection File Writing Progress: 67480900/67569879 99% (objects)Sun Feb 5 00:24:14.203 67569879 objectsSun Feb 5 00:24:14.203 Metadata for mydb.myexample to dump/mydb/myexample.metadata.json

ii. Metarchivo en formato JSON

Ahora, dump también incluye un archivo de metadatos en formato JSON.

cat dump/mydb/myexample.metadata.json { "options": { "capped": true, "size": 107374182400 }, "indexes": }

Eche un vistazo: Copia de seguridad MongoDB & Opción de restauración

iii. Elimine la sección «opción»

Ahora, después de esto, elimine la sección «opciones» que muestra el tamaño de colección limitado.

PROD [email protected]:/data/uncap # mongorestore -d mydb -c myexample_tmp dump/mydb/myexample.bsonconnected to: 127.0.0.1:27018Sun Feb 5 00:29:41.473 dump/mydb/myexample.bsonSun Feb 5 00:29:41.473 going into namespace Sun Feb 5 00:29:44.060 Progress: 51202216/106169934834 0% (bytes)Sun Feb 5 00:29:47.007 Progress: 106497873/106169934834 0% (bytes)Sun Feb 5 01:57:19.065 Progress: 106159626025/106169934834 99% (bytes)67569879 objects foundSun Feb 5 01:57:19.637 Creating index: { key: { _id: 1 }, ns: "mydb.myexample_tmp", name: "_id_" }

iv. Crea índices para nosotros

Después de esto crea índices automáticamente para nosotros. Compruébalo después de esto.

rs-prod:PRIMARY> db.myexample.isCapped()truers-prod:PRIMARY> db.myexample_tmp.isCapped()falsers-prod:PRIMARY> db.myexample.count()9876543210rs-prod:PRIMARY> db.myexample_tmp.count()9876543210

v. Suelte la colección antigua y cambie el nombre

Después de esto, suelte la colección antigua y cambie el nombre de la nueva colección.

db.myexample.drop()db.myexample_tmp.renameCollection('myexample')db.myexample.count()9876543210

Ventajas de las colecciones con tapa

Estos son algunos de los beneficios:

  • Las consultas no necesitan un índice para devolver documentos en orden de inserción, ya que proporciona un mayor rendimiento de inserción.
  • Las colecciones con límite permiten actualizaciones que se ajustan al tamaño del documento original, lo que nos garantiza que el documento no cambia su ubicación en el disco.
  • Es útil mantener archivos de registro.

Desventajas de las colecciones con límite

A continuación se muestran las limitaciones de las colecciones con límite en MongoDB:

  • Si la actualización de un documento supera el tamaño original de una colección, se produce un error en la operación de actualización.

Además, las relaciones Learn – MongoDB & Referencia de base de datos

  • No es posible eliminar documentos de una colección limitada. Para eliminar todos los registros de una colección limitada, utilice el siguiente comando:
{ emptycapped: nameOfCollection }
  • No es posible fragmentar una colección tapada.

Aplicación de Colección limitada

Algunas de las aplicaciones de una colección limitada son las siguientes:

  • Registro de aplicaciones
  • Historial
  • Información de auditoría

Resumen

Por lo tanto, hemos estudiado todo sobre las colecciones limitadas de MongoDB: cómo crear, convertir, verificar, ventajas, desventajas. Por fin estudiamos acerca de mongodump y mongorestore son los dos comandos que se usan para desentrañar la colección.

Esperanza. lo encuentras útil. Si tiene alguna consulta, no dude en compartirla con nosotros. Seguramente, nos pondremos en contacto con usted!

Tema relacionado-Objeto MongoDB & Operaciones atómicas

Deja una respuesta

Tu dirección de correo electrónico no será publicada.