Su esquema es la arquitectura de su clúster, incluida su Colecciones, índices y documentos. Considere el diseño del esquema en las primeras etapas del proceso de desarrollo.
Patrones de diseño de esquemas
Se puede modelar el esquema elegido basándose en patrones de diseño frecuentemente utilizados. La serie de entradas de blog Building with Patterns discute los siguientes patrones de diseño de uso frecuente.
Para obtener información sobre situaciones en las que los arreglos funcionan bien, consulte los siguientes patrones de diseño:
El uso de El Patrón de Atributos sirve para manejar datos con combinaciones únicas de atributos, como los datos de películas en los que cada película se estrena en un subconjunto de países.
El uso de El patrón Bucket sirve para manejar datos estrechamente agrupados o secuenciales, como los datos de intervalos de tiempo.
Utilice El Patrón Polimórfico para manejar documentos de diferentes formas en la misma colección, como los registros de atletas en varios deportes.
Para leer sobre estrategias para mantener los documentos del conjunto de trabajo en un tamaño manejable, se pueden consultar los siguientes patrones:
Se puede utilizar El patrón de referencia extendida para duplicar una porción de datos que se leen con frecuencia de documentos grandes a documentos más pequeños.
Se puede utilizar El patrón de subconjuntos para reducir el tamaño de los documentos con campos de arreglos grandes.
Se puede utilizar El patrón outlier para gestionar algunos documentos grandes en una colección que por lo demás es estándar.
Para aprender a incorporar el modelo de datos flexible en su esquema, consulte las siguientes presentaciones de MongoDB.live 2020:
Se puede aprender sobre las relaciones de entidades en MongoDB y ejemplos de sus implementaciones con Modelado de datos con MongoDB.
Se puede aprender sobre patrones avanzados de diseño de esquemas que se pueden incorporar en el esquema establecido con Patrones avanzados de diseño de esquemas.
Sugerencias de esquema
Atlas ofrece dos maneras de detectar problemas comunes en el diseño de esquemas y sugiere modificaciones que siguen las mejores prácticas de MongoDB:
El Performance Advisor proporciona recomendaciones de esquemas integrales para su clúster mediante el muestreo de documentos en sus colecciones más activas y colecciones con consultas de ejecución lenta.
La Interfaz de usuario de Atlas ofrece sugerencias de esquemas para una colección específica mediante el muestreo de documentos en esa colección.
Para aprender más sobre cómo aplicar las sugerencias ofrecidas en el Performance Advisor o en el Explorador de datos, se pueden consultar las siguientes páginas:
Mejora del esquema | Motivo de la sugerencia |
|---|---|
Se están ejecutando demasiadas operaciones | |
Los documentos contienen campos de arreglos con muchos elementos, lo que puede degradar el rendimiento de las query. | |
Se presentan índices innecesarios en la colección, lo que puede consumir espacio en disco y degradar el rendimiento del guardado. | |
Se deben evitar documentos excesivamente grandes, ya que degradan el rendimiento de las queries más frecuentes. | |
Se puede ver que hay un número extremadamente alto de colecciones en una base de datos, lo que puede resultar en un uso innecesario de espacio en disco. | |
Se están ejecutando queries que dependen de una coincidencia ineficiente de expresiones regulares. Se deben aprovechar las queries de MongoDB Search que utilizan la |
Limitaciones de las sugerencias de esquemas
Las sugerencias de esquemas para una colección están parcialmente impulsadas por un muestreo aleatorio de documentos de esa colección. Debido a que este muestreo se realiza cada vez que se analiza un esquema, es posible que se vean diferentes sugerencias en distintos momentos para la misma colección.
El Performance Advisor supervisa las queries lentas para identificar ciertos problemas de esquema, como demasiadas operaciones de
$lookupy la falta de uso de un índice para queries regex que distinguen entre mayúsculas y minúsculas. Si un clúster no recibe queries de larga duración de forma consistente, el Performance Advisor puede no sugerir todas las mejoras potenciales para ese clúster, o puede no mostrar todas las razones por las que se sugiere una mejora.El Performance Advisor analiza las 20 colecciones más activas con base en la salida del comando
top. Para ver sugerencias para una colección específica, se puede ver esa colección en la Atlas Interfaz de Usuario.Ni Performance Advisor ni la Interfaz de Usuario de Atlas ofrecen sugerencias de esquemas para colecciones de series de tiempo.