cc3 Compressed
cc3 Compressed
Clase 7
Jeannira Sic
¿Qué es una base de datos columnar?
Agenda de Estructura
Elementos en la fila
En una base de datos columnar, todos los valores de la columna 1 están físicamente juntos,
seguidos de todos los valores de la columna 2, etc. Los datos se almacenan en orden de registro,
por lo que la entrada número 100 para la columna 1 y la entrada número 100 para la columna 2
pertenecen al mismo registro de entrada. Esto permite acceder a elementos de datos individuales,
como el nombre del cliente, por ejemplo, en columnas como un grupo, en lugar de individualmente
fila por fila.
Estructura
Row Key o Llave de fila: Cada fila tiene una clave única, que es un identificador único para
esa fila.
La columna: Cada columna contiene un nombre, un valor y una marca de tiempo (Name,
Value, Timestamp)
Nombre: Este es el nombre del par nombre/valor.
Valor: Este es el valor del par nombre/valor.
Marca de tiempo: Esto proporciona la fecha y hora en que se insertaron los datos. Esto se
puede usar para determinar la versión más reciente de los datos.
La compresión
Los almacenes de columnas son muy eficientes en la
compresión y/o partición de datos. La compresión
permite que las operaciones en columna, como MIN,
MAX, SUM, COUNT y AVG, se realicen muy rápidamente.
Ventajas
Consultas de agregación
Debido a su estructura, las bases de datos en columnas
funcionan particularmente bien con las consultas de
agregación (como SUM, COUNT, AVG, etc.).
Rápido para cargar y consultar
Las tiendas de columnas se pueden cargar
extremadamente rápido. Una tabla de miles de millones
de filas podría cargarse en unos pocos segundos.
Puedes comenzar a consultar y analizar casi de
inmediato.
Ventajas
Escalabilidad
Las bases de datos en columnas son muy escalables. Se
adaptan bien al procesamiento masivo en paralelo (MPP),
que implica la distribución de datos en un gran grupo de
máquinas, a menudo miles de máquinas.
No orientado a transacciones
Este es el factor más débil de esta tecnología. El hecho
de tener los datos guardados columna a columna nos
permite retornarnos las filas más rápidamente, pero al
insertar, actualizar o borrar un registro, se deberá hacer
en más de una ubicación. Por esta razón, este tipo de
bases de datos no se recomienda para sistemas de tipo
Reportes operacionales
También llamados reportes de seguimiento en los que
se desea ver toda la información de una relación que
puede contener muchas tuplas. En algunos casos esto
puede resultar ineficiente comparado con los Row-
Stores
Costo y escalabilidad
Las empresas pueden implementar los análisis y consultas que requieren sin la necesidad de
alquilar más espacio en el servidor o escalar sin una necesidad real.
La combinación de las capacidades de aprendizaje automático de BigQuery con conjuntos de
datos y estructuras existentes puede mejorar el diseño del almacenamiento de información,
facilitar las consultas y el análisis de datos, e incluso reducir los costos al eliminar estructuras
superfluas.
Oracle Autonomous Data
Warehouse
Es un servicio de almacenamiento de datos basado en la nube que
Utiliza la optimización de consultas continua, indexación de tablas,
resúmenes de datos y el ajuste automático para garantizar un
rendimiento alto constante, aunque la cantidad de usuarios y
volumen de datos aumenten.
Oracle Autonomous Data Warehouse
vs Almacén de datos tradicional
Escalabilidad y Rendimiento
Cuenta con la simplicidad de administración de datos de una arquitectura de disco compartido,
pero con el rendimiento y ventajas de escala horizontal de una arquitectura de nada compartido.
MariaDB SkySQL
Es la oferta de DBaaS, es un servicio de base de datos totalmente
administrado a través de un servicio en la nube por medio de
Google Clound Platforma (GCP).
Las ventajas que mantiene es el control de versiones SkySQL
garantiza que los usuarios estén siempre en la versión más
reciente, así como que cuenten con análisis y soporte
transaccional.
Al estar integrado con DBaaS proporciona monitoreo con métricas y
gráficos en tiempo real además de un análisis de carga de trabajo
que muestra el servicio de machine learning el cual identifica los
cambios en los patrones de carga de trabajo para una escala
proactiva de recursos y coherencia del servicio.
Características
Las bases de datos tradicionales ofrecen una fuente de datos completa, sin embargo, la
arquitectura de base de datos en columnas ofrece un análisis completo de los datos generales
de forma sencilla. La organización de las bases de datos columnares permite que los usuarios
puedan ver resultados más rápidos y análisis más eficientes.
¿Preguntas?
Gracias por su atención
Sistemas de bases de datos 2
Clase 8
JEANNIRA SIC
AGENDA DE HOY
¿Qué es Apache Cassandra?
Estructura
Características
Usuarios
Ventajas y desventajas
Teorema CAP
Ejemplo instalación
¿QUÉ ES APACHE CASSANDRA?
ES UNA BASE DE DATOS DISTRIBUIDA NOSQL DE
CÓDIGO ABIERTO EN LA QUE CONFÍAN MILES DE
EMPRESAS POR SU ESCALABILIDAD Y ALTA
DISPONIBILIDAD SIN COMPROMETER EL RENDIMIENTO.
LA ESCALABILIDAD LINEAL Y LA TOLERANCIA A FALLAS
PROBADA EN HARDWARE BÁSICO O INFRAESTRUCTURA
EN LA NUBE LA CONVIERTEN EN LA PLATAFORMA
PERFECTA PARA DATOS DE MISIÓN CRÍTICA.
¿QUÉ ES APACHE CASSANDRA?
BASE DE DATOS NOSQL DE TIPO COLUMNAR, DISEÑADA
PARA MANEJAR GRANDES VOLÚMENES DE DATOS.
CUENTA CON UNA ARQUITECTURA DISTRIBUIDA QUE
PERMITE TENER MÚLTIPLES REPLICAS EN DISTINTAS
MAQUINAS, LO CUAL NOS PROVEE ALTA DISPONIBILIDAD
Y TOLERANCIA A FALLOS.
NODO DATACENTER CLUSTER
Componente principal de Conjunto de nodos Conjunto de datacenters
cassandra, aquí es
almacenada la informacion
Características
principales
Características
principales
TOLERANTE A FALLAS
HÍBRIDA El soporte de Cassandra para replicar
en múltiples centros de datos es el
La arquitectura sin maestría y la baja
mejor en su clase, brinda una latencia
latencia significan que Cassandra
más baja para sus usuarios y la
resistirá una interrupción completa del
tranquilidad de saber que puede
centro de datos sin pérdida de datos,
sobrevivir a las interrupciones
en nubes públicas o privadas y en las
regionales. Los nodos fallidos se
instalaciones.
pueden reemplazar sin tiempo de
inactividad.
CENTRADA EN LA CALIDAD
Para garantizar la confiabilidad y la RENDIMIENTO
estabilidad, Cassandra se prueba en Cassandra supera sistemáticamente
clústeres de hasta 1,000 nodos y con las alternativas populares de NoSQL en
cientos de esquemas y casos de uso evaluaciones comparativas y
del mundo real probados con aplicaciones reales, principalmente
repetición, fuzz, basado en debido a elecciones arquitectónicas
propiedades, inyección de fallas y fundamentales.
pruebas de rendimiento.
SEGURIDAD Y
OBSERVABILIDAD
CONTROL
La función de registro de auditoría
Elija entre replicación sincrónica o
para operadores rastrea la actividad
asincrónica para cada actualización.
de DML, DDL y DCL con un impacto
Las operaciones asincrónicas de alta
mínimo en el rendimiento normal de la
disponibilidad están optimizadas con
carga de trabajo, mientras que fqltool
funciones como Hinted Handoff y Read
permite la captura y reproducción de
Repair.
cargas de trabajo de producción para
su análisis.
DISTRIBUIDA
Cassandra es adecuada para ESCALABLE
aplicaciones que no pueden permitirse El rendimiento de lectura y escritura
perder datos, incluso cuando todo un aumenta linealmente a medida que se
centro de datos falla. No hay puntos agregan nuevas máquinas, sin tiempo
únicos de falla. No hay cuellos de de inactividad ni interrupción de las
botella en la red. Todos los nodos del aplicaciones.
clúster son idénticos.
ELASTICIDAD
Cassandra transmite datos entre nodos durante las operaciones de escalado, como
agregar un nuevo nodo o centro de datos durante las horas pico de tráfico. Zero Copy
Streaming hace que esto sea hasta 5 veces más rápido sin vnodes para una
arquitectura más elástica, particularmente en entornos de nube y Kubernetes.
ALGUNOS USUARIOS DE CASSANDRA
DESVENTAJAS
La conexión de nuevos nodos
VENTAJAS puede volverse compleja
Se debe conocer previamente que
Alta disponibilidad
tipo de consultas se ejecutarán,
Tolerancia a particiones y escalado
esto debido a que no soporta joins,
group by, funciones de agregación,
etc.
Una base de datos en Cassandra se encuentra
representada de la siguiente manera:
KEYSPACE
TABLAS
PRIMARY KEY
PARTITION KEY
CLUSTERING KEY
Apache Cassandra fue lanzada en el año 2008 y fue
creada inicialmente por Facebook.
Más tarde fue traspasada a la Fundación Apache,
convirtiéndose en una herramienta Open Source, que
a día de hoy la sigue manteniendo.
Está inspirada tanto en Amazon Dynamo como en
Google BigTable.
Para comprender bien la base de datos Cassandra
es importante conocer el Teorema CAP.
TEOREMA CAP
Este Teorema lo que dice es que un sistema
distribuido no puede conseguir las tres siglas del
teorema, que son consistencia (Consistency), alta
disponibilidad (Avaiability) y tolerancia a particiones
(Partition tolerance).
Lo que quiere decir es que nuestras bases de datos
siempre se van a mover en la intersección de dos de
las tres características, pero nunca en el en el
triángulo amarillo, que sería la intersección de las tres.
Como vemos en la imagen, Apache Cassandra está
situada en la intersección de alta disponibilidad y
tolerancia a particiones, sacrificando un poco la parte
de la consistencia.
TOLERANCIA A LAS
PARTICIONES
Una partición es una interrupción de
DISPONIBILIDAD la comunicación dentro de un
sistema distribuido: una conexión
Disponibilidad significa que perdida o temporalmente retardada
COHERENCIA cualquier cliente que realiza una entre dos nodos. La tolerancia a las
solicitud de datos obtiene una particiones significa que el clúster
La coherencia significa que todos los respuesta, aunque uno o varios debe continuar trabajando a pesar
clientes ven los mismos datos al nodos estén inactivos. Otra forma de de las interrupciones de
mismo tiempo, independientemente describirlo: todos los nodos de comunicación que se produzcan
del nodo al que se conecten. Para trabajo del sistema distribuido entre los nodos del sistema.
que esto suceda, siempre que se devuelven una respuesta válida
escriban datos en un nodo, se debe para cualquier solicitud, sin
reenviar o replicar al instante en los excepción.
demás nodos del sistema antes de
que la escritura se considere
'satisfactoria'.
TIPOS DE BASE DE DATOS NOSQL DEL TEOREMA DE CAP
Las bases de datos NoSQL (no relacionales) son ideales para las aplicaciones de red
distribuidas. A diferencia de sus equivalentes SQL (relacionales) verticalmente
escalables, las bases de datos NoSQL son horizontalmente escalables y están
distribuidas por diseño: pueden escalarse rápidamente en una red creciente formada
por múltiples nodos interconectados.
BASE DE DATOS
CA
BASE DE DATOS AP una base de datos CA ofrece
coherencia y disponibilidad en todos
Una base de datos AP ofrece
los nodos. Sin embargo, no podrá
disponibilidad y tolerancia a las
hacerlo si hay una partición entre
particiones a expensas de la
dos nodos en el sistema; por lo
coherencia. Cuando se produce una
tanto, no puede ofrecer tolerancia a
partición, todos los nodos
errores.
BASE DE DATOS CP permanecen disponibles, pero los
que están en el extremo incorrecto
Una base de datos CP ofrece de una partición pueden devolver
coherencia y tolerancia a las una versión de los datos más
particiones a expensas de la antigua que los otros. (Cuando se
disponibilidad. Cuando se produce resuelve la partición, las bases de
una partición entre dos nodos, el datos AP suelen resincronizar los
sistema tiene que cerrar el nodo no nodos para reparar todas las
coherente (es decir, hacer que no incoherencias del sistema).
esté disponible) hasta que se
resuelva la partición.
CASSANDRA Y EL TEOREMA DE CAP (AP)
Apache Cassandra es una base de datos NoSQL de código abierto mantenida por Apache Software Foundation.
Es una base de datos de columna amplia que permite almacenar datos en una red distribuida. Sin embargo, a
diferencia de MongoDB, Cassandra tiene una arquitectura sin nodo maestro y, como resultado, tiene múltiples
puntos de error, en lugar de uno solo.
En relación con el teorema de CAP, Cassandra es una base de datos de AP: ofrece disponibilidad y tolerancia a
las particiones, pero no puede garantizar la consistencia todo el tiempo. Puesto que Cassandra no tiene un nodo
maestro, todos los nodos deben estar disponibles continuamente. No obstante, Cassandra proporciona
coherencia final al permitir a los clientes escribir en cualquier nodo en cualquier momento y reconciliar las
incoherencias lo antes posible.
Como los datos solo son incoherentes en el caso de una partición de red y las incoherencias se resuelven
rápidamente, Cassandra ofrece una funcionalidad de "reparación" para ayudar a los nodos a actualizarse con
sus homólogos. Sin embargo, la disponibilidad constante da como resultado un sistema de gran rendimiento
que podría compensar en muchos casos.
INSTALACIÓN CASSANDRA
INSTALAR JAVA
SUDO ADD-APT-REPOSITORY PPA:OPENJDK-R/PPA
SUDO APT-GET UPDATE
SUDO APT-GET INSTALL OPENJDK-8-JRE
VERIFICAR LA INSTALACIÓN
JAVA -VERSION
INSTALAR LAS DEPENDENCIAS
SUDO APT INSTALL APT-TRANSPORT-HTTPS GNUPG2 -Y
DESCARGAR Y AGREGAR LAS LLAVES
SUDO WGET -Q -O - HTTPS://WWW.APACHE.ORG/DIST/CASSANDRA/KEYS | SUDO APT-KEY ADD -
AGREGAR EL REPOSITORIO DESCARGADO
SUDO SH -C 'ECHO "DEB HTTP://WWW.APACHE.ORG/DIST/CASSANDRA/DEBIAN 311X MAIN" >
/ETC/APT/SOURCES.LIST.D/CASSANDRA.LIST'
ACTUALIZAR EL SISTEMA
SUDO APT UPDATE
INSTALAR CASSANDRA
SUDO APT INSTALL CASSANDRA -Y
VERIFICAR EL ESTADO DE LA INSTALACIÓN
SUDO SYSTEMCTL STATUS CASSANDRA
VERIFICAR EL ESTADO DEL NODO
SUDO NODETOOL STATUS
CONFIGURACIÓN CASSANDRA
BAJAR CASSANDRA
DOCKER PULL CASSANDRA:LATEST
INICIAR CASSANDRA
DOCKER RUN --NAME CASSANDRA CASSANDRA
DOCKER RUN --RM -D --NAME CASSANDRA --HOSTNAME CASSANDRA --NETWORK CASSANDRA
CASSANDRA
CARGAR DATOS CON CQLSH
DOCKER RUN --RM --NETWORK CASSANDRA -V "$(PWD)/DATA.CQL:/SCRIPTS/DATA.CQL" -E
CQLSH_HOST=CASSANDRA -E CQLSH_PORT=9042 NUVO/DOCKER-CQLSH
INTERACTUAR CON CQLSH
DOCKER RUN --RM -IT --NETWORK CASSANDRA NUVO/DOCKER-CQLSH CQLSH CASSANDRA 9042 --
CQLVERSION='3.4.4'
LIMPIAR
DOCKER KILL CASSANDRA
DOCKER NETWORK RM CASSANDRA
¿Preguntas?
GRACIAS POR SU
ATENCIÓN
SISTEMAS DE BASES DE DATOS 2
CLASE 9
Jeannira Sic
AGENDA DE HOY
PUNTOS A TRATAR
Arquitectura y características
Modelado de datos
Almacenamiento de registros en
cassandra
Clave clúster y clave partición
Enunciado práctica 2
Arquitectura y
características
Es distribuida, lo quiere decir que la información está repartida a lo largo de
los nodos del cluster. Además ofrece alta disponibilidad, de manera que si
alguno de los nodos se cae el servicio no se degradará.
Escala linealmente, lo que quiere decir que el rendimiento de forma lineal
respecto al número de nodos que añadamos. Por ejemplo, si con 2 nodos
soportamos 100.000 operaciones por segundo, con 4 nodos soportaremos
200.000. Esto da mucha predictibilidad a nuestros sistemas.
Escala de forma horizontal, lo que quiere decir que podemos escalar nuestro
sistema añadiendo nuevos nodos basados en hardware commodity de bajo
coste.
Implementa una arquitectura Peer-
to-Peer, lo que elimina los puntos de
fallo único y no sigue patrones
maestro-esclavo como otros
sistemas de almacenamiento.
SOPORTA EL CONCEPTO DE DATA CENTER
PARA AGRUPAR LOS NODOS LÓGICAMENTE
Y TENER LOS DATOS MÁS CERCA DEL
USUARIO.
Modelado de
datos
Combina propiedades de una base de datos
clave-valor y una orientada a columnas. La
información se organiza de manera que toda
fila tiene una clave única y una serie de pares
de clave, valor de columna. Es importante tener
en mente estas características a la hora de
diseñar nuestro modelo de datos.
MODELADO DE
DATOS
CLAVE DE PARTICIÓN
Su función es definir el nodo en donde se almacenará el
registro. Esto lo hace utilizando una función hash.
CLAVE DE CLÚSTER
Una vez definido el nodo en que se almacenará el registro,
el siguiente paso será guardarlo de acuerdo al orden
definido por el usuario, la clave clúster idealmente debe
de ser una marca de tiempo (timestamp).
Clave
clúster y
clave
partición
SISTEMAS DE BASES DE DATOS 2
¿Preguntas?
GRACIAS POR SU ATENCIÓN
Sistemas de bases de datos 2
CLASE 10
Jeannira Sic
AGENDA DE
HOY PUNTOS A TRATAR
Inserción
Tipos de datos más
utilizados
Lenguaje CQL
Ejemplo
INSERCIÓN
Un factor de replicación de uno
significa que solo hay una copia de
cada fila en el clúster de Cassandra
DEPENDIENDO DEL
REPLICATION
SE UBICA EL NODO SE APLICA LA
FACTOR, SE HACEN
COORDINADOR FUNCIÓN HASH
LAS REPLICACIONES
PARA DETERMINAR
NECESARIAS SOBRE
EN CUAL SE
LOS NODOS
INSERTARÁ
CONTIGUOS
INT
BOOLEAN
Tipos de
TEXT datos más
utilizados
TIMESTAMP
COLECCIONES
List, Map y Set
LENGUAJE CQL
Select
Update
Import
Export
CREAMOS UN KEYSPACE
CREATE KEYSPACE geeky WITH REPLICATION = {
'class' : 'SimpleStrategy', 'replication_factor'
: 1 };
INSERTAR DATOS
INSERT INTO users (firstname, lastname,
email, organization) VALUES ('Mario',
'Perez', '[email protected]', 'Geeky
Theory'); Ejemplo
VER DATOS INSERTADOS
SELECT * FROM users;
SELECCIONAR UN REGISTRO
SELECT * FROM users WHERE lastname=
'Panda';
ACTUALIZAR REGISTROS
UPDATE users SET organization='Geeky
Juegos' WHERE lastname='Catalan';
OTRA CONSULTA
SELECT * FROM users WHERE
lastname='Catalan';
Ejemplo
ELIMINAR UN REGISTRO
DELETE from users WHERE lastname =
'Ros';
ÚLTIMA CONSULTA
SELECT * FROM users;
GRACIAS POR SU ATENCIÓN ¿PREGUNTAS?
Sistemas de bases de datos 2
CLASE 11
Jeannira Sic
Sistemas de bases de datos
2
AGENDA DE
HOY
¿Qué es una base de datos clave-valor?
Elementos
Aplicaciones
Ventajas y desventajas
Ejemplos
MongoDB
¿QUÉ ES UNA BASE DE DATOS CLAVE-VALOR?
Esta modalidad de base de datos, key-value database o store en inglés, se basa en una tabla de tan solo dos
columnas. En una de ellas se guarda un valor y en la otra, una clave que representa una característica identificativa
única. Un valor puede ser sencillo, como una cadena de caracteres o un número entero, o pueden ser objetos
complejos (un documento también puede ocupar el lugar de un valor, aunque, entonces se hablaría de una base de
datos de documentos). En las bases de datos se pueden incluir también referencias a archivos, así como a tuplas
(conjunto de valores).
El contenido de la base de datos puede ser muy heterogéneo, por lo que es posible incluir objetos distintos en una
misma columna. Lo mismo se aplica a los rasgos identificativos. En la mayoría de los casos, las claves seguirán un
determinado esquema, pero esto no es indispensable. Tanto las cadenas de caracteres como los enteros se
pueden constituir siguiendo criterios libres.
Sistemas de bases de
datos 2
Sistemas de
bases de
datos 2
¿QUÉ ES UNA BASE DE
DATOS CLAVE-VALOR?
Una base de datos clave-valor es un tipo de base de datos no
relacional que utiliza un método simple de clave-valor para
almacenar datos. Una base de datos clave-valor almacena
datos como un conjunto de pares clave-valor en los que una
clave sirve como un identificador único. Tanto las claves como
los valores pueden ser cualquier cosa, desde objetos simples
hasta objetos compuestos complejos. Las bases de datos
clave-valor son altamente divisibles y permiten el escalado
horizontal a escalas que otros tipos de bases de datos no
pueden alcanzar.
¿QUÉ ES UNA BASE DE DATOS
CLAVE-VALOR?
El valor
El valor en un almacén de clave-valor puede ser cualquier cosa, como texto (largo o corto), un número, código de
marcado como HTML, código de programación como PHP, una imagen, etc.
El valor también podría ser una lista, o incluso otro par clave-valor encapsulado en un objeto.
Algunos DBMS de almacenamiento de claves le permiten especificar un tipo de datos para el valor. Por ejemplo,
puede especificar que el valor sea un entero. Otros DBMS no proporcionan esta funcionalidad y, por lo tanto, el valor
podría ser de cualquier tipo.
Desventajas
Estas bases de datos son muy importantes y funcionales, pero tienen sus puntos flojos. Comparte con el resto de
las NoSQL la debilidad de no tener estándares en el manejo de datos. En ocasiones los lenguajes de consultas son
básicos, impidiendo realizar trabajos de profundidad. Algunos gestores carecen de herramientas avanzadas para
su uso y configuración personalizada. Adicionalmente las consultas y el ordenamiento de la información pueden
ser realizados solo partiendo de la clave primaria.
Sistemas de bases de
datos 2
Sistemas de bases de
datos 2
DESARROLLO
FÁCIL
Sistemas de bases de
datos 2
PYTHON
Sistemas de bases de
datos 2
JAVA
Sistemas de bases de
datos 2
C++
Sistemas de bases de
datos 2
C#
Sistemas de bases de
datos 2
Sistemas de
bases de
datos 2
MongoDB almacena datos en documentos flexibles similares a
JSON, por lo que los campos pueden variar entre documentos
y la estructura de datos puede cambiarse con el tiempo
El modelo de documento se asigna a los objetos en el código
de su aplicación para facilitar el trabajo con los datos
Las consultas ad hoc, la indexación y la agregación en tiempo
real ofrecen maneras potentes de acceder a los datos y
analizarlos
MongoDB es una base de datos distribuida en su núcleo, por lo
que la alta disponibilidad, la escalabilidad horizontal y la
distribución geográfica están integradas y son fáciles de usar
MongoDB es de uso gratuito. Las versiones lanzadas antes del
16 de octubre de 2018 se publican bajo licencia AGPL. Todas
las versiones posteriores al 16 de octubre de 2018, incluidos
los parches lanzados para versiones anteriores, se publican
bajo Licencia pública del lado del servidor (SSPL) v1.
MONGODB
Advertising Presentation |
December 2020
CARACTERÍSTICAS
USAN
EMPRESAS
QUE LA
Sistemas de bases de datos
2
¿Preguntas?
Gracias por su atención
SISTEMAS DE BASES DE DATOS 2
Clase 12
Jeannira Sic
Agenda de hoy
¿Qué es una base de datos documental?
Características, funciones y métodos
Beneficios
Ventajas y desventajas
Tipos
Estructura y uso
Diferencia con las bases SQL
Ejemplos
¿Qué es una base de datos
documental?
Una base de datos documental es una de las principales variantes de las bases de datos no
relacionales o NoSQL. Se caracterizan por almacenar la información en registros, cada uno de los
cuáles funciona como una unidad autónoma de información.
Como su propio nombre indica, las bases de datos orientadas a documentos utilizan documentos
para el almacenamiento de todos los registros y los datos asociados a ellos. Cada uno de estos
registros puede almacenar distintos tipos de datos. A su vez, los documentos que contienen los
registros pueden tener diferentes formatos, desde archivos JSON o XML hasta documentos de
texto.
¿Qué es una base de datos
documental?
AL SER UN TIPO DE BASES DE DATOS NO RELACIONALES, OTRA DE SUS
PRINCIPALES CARACTERÍSTICAS ES QUE LA INFORMACIÓN NO ESTÁ
CONTENIDA EN TABLAS. POR EL CONTRARIO, ESTÁN PENSADAS PARA
EL ALMACENAMIENTO DE DATOS SEMIESTRUCTURADOS, LOS CUÁLES
SE ORGANIZAN EN DOCUMENTOS CON VALORES ASIGNADOS, LOS
CUÁLES PUEDEN SER CONSULTADOS POR LOS USUARIOS GRACIAS A
LAS DIVERSAS HERRAMIENTAS DE CONSULTA EXISTENTES.
GRACIAS A SU ESTRUCTURA Y A SU FLEXIBILIDAD A LA HORA DE
ALMACENAR INFORMACIÓN NO ESTRUCTURADA, LAS BASES DE DATOS
DOCUMENTALES OFRECEN UNA GRAN VERSATILIDAD.
¿Qué es una base de datos
documental?
Las bases de datos documentales son una de las más importantes dentro de los modelos no relacionales o
NoSQL. Durante mucho tiempo las bases de datos relacionales marcaron la pauta dentro de la era digital.
Esta etapa no ha quedado por completo en el pasado. Pero el mundo tecnológico es sorprendente. Se
reinventa en cuestión de segundos. Así ha pasado con las bases de datos y la irrupción de las NoSQL. En
nuestra vida diaria, las bases de datos tienen una incidencia importante. Sin importar su configuración,
diseño y funcionamiento, están dentro de los procesos que realizamos a diario. Ocupan parte fundamental
de nuestra vida y es importante conocerlo. Las BBDD están presentes en nuestras aplicaciones móviles y
softwares de ordenadores. En especial las Bases de datos documentales. Mientras más pasa el tiempo, más
nos conectamos a estas herramientas de trabajo. Esto también significa algo importante: cada vez
generamos y manejamos más datos.
¿Qué es una base de
datos documental?
UNA BASE DE DATOS DOCUMENTAL, TAMBIÉN DENOMINADA BASE DE
DATOS ORIENTADA A DOCUMENTOS, ES UN SUBCONJUNTO DE UN TIPO
DE BASE DE DATOS CONSTRUIDA BAJO NOSQL. LAS BBDD
DOCUMENTALES SON ALIADOS FUNDAMENTALES EN LOS QUE PODEMOS
CONFIAR PARA EL MANEJO DE VOLUMINOSAS CANTIDADES DE
INFORMACIÓN.
ESTAS SE COMPONEN DE CONJUNTOS DE INFORMACIÓN
ESTRUCTURADA EN REGISTROS Y ALMACENADAS EN UN SOPORTE
ELECTRÓNICO DESDE UN ORDENADOR O SERVIDOR. CADA UNO DE LOS
REGISTROS ES UNA UNIDAD AUTÓNOMA QUE CONTIENE INFORMACIÓN.
ESTOS REGISTROS A SU VEZ PUEDEN CONTENER DIFERENTES TIPOS DE
DATOS.
¿Qué es una base de datos
documental?
UNA BASE DE DATOS DE ESTAS
CARACTERÍSTICAS SE APOYA EN LA
UTILIZACIÓN DE DOCUMENTOS PARA LA
ESTRUCTURACIÓN DEL ALMACENAMIENTO Y
LAS CONSULTAS. ESTOS DOCUMENTOS SON
COMPUESTOS POR TODOS Y CADA UNO DE LOS
REGISTROS Y DATOS ASOCIADOS.
LOS DOCUMENTOS QUE CONTIENEN ESTAS
BASES DE DATOS PUEDEN REFERIRSE A
DOCUMENTOS DE TEXTO, ARCHIVOS XML O
JSON.
¿Qué es una base de datos
documental?
LA CONFORMACIÓN DE ESTAS BASES DE DATOS EN LUGAR DE ESTAR
INTEGRADA POR COLUMNAS CON NOMBRES Y TIPOS DE DATOS,
COMO SUCEDE EN LAS BBDD RELACIONALES, TIENE DATOS
SEMIESTRUCTURADOS EN FORMA DE DOCUMENTOS Y VALORES QUE
PUEDEN SER CONSULTADOS POR LOS USUARIOS CON LAS
DIFERENTES HERRAMIENTAS DE CONSULTA Y ANÁLISIS
PERTENECIENTES A ESTOS MODELOS NO RELACIONALES.
EL ESQUEMA O ARQUITECTURA DE ESTAS BBDD NOSQL PUEDE
VARIAR TANTO QUE NOS PUEDE SORPRENDER. ESTOS MODELOS DE
BASES DE DATOS PROPORCIONAN UNA FLEXIBILIDAD INCREÍBLE
QUE FACILITA EL MODELADO DE DATOS.
Características, funciones y
métodos
LAS BASES DE DATOS DOCUMENTALES SON CAPACES DE
ALMACENAR INFORMACIÓN EN DIFERENTES FORMATOS SIN
UNA ESTRUCTURA DEFINIDA. EN CUALQUIER CASO, LO
HABITUAL ES QUE LOS DOCUMENTOS EMPLEEN UN
FORMATO DE ARCHIVO, MIENTRAS QUE LOS DATOS
CONTENIDOS SÍ UTILICEN UNA ESTRUCTURA FIJA.
A PESAR DE QUE SU ESTRUCTURA ES COMPLETAMENTE
DISTINTA, ESTAS BASES DE DATOS PERMITEN REALIZAR LAS
MISMAS OPERACIONES BÁSICAS QUE LAS BASES DE DATOS
RELACIONALES, ESTO ES, AÑADIR, ACTUALIZAR O ELIMINAR
INFORMACIÓN, ADEMÁS DE REALIZAR LAS PERTINENTES
CONSULTAS POR PARTE DEL USUARIO.
Características,
funciones y métodos
A DIFERENCIA DE LAS BASES DE DATOS RELACIONALES, EN LAS BASES DE DATOS
ORIENTADAS A DOCUMENTOS NO ES NECESARIO RECORREN TODAS LAS
COLUMNAS DE UNA TABLA A LA HORA DE REALIZAR UNA CONSULTA. EN LUGAR
DE ELLO SE ASIGNA UN IDENTIFICADOR ÚNICO A CADA DOCUMENTO, DE MANERA
QUE A LA HORA DE HACER UNA CONSULTA SE COMPRUEBA EL MISMO
DOCUMENTO. ESTE IDENTIFICADOR PUEDE SER DE DIFERENTES TIPOS, POR
EJEMPLO UNA RUTA COMPLETA O UNA CADENA DE CARACTERES.
GRACIAS A ESTE FUNCIONAMIENTO, LAS BASES DE DATOS DOCUMENTALES SE
EMPLEAN PARA EL ALMACENAMIENTO Y CONSULTA DE DATOS
SEMIESTRUCTURADOS, LOS CUÁLES NO TIENEN UN ESQUEMA PREVIAMENTE
DEFINIDO Y QUE SERÍAN DIFÍCILES (O INCLUSO IMPOSIBLES) DE GESTIONAR EN
LA TRADICIONALES BASES RELACIONALES.
Beneficios
MODELADO FLEXIBLE
Los datos que utilizan nuestras aplicaciones web, móviles o sociales se ven constantemente sujetas a cambios. Todos los días
necesitamos incluir o eliminar algún dato ya que estos se corresponden con las necesidades o realidades en las que debemos
desempeñarnos. Las Bases de Datos Documentales disminuyen la necesidad de utilizar modelos relacionales. Estas nos abren las
posibilidades de incorporar de manera flexible y dinámica modelos nuevos de análisis de datos para lo que necesitemos en nuestro día
a día.
ESCRITURA RÁPIDA
Una de sus principales ventajas respecto a las bases de datos relacionales a las que estuvimos acostumbrados por años, es que estas
bases de datos documentales establecen un orden de priorización de la disponibilidad de escritura por encima de la estricta
consistencia de los datos. Esto permite asegurar que las escrituras de datos siempre serán rápidas sin importar la existencia de una
falla de hardware o de la red. Con otros modelos de bases de datos estos problemas, que acá son cosas de otro plano, afectarían el
resultado del trabajo que realicemos implicando un retraso de la replicación de datos y alterando la coherencia.
RENDIMIENTO
La velocidad es uno de los factores más importantes a la hora de trabajar. Necesitamos consultas de alta velocidad con potentes
motores de búsqueda con propiedades de indexación. Muchas de estas bases de datos documentales cuentan con esto y más,
garantizando de esta forma que las consultas a realizar sean veloces, cortas de tiempo pero de gran eficiencia.
Ventajas
Permiten almacenar y consultar información semiestructurada sin una estructura definida.
Son un modelo muy flexible que puede albergar numerosos tipos de datos.
Simplifican las tareas de adición o actualización de datos. La mayoría de aplicaciones web
o móviles están sometidas a cambios constantes. Gracias a las bases de datos
documentales se pueden añadir nuevos datos o modelos de análisis de manera mucho
más flexible.
Aseguran una escritura rápida, dando prioridad a la disponibilidad de la escritura sobre la
consistencia de los datos. Esto permite asegurar la rapidez incluso en casos de fallos en el
hardware o en la red, que en otras bases de datos supondría retrasos en la modificación
de los datos y repercutiría negativamente en su coherencia.
Garantizan un buen rendimiento. La mayoría de bases de datos documentales cuentan
con potentes motores de búsqueda y avanzadas propiedades de indexación, lo que
asegura una mayor rapidez a la hora de consultar la información.
Tienen una gran escalabilidad y son uno de los mejores métodos para el almacenamiento
de grandes volúmenes de información.
Desventajas
No utilizan el lenguaje SQL como lenguaje principal de consulta, aunque sí lo
pueden usar de apoyo. Es decir, al contrario que las bases relacionales, no
existe un lenguaje estandarizado para la creación de estas bases de datos.
No siempre pueden garantizar las propiedades ACID de atomicidad,
consistencia, integridad y durabilidad.
No tienen una gran comunidad detrás y existen mucha menos información
acerca de estas bases de datos.
Los índices pueden ocupar mucha memoria RAM, sobre todo en las bases
documentales que manejan un gran volumen de datos.
Tipos de bases de
datos documentales
Las bases de datos documentales se puede clasificar en diferentes tipos, en función de su
contenido, de las materias que abarque o su modo de acceso.
En función del contenido de los documentos
Bases de datos bibliográficas (almacenan los principales datos sobre un documento o texto
y, como máximo, un fragmento del mismo).
Bases de datos de texto completo (guardan todo el texto de un determinado documentos o
escrito).
Según su cobertura temática
Multidisciplinares (almacenan información relativa a diferentes materias o disciplinas).
Especializadas (solo guardan información sobre una disciplina en concreto, por ejemplo una
base de datos documental de textos médicos).
Por su método de acceso
De acceso local
En línea
En CD-ROM o dispositivos externos
Estructura y uso
LAS BASES DE DATOS DOCUMENTALES ALMACENAN DATOS SEMIESTRUCTURADOS
SIN UN ESQUEMA PREDEFINIDO. LA INFORMACIÓN SE ALMACENA EN DOCUMENTOS
QUE INCLUYEN TODAS LAS CARACTERÍSTICAS DEL REGISTRO, Y LAS CONSULTAS SE
REALIZAN EN BASE A ESTOS DOCUMENTOS. ESTO LAS DIFERENCIA DE LAS BASES
RELACIONALES QUE ORGANIZAN LA INFORMACIÓN EN TABLAS Y LAS CONSULTAS SE
REALIZAN EN BASE A LOS CAMPOS (COLUMNAS) DE DICHAS TABLAS.
POR OTRO LADO, NO UTILIZAN EL LENGUAJE SQL. POR EL CONTRARIO, EMPLEAN
OTRO TIPO DE FORMATOS COMO PUEDEN SER EL JSON O XML. EL FORMATO MÁS
HABITUAL ES JSON (JAVASCRIPT OBJECT NOTATION), UN LENGUAJE QUE RESULTA
MÁS COMPACTO Y LEGIBLE QUE EL SQL.
EN BASE A ESTA ESTRUCTURA Y CARACTERÍSTICAS, LAS BASES DE DATOS
DOCUMENTALES SE USAN PRINCIPALMENTE PARA ALMACENAR GRANDES
CANTIDADES DE DATOS, O CUANDO SE TRATA DE INFORMACIÓN POCO
ESTRUCTURADA.
Diferencia entre base de
datos documental y
relacional
Por un lado, las bases de datos documentales no emplean el lenguaje
SQL, o si lo utilizan es solo como apoyo. Por el contrario, emplean otro
tipo de formatos para la información almacenada, tales como XML o
JSON.
Relativo al punto anterior, cabe destacar que, a diferencia de las bases
de datos relacionales, no existe un estándar definido para las bases de
datos documentales (el SQL está definido como lenguaje estándar
para las bases de datos por el ANSI).
Diferencia entre base de
datos documental y
relacional
Tampoco almacenan la información en tablas, sino que los registros se
organizan por documentos que contienen toda la información de cada
registro. Las consultas se realizan sobre los propios documentos, a los
cuales se les asigna un identificador, y no sobre los campos de las
tablas.
Las bases de datos documentales son mucho más escalables y pueden
almacenar volúmenes más grandes de información. Por eso, para
grandes bases de datos se suele emplear este modelo.
Diferencia entre base de
datos documental y
relacional
Por otra parte, las bases documentales NoSQL son más flexibles y
pueden albergar una gran cantidad de datos, incluyendo datos
semiestructurados o no estructurados.
Al ser más novedosas y no tener un sistema todavía estandarizado,
también es cierto que no tienen una comunidad tan grande detrás
como las bases relacionales, y existe menos información acerca de
ellas.
Diferencia entre base de
datos documental y
relacional
Las bases de datos documentales también están diseñadas para
adaptarse mejor a los cambios en las aplicaciones. En caso de tener
que cambiar un esquema, simplemente se añadirían los nuevos datos
siguiendo ese nuevo esquema, y los datos ya existentes no se verían
afectados.
Por último, las bases de datos documentales se podrían considerar
como una manera verdaderamente natural de almacenar la
información. No sucede así con las bases de datos relacionales que
utilizan una estructura plana y definida por tablas, filas y columnas.
Ejemplo
Clase 13
Jeannira Sic
PUNTOS A TRATAR
¿Qué es un clúster?
¿Qué es un clúster en MongoDB Atlas?
Crear un clúster en MongoDB
¿Qué es un réplica set en MongoDB?
¿Qué es un clúster fragmentado?
Bases de datos y colecciones
Agenda de hoy
¿Qué es un clúster?
En el contexto de MongoDB, "clúster" es la palabra que se usa normalmente
para un conjunto de réplicas o un clúster fragmentado. Un conjunto de réplicas
es la réplica de un grupo de servidores MongoDB que contienen copias de los
mismos datos; esta es una propiedad fundamental para las implementaciones
de producción, ya que garantiza una alta disponibilidad y redundancia, que son
características cruciales a tener en cuenta en caso de fallas y períodos de
mantenimiento planificados.
Un clúster fragmentado también se conoce comúnmente como escalado
horizontal, donde los datos se distribuyen entre muchos servidores.
El objetivo principal de MongoDB fragmentado es escalar las lecturas y
escrituras a lo largo de varios fragmentos.
MONGODB ATLAS CLUSTER ES UNA
clúster en
(DISPONIBLE EN MICROSOFT AZURE,
GOOGLE CLOUD PLATFORM, AMAZON
WEB SERVICES). ESTE ES UN SERVICIO
Atlas?
CONFIGURAR UN CLÚSTER DE MONGODB
EN FUNCIONAMIENTO, ACCESIBLE
DESDE SU NAVEGADOR WEB FAVORITO.
¿Qué es un NO NECESITA INSTALAR NINGÚN
clúster en
SOFTWARE EN SU ESTACIÓN DE
TRABAJO, YA QUE PUEDE CONECTARSE
A MONGODB DIRECTAMENTE DESDE LA
Atlas?
VISUALIZAR DATOS.
Alternativamente, si prefiere trabajar con la línea de comando, puede
conectarse usando el shell mongo. Para hacer esto, deberá configurar el
firewall desde el portal web para aceptar su IP. Desde la página de inicio,
navegue hasta Seguridad y luego Acceso a la red. Finalmente, haga clic en
"Agregar dirección IP" y agregue su IP. Luego, sustituya las siguientes opciones
de configuración (nombre del clúster MongoDB Atlas, nombre de la base de
datos y nombre de usuario) en la ventana de línea de comandos de mongo shell.
Crear un clúster en MongoDB
Ya sea que sus intenciones iniciales sean desarrollar
aplicaciones de prueba de concepto o planificar un entorno de
producción, un muy buen punto de partida es crear un nuevo
clúster de MongoDB en MongoDB Atlas. Al usar el nivel gratuito,
la configuración predeterminada es implementar un clúster de
MongoDB con un conjunto de réplicas. Sin embargo, si también
desea habilitar la fragmentación, debe habilitar esta función
por separado y especificar la cantidad de fragmentos que debe
tener.
¿Qué es un replica set en
MongoDB?
Un conjunto de réplicas de MongoDB garantiza que se aplique la réplica
al proporcionar redundancia de datos y alta disponibilidad en más de un
servidor MongoDB.
¿Qué es un
MONGODB ES UNA COLECCIÓN DE
CONJUNTOS DE DATOS
DISTRIBUIDOS EN MUCHOS
clúster FRAGMENTOS (SERVIDORES) PARA
LOGRAR UNA ESCALABILIDAD
fragmentado? HORIZONTAL
RENDIMIENTO
Y UN
EN
MEJOR
LAS
OPERACIONES DE LECTURA Y
ESCRITURA.
¿Qué es un clúster
fragmentado?
La fragmentación es muy útil para colecciones que tienen
una gran cantidad de datos y altas tasas de consulta.
Collection1 está fragmentado, a diferencia de Collection2,
que no está fragmentado. Si mantuviéramos Collection1 en
un servidor, la CPU de ese servidor podría aumentar porque
no tendría la capacidad necesaria para atender las
solicitudes que recibió. Sin embargo, agregar otro
fragmento para Collection1 ayuda a distribuir la carga al
aumentar la capacidad general que puede recibir.
¿Qué es un clúster fragmentado?
La configuración de un clúster fragmentado permite que un fragmento también
se configure como un conjunto de réplicas. En otras palabras, está configurado
para tener alta disponibilidad y escalabilidad horizontal. Además, se implementa
un componente llamado mongos al configurar un clúster fragmentado. Mongos
es un enrutador de consultas; actúa como intermediario entre el cliente y el
servidor, o el fragmento en el que residen los datos. Además del enrutamiento,
también puede manejar el equilibrio de carga para todas las consultas y
operaciones de escritura en los fragmentos.
Finalmente, también se implementa un servicio de metadatos llamado
servidores de configuración (configsvr). Contiene información y configuraciones
relacionadas con el clúster fragmentado. Este componente también almacena
la ubicación y los rangos de los fragmentos de datos en los diferentes
fragmentos, así como información de autenticación, incluidos nombres de
usuario, roles y permisos para diferentes bases de datos y colecciones.
Bases de datos y
colecciones
MongoDB almacena registros de datos como
documentos (específicamente documentos BSON)
que se recopilan en colecciones. Una base de datos
almacena una o más colecciones de documentos.
SI NO EXISTE UNA BASE DE
DATOS, MONGODB CREA LA
BASE DE DATOS LA PRIMERA
VEZ QUE ALMACENA DATOS
PARA ESA BASE DE DATOS.
COMO TAL, PUEDE CAMBIAR A
UNA BASE DE DATOS
INEXISTENTE Y REALIZAR LA
SIGUIENTE OPERACIÓN
LA OPERACIÓN INSERTONE () CREA TANTO
LA BASE DE DATOS MYNEWDB COMO LA
COLECCIÓN MYNEWCOLLECTION1 SI AÚN
NO EXISTEN. ASEGÚRESE DE QUE TANTO
LOS NOMBRES DE LA BASE DE DATOS
COMO DE LA COLECCIÓN SIGAN LAS
RESTRICCIONES DE DENOMINACIÓN DE
MONGODB.
Colecciones
Clase 14
Jeannira Sic
PUNTOS A TRATAR
1202 | 2 sotad ed sesaB
Operaciones CRUD
El teorema de CAP aplica un tipo de lógica similar
¿Qué es el
a los sistemas distribuidos, es decir, que un sistema
teorema
disponibilidad y tolerancia a la partición (CAP, en
inglés).
CAP?
virtuales) al mismo tiempo. Como todas las
de ‘CAP’ en
La coherencia significa que todos los
1202 | 2 sotad ed sesaB
el teorema de
tiempo, independientemente del nodo
CAP
suceda, siempre que se escriban datos
considere 'satisfactoria'.
Explicación DISPONIBILIDAD
de ‘CAP’ en
Disponibilidad significa que cualquier
1202 | 2 sotad ed sesaB
el teorema de
datos obtiene una respuesta, aunque
CAP
forma de describirlo: todos los nodos
de ‘CAP’ en
1202 | 2 sotad ed sesaB
el teorema de
comunicación dentro de un sistema
CAP
temporalmente retardada entre dos
INTERCONECTADOS.
BASE DE DATOS CP
Tipos de base
Una base de datos CP ofrece coherencia y tolerancia a las
una partición entre dos nodos, el sistema tiene que cerrar el nodo
de datos
no coherente (es decir, hacer que no esté disponible) hasta que
se resuelva la partición.
NoSQL del
BASE DE DATOS AP
Una base de datos AP ofrece disponibilidad y tolerancia a las
teorema de
partición, todos los nodos permanecen disponibles, pero los que
CAP
una versión de los datos más antigua que los otros.
BASE DE DATOS CA
Una base de datos CA ofrece coherencia y disponibilidad en
EXTERNO A IBM) SOLO PUEDE TENER UN NODO PRIMARIO QUE RECIBA TODAS LAS OPERACIONES DE
ESCRITURA. LOS DEMÁS NODOS DEL MISMO CONJUNTO DE RÉPLICAS SON NODOS SECUNDARIOS
PRIMARIO, PERO TAMBIÉN PUEDEN ESPECIFICAR UNA PREFERENCIA DE LECTURA (ENLACE EXTERNO
DE OPERACIONES MÁS RECIENTE SE ELEGIRÁ COMO EL NUEVO NODO PRIMARIO. UNA VEZ QUE LOS
en una colección:
db.collection.insertOne ()
db.collection.insertMany ()
un solo documento.
Las operaciones de lectura
colección de documentos.
db.collection.find ()
Leer
devolver.
Las operaciones de actualización
colección:
db.collection.updateOne ()
db.collection.updateMany ()
db.collection.replaceOne ()
operaciones de escritura en
operaciones de lectura.
Las operaciones de eliminación
db.collection.deleteOne ()
db.collection.deleteMany ()
CLASE 15
JEANNIRA SIC
AGENDA DE HOY
A diferencia de las bases de datos SQL, donde debe determinar y declarar el esquema de una tabla antes de insertar
datos, las colecciones de MongoDB, por defecto, no requieren que sus documentos tengan el mismo esquema. Es
decir:
No es necesario que los documentos de una sola colección tengan el mismo conjunto de campos y el tipo de
datos de un campo puede diferir entre los documentos de una colección.
Para cambiar la estructura de los documentos en una colección, como agregar nuevos campos, eliminar campos
existentes o cambiar los valores de campo a un nuevo tipo, actualice los documentos a la nueva estructura.
Esta flexibilidad facilita la asignación de documentos a una entidad o un objeto. Cada documento puede coincidir con
los campos de datos de la entidad representada, incluso si el documento tiene una variación sustancial de otros
documentos de la colección. Sin embargo, en la práctica, los documentos de una colección comparten una estructura
similar y puede hacer cumplir las reglas de validación de documentos para una colección durante las operaciones de
actualización e inserción.
ESTRUCTURA DEL DOCUMENTO
Para agregar validación de documentos a una colección existente, use el comando collMod con la
opción de validación. MongoDB también proporciona las siguientes opciones relacionadas:
opción validationLevel, que determina cuán estrictamente MongoDB aplica las reglas de
validación a los documentos existentes durante una actualización.
opción validationAction, que determina si MongoDB debe generar errores y rechazar los
documentos que violan las reglas de validación o advertir sobre las violaciones en el registro
pero que permiten documentos no válidos.
SHORETOWN
ÍNDICES
Utilice índices para mejorar el rendimiento de las consultas habituales. Cree índices en los campos
que aparecen con frecuencia en las consultas y para todas las operaciones que devuelven
resultados ordenados. MongoDB crea automáticamente un índice único en el campo _id. Al crear
índices, tenga en cuenta los siguientes comportamientos de los índices:
SUBCONJUNTO
INCRUSTADO
(UNO A MUCHOS)
SUBCONJUNTO
¿PREGUNTAS?
Gracias por su atención