Bases de datos NoSQL en MongoDB
45 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál es el campo que identifica de manera única un documento en MongoDB?

  • apellido1
  • _id (correct)
  • nombre
  • numSocio

Es necesario usar el método createCollection para crear una colección en MongoDB.

False (B)

¿Qué comando se utiliza para crear una colección con opciones en MongoDB?

db.createCollection(name, options)

El documento que contiene campos embebidos se conoce como un ______.

<p>documento embebido</p> Signup and view all the answers

Relaciona los campos de un documento con su descripción:

<p>_id = Identificador único del documento nombre = Nombre de la persona contacto = Información de contacto numSocio = Número de socio asociado</p> Signup and view all the answers

¿Cuál de los siguientes es un campo de contacto en el documento de ejemplo?

<p>correo (B)</p> Signup and view all the answers

El campo 'apellido2' puede contener nulos en un documento de ejemplo.

<p>True (A)</p> Signup and view all the answers

¿Qué dos opciones se pueden especificar al crear una colección en MongoDB?

<p>size, autoIndexId</p> Signup and view all the answers

¿Cuál es una desventaja de crear demasiados índices en MongoDB?

<p>Aumenta la sobrecarga en operaciones de escritura (B)</p> Signup and view all the answers

En MongoDB, una relación uno-a-uno siempre embebe ambos documentos.

<p>False (B)</p> Signup and view all the answers

¿Qué tipo de base de datos es MongoDB?

<p>NoSQL orientada a documentos (A)</p> Signup and view all the answers

Menciona un tipo de relación que se puede definir en MongoDB.

<p>Uno a uno, uno a varios embebido, uno a varios con referencias</p> Signup and view all the answers

MongoDB permite que el esquema de los datos sea _____, permitiendo al desarrollador decidir cómo implementarlo.

<p>flexible</p> Signup and view all the answers

La primera versión estable de MongoDB fue lanzada en 2011.

<p>False (B)</p> Signup and view all the answers

Asocia los tipos de relaciones de MongoDB con sus descripciones:

<p>Uno a uno = Uno de los documentos se embebe dentro de otro. Uno a varios embebido = Los documentos se embeben dentro de otro en un array. Uno a varios con referencias = Utiliza referencias al _id de los documentos relacionados. Uno a varios = Puede ser embeido o con referencias.</p> Signup and view all the answers

¿Qué significa BSON en el contexto de MongoDB?

<p>Binary JSON</p> Signup and view all the answers

La última versión de MongoDB publicada hasta ahora es la ___ (número de versión).

<p>8.0</p> Signup and view all the answers

Relaciona cada versión de MongoDB con su año de lanzamiento:

<p>0.9 = 2009 1.0 = 2009 1.4 = 2011 5.0 = Actualidad</p> Signup and view all the answers

¿Cuál de las siguientes aplicaciones puede utilizar MongoDB?

<p>Gestionar contenido en un sitio web (B)</p> Signup and view all the answers

MongoDB está disponible solo bajo licencia comercial.

<p>False (B)</p> Signup and view all the answers

¿Cuáles son algunas de las áreas donde se utiliza MongoDB?

<p>Internet de las cosas, visualización geospacial, gestión de contenidos, aplicaciones móviles, videojuegos.</p> Signup and view all the answers

¿Cuál de los siguientes tipos de índices se crea por defecto en MongoDB?

<p>Default_id (B)</p> Signup and view all the answers

Un índice multikey se crea sobre cada elemento de un campo array.

<p>True (A)</p> Signup and view all the answers

¿Qué permiten garantizar los índices únicos en MongoDB?

<p>Unicidad de los valores en el campo indexado.</p> Signup and view all the answers

Un índice que caduca después de un tiempo se llama ______.

<p>TTL</p> Signup and view all the answers

¿Qué método permite ver el plan llevado a cabo para una consulta en MongoDB?

<p>explain() (D)</p> Signup and view all the answers

Relaciona los tipos de índices con sus características:

<p>TTL = Índice que caduca después de un tiempo Unique = Garantiza unicidad Partial = Índice sobre documentos con valores concretos Sparse = Índice que solo se crea en documentos con el campo presente</p> Signup and view all the answers

El optimizador de consultas de MongoDB no se reevalúa una vez establecido.

<p>False (B)</p> Signup and view all the answers

¿Cómo se crea un índice compuesto en MongoDB?

<p>db.socios.createIndex({'campo1': 1, 'campo2': -1})</p> Signup and view all the answers

¿Qué estructura se utiliza para modelar la dirección de una persona como subdocumento?

<p>Un subdocumento dentro del documento principal (D)</p> Signup and view all the answers

Las relaciones uno-a-varios solo pueden modelarse utilizando subdocumentos en documentos separados.

<p>False (B)</p> Signup and view all the answers

¿Qué problema surge al almacenar un array con todos los datos de los subdocumentos?

<p>El array podría crecer en exceso, lo que haría que las búsquedas sean ineficientes.</p> Signup and view all the answers

Los libros pueden almacenarse en un array como subdocumentos de los documentos de los _____ .

<p>editores</p> Signup and view all the answers

Relacione los siguientes conceptos con su descripción:

<p>Subdocumento = Elemento embebido dentro de un documento principal Array = Estructura que puede contener múltiples elementos Relación uno-a-uno = Un documento tiene exactamente un subdocumento asociado Relación uno-a-varios = Un documento puede tener múltiples subdocumentos asociados</p> Signup and view all the answers

¿Cuál es una ventaja de modelar datos utilizando documentos embebidos?

<p>Permite representar relaciones complejas sin hacer múltiples consultas (B)</p> Signup and view all the answers

Es recomendable almacenar en un array un número ilimitado de documentos.

<p>False (B)</p> Signup and view all the answers

¿Cómo se denomina la estructura que permite a un socio tener varias direcciones?

<p>Campo array con subdocumentos</p> Signup and view all the answers

¿Cuál es la sintaxis correcta para crear una Hashed Shard Key?

<p>sh.shardCollection(“db.socios”, {numSocio : “hashed”}) (C)</p> Signup and view all the answers

Una Hashed Shard Key puede ser única.

<p>False (B)</p> Signup and view all the answers

¿Qué tipo de índice debe tener una colección que haga sharding?

<p>Un índice que soporte la Shard Key.</p> Signup and view all the answers

Para crear una Ranged Shard Key, se debe indicar el ______ de la misma.

<p>ordenamiento</p> Signup and view all the answers

¿Cuál de las siguientes afirmaciones es cierta respecto a la Shard Key?

<p>El campo _id puede ser el único en la colección. (A)</p> Signup and view all the answers

Relaciona el tipo de Shard Key con su característica:

<p>Hashed = Distribuye documentos aleatoriamente Ranged = Distribuye documentos según rangos de valores Unicidad = Un índice único en la Shard Key Índice compuesto = Shard Key como primer campo</p> Signup and view all the answers

¿Cuál de las siguientes opciones se usa para crear un índice compuesto en una Shard Key?

<p>sh.shardCollection(“db.socio”, {nombre : 1}) (A)</p> Signup and view all the answers

Una colección vacía crea automáticamente el índice cuando se aplica la instrucción de sharding.

<p>True (A)</p> Signup and view all the answers

Flashcards

MongoDB

Un gestor de base de datos NoSQL orientada a documentos.

Base de Datos NoSQL

Base de datos que no sigue el modelo relacional.

Base de Datos Orientada a Documentos

La información se almacena en documentos, semejante a JSON.

Versión estable de MongoDB

Versión apta para producción a partir del 2011.

Signup and view all the flashcards

BSON

Formato de serialización de documentos que usa MongoDB.

Signup and view all the flashcards

Aplicaciones de MongoDB

Gestor de contenido, IoT, visualización geográfica y videojuegos, entre otros.

Signup and view all the flashcards

Licencia AGPL

Licencia de código abierto para el software de MongoDB

Signup and view all the flashcards

Primera versión publicada

Versión de MongoDB publicada en marzo de 2009.

Signup and view all the flashcards

Documento embebido

Un documento dentro de otro documento.

Signup and view all the flashcards

Colección (MongoDB)

Conjunto de documentos relacionados en MongoDB.

Signup and view all the flashcards

Modelo de datos

Forma en que se estructuran los datos en una base de datos.

Signup and view all the flashcards

Identificador del documento (_id)

Valor único que identifica cada documento en una colección.

Signup and view all the flashcards

Campo (MongoDB)

Información específica dentro de un documento.

Signup and view all the flashcards

db.createCollection()

Método para crear una colección en MongoDB.

Signup and view all the flashcards

Creación automática de colecciones

MongoDB crea colecciones cuando se insertan documentos por primera vez.

Signup and view all the flashcards

Opciones de creación de colecciones

Características como tamaño y autoíndices que se configuran al crear colecciones en MongoDB.

Signup and view all the flashcards

Optimización de índices MongoDB

Crear índices en MongoDB solo cuando el beneficio en consultas supere el costo en las operaciones de escritura (Insert, Update, Delete).

Signup and view all the flashcards

Relaciones One-to-one (1 a 1) en MongoDB

Un documento embebe a otro documento. Un documento contiene todos los datos del otro, evitando referencias.

Signup and view all the flashcards

Relación One-to-many embebido (1 a muchos) en MongoDB

Un documento incluye un array de otros documentos. Un documento es dueño de muchos.

Signup and view all the flashcards

Relacion One-to-many con referencias (1 a muchos) en MongoDB

Se usan _ids de documentos relacionados para conectarlos.

Signup and view all the flashcards

Esquema flexible en MongoDB

El desarrollador decide cómo estructurar los datos en MongoDB de acuerdo a los requerimientos.

Signup and view all the flashcards

Índices en MongoDB

Estructuras de datos que mejoran la velocidad de las consultas en las colecciones de MongoDB.

Signup and view all the flashcards

Índice _id

Índice predeterminado en MongoDB, creado en el campo '_id', garantizando unicidad de documentos.

Signup and view all the flashcards

Índice de un solo campo

Índice creado en un solo campo de una colección; puede ser ascendente (+1) o descendente (-1).

Signup and view all the flashcards

Índice compuesto

Índice creado en varios campos de una colección, especificando el orden de búsqueda.

Signup and view all the flashcards

Índice TTL

Índice que elimina automáticamente documentos después de un período de tiempo.

Signup and view all the flashcards

Índice único

Índice que asegura que los valores en el campo especificado sean únicos.

Signup and view all the flashcards

Función explain()

Permite ver el plan de consulta utilizado por MongoDB para una consulta específica.

Signup and view all the flashcards

Optimizador de consultas

Componente interno de MongoDB que elige el plan de consulta más eficiente basándose en los índices disponibles.

Signup and view all the flashcards

¿Qué es la relación uno-a-varios?

Una relación que existe entre dos tipos de objetos donde un objeto puede tener varios objetos relacionados con él en la misma colección.

Signup and view all the flashcards

¿Cómo se modela una relación uno-a-varios?

En MongoDB, una relación uno-a-varios se puede modelar embebiendo documentos dentro de un campo array.

Signup and view all the flashcards

Ejemplo de relación uno-a-varios

Si queremos almacenar socios con varias direcciones, podemos embebidos documentos direcciones dentro de un array, dentro del documento principal.

Signup and view all the flashcards

¿Cuándo usar un array embebido?

Es útil cuando se necesita almacenar datos relacionados en el mismo documento. También es bueno si el número de documentos relacionados es bajo.

Signup and view all the flashcards

¿Problema de almacenar arrays muy grandes?

Un array con muchos documentos puede ser muy pesado, lo que dificulta la búsqueda y puede causar problemas de rendimiento.

Signup and view all the flashcards

¿Qué es un enfoque alternativo a los arrays grandes?

Se pueden utilizar referencias entre documentos para gestionar relaciones uno-a-varios sin almacenar todos los datos en el mismo documento.

Signup and view all the flashcards

¿Cuándo usar referencias?

Para relaciones uno-a-varios donde el número de documentos relacionados es grande o se necesita un acceso rápido a la información.

Signup and view all the flashcards

Ejemplo de array grande

Almacenar una lista de libros con todos los datos de los editores en un array dentro del documento del libro.

Signup and view all the flashcards

Shard Key

Un campo o conjunto de campos que se utilizan para dividir una colección en fragmentos (shards) en MongoDB. Cada shard se almacena en un servidor diferente, lo que permite escalar la base de datos horizontalmente.

Signup and view all the flashcards

Hashed Shard Key

Un tipo de Shard Key donde el valor del campo se utiliza para generar un hash, que determina a qué shard se asignará el documento. Se utiliza para distribuir los datos de forma uniforme.

Signup and view all the flashcards

Ranged Shard Key

Un tipo de Shard Key donde los documentos se dividen en intervalos basados en el valor del campo. Ideal para datos con valores ordenados. El rango determina a qué shard va el documento.

Signup and view all the flashcards

sh.shardCollection()

Método de MongoDB para configurar una colección para que se divida en shards utilizando una Shard Key.

Signup and view all the flashcards

Índice para Shard Key

La colección sobre la que se aplica el sharding debe tener un índice que soporte la Shard Key. Puede ser un índice simple o compuesto.

Signup and view all the flashcards

Unicidad en la Shard Key

En una colección sharded, solo el campo _id y el índice definido en la Shard Key pueden ser únicos. Esto asegura que cada documento tenga un identificador único dentro del shard.

Signup and view all the flashcards

Ventajas de usar Sharding

El sharding permite escalar horizontalmente una base de datos, distribuyendo los datos y las consultas a través de diferentes servidores. Esto aumenta el rendimiento y la disponibilidad del sistema.

Signup and view all the flashcards

Study Notes

MongoDB - NoSQL Database

  • MongoDB is a document-oriented NoSQL database.
  • It's derived from the English word "humongous" (enormous, extraordinarily long).
  • First version released in March 2009, version 0.9.
  • Open-source under AGPL license.
  • First stable version released in August 2009, version 1.0
  • In 2011, version 1.4, the first considered suitable for production and distribution
  • Latest version released October 29, 2024, version 8.0
  • Only versions 5.0 and later are currently maintained.

Uses of MongoDB

  • Industrial IoT (Internet of Things), Bosch group.
  • Real-time geospatial visualization of city elements (Boston city).
  • Content management (Sourceforge).
  • Mobile applications (e.g., Expedia).
  • Video games (e.g., Go-FIFA).
  • Event logging (e.g., Facebook for accessing ads).
  • Popular users include Ebay, Expedia, Orange, Barclays, Adobe, and Telefónica.

MongoDB Architecture Concepts

  • Mongod: Primary process (daemon) managing data access.
  • Mongos: Routing service between the application and the database.
  • Config Server: Stores metadata to locate data for required operations.
  • Replica Set: Group of mongod processes that store identical copies of the data.
    • Primary: Holds the main copies.
    • Secondary: Holds backup copies of the Primary.
    • Arbiter: Decides which Secondary becomes Primary if the Primary fails.
  • Shard: Replica set that stores a portion of the database.
    • Sharding is a method to distribute data across multiple machines.

Sharding

  • Chunks: Data segments used to distribute documents across shards.
  • Shard Key: Key used to determine chunk distribution.
  • The key must be a field within the document, and indexable.
    • In range-based sharding, chunks are created based on the value range of this key.
    • In hash-based sharding, chunks are created using a hash function based on the value of this key.

MongoDB Replication

  • Data Replication: Copies of the primary data are kept.
  • Replicated Data: Each replica is managed by a separate mongod process.
  • Primary: Primarily used for write operations; a primary server holds the original copy of the data.
  • Secondary: Used primarily for read operations; secondary hosts mirrored copies.
  • Replication: Data changes from the primary are copied to the secondaries with a log.
  • Heartbeat: Periodic communication between nodes to ensure they are operational (every 2 seconds).
  • Failover (Failure): When a primary server fails, secondary servers can quickly become a new primary server.
  • Arbiters: Are present in the replica set, to resolve potential ties and select a new primary server to make the replacement.
    • If an arbiter does not respond in ten seconds, it is considered to be failed.

Replica Set Data Considerations

  • Priority 0: Secondary servers that cannot be promoted to primary.
  • Hidden replica sets: Secondary servers invisible to application clients.
  • Delayed replica Set: Data copies are replicated with a delay.

Data Configuration

  • Read Configuration: Allows specifying how data is read from multiple servers, prioritizing the primary or preferring secondary servers based on availability.
  • Write Configuration (Write Concerns): Specify how data writes are confirmed, defining whether confirmation is only needed in the journal, with the primary, or all secondaries.

Data Storage Strategy

  • Snapshot: Keeps a memory copy of recently written/modified data.
  • Checkpoint: Periodically saves snapshots to disk every 60 seconds or when 2GB of data is accumulated, creating a persistent copy.
  • Journal: Stores transaction logs of snapshots to allow recovery from errors between checkpoints.

MongoDB Administration

  • Backup Strategies: MongoDB Cloud Manager and Ops Manager support deployment operations, monitoring, backups, and scaling.
  • Configuration & Maintenance: Parameters, security considerations, configuration of replication, and sharding for database analysis through dedicated software or tools

Data Modeling

  • Collections: Collections are analogous to a table in relational databases.
  • Documents: Documents within a collection can have different fields, similar to different rows.
  • Fields (Key-Value Pairs): Each field in the document contains a key-value pair (field name and value)
  • Data Types: Numerous data types support various modeling requirements (numeric, String, Date, Arrays, etc.).

Querying Types

  • CRUD: Create, Read, Update, Delete.
  • Find: Used for retrieving data, functioning similarly to a SELECT statement.
  • Insert: Used for inserting new data, similar to INSERT in SQL.
  • Update: Used for updating existing data, equivalent to an UPDATE command in SQL.
  • Remove: Used for deleting documents from the database, analogous to a DELETE command in SQL.
  • Operators: Special MongoDB operators used for querying and updating (e.g., comparison operators, logical operators, etc.) to manipulate records.
  • The $gt operator is used for greater than, and $lt is used for less than, values in the field specified.

Additional Considerations

  • Indexes:
  • TTL: Time-to-live indexes.
  • Unique: Unique indexes.
  • explain method: A tool to analyze how MongoDB executes queries.

Sharding Key Strategy

  • Hashed Strategy:
  • Ranged Strategy:

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Explora las características y la historia de MongoDB, una base de datos NoSQL orientada a documentos. Descubre sus usos en aplicaciones industriales, gestión de contenido y mucho más. Aprenderás sobre la arquitectura de MongoDB y sus versiones a lo largo del tiempo.

More Like This

Chap_11 & 12: NoSQL & DB Challenges
12 questions
The NoSQL
10 questions

The NoSQL

CourageousBowenite6713 avatar
CourageousBowenite6713
Introduction to MongoDB
13 questions

Introduction to MongoDB

AppropriateBanshee1682 avatar
AppropriateBanshee1682
Use Quizgecko on...
Browser
Browser