Puedes utilizar el Data Explorer para gestionar índices en tus colecciones.
Roles necesarios
Para crear o descartar índices, debes tener acceso proporcionado por al menos uno de los siguientes roles:
Considerations
De forma predeterminada, puede tener hasta tres compilaciones de índices simultáneas no continuas. Para obtener más información, consulte Máximo de compilaciones de índices simultáneas.
Si seleccionas crear índices de forma progresiva, debes asegurarte de lo siguiente:
Solicite la creación de índices secuencial y la creación de índices no secuencial de manera secuencial y no simultánea. Espere a que una creación de índices que se está ejecutando actualmente se complete antes de solicitar otra creación de índices.
Si necesitas solicitar varias creaciones de índices continuos, espera a que se complete la creación de índices continua que está actualmente en ejecución antes de solicitar otra creación de índices continua.
Para rastrear las creación de índices continuas, consulte la fuente de actividad.
Para compilaciones de índices continuas abortadas, debes ejecutar listIndexes en cada nodo para verificar que el índice cancelado ya no exista. De lo contrario, el clúster podría permanecer en un estado inconsistente.
Advertencia
Debido a un problema crítico SERVER-68925, Las implementaciones de Cloud Manager que utilizan ciertas versiones del MongoDB Agent no deben realizar creaciones de índices continuas automatizadas en clústeres que estén ejecutando las siguientes versiones de MongoDB:
MongoDB 4.2.19-4.2.22
MongoDB 4.4.13-4.4.16
MongoDB 5.0.6-5.0.11
MongoDB 6.0.0-6.0.1
Puedes continuar realizando la creación manual de índices rodantes de forma segura en tus clústeres. Para realizar compilaciones automatizadas de creación de índices de forma segura, actualiza el MongoDB Agent a 12.4.0.7703 o posterior o actualiza tus clústeres a:
MongoDB 4.2.23 o posterior
MongoDB 4.4.17 o posterior
MongoDB 5.0.12 o posterior
MongoDB 6.0.2 o posterior
Importante
Las creaciones de índices rolling sólo tienen éxito cuando cumplen ciertas condiciones. Para garantizar que la creación de índices sea exitosa, evita los siguientes patrones de diseño que comúnmente desencadenan un bucle de reinicio:
La clave de índice supera el límite de clave de índice.
El nombre del índice ya existe
Índice en más de un campo de arreglo.
Índice de la colección que tiene el mayor número de índices de texto.
Índice de texto en la colección que tiene el mayor número de índices de texto.
La creación de índices de manera continua reduce la resiliencia de tu clúster y aumenta los tiempos de creación de índices. Solo recomendamos utilizar la creación de índices continua cuando la creación de índices regular no satisface tus necesidades.
Nota
Data Explorer no admite la creación de índices de manera continua para implementaciones autónomas.
La creación de índices de forma continua reduce el impacto en el rendimiento de la creación de índices en conjuntos de réplicas y clústeres fragmentados. Para mantener la disponibilidad del clúster, Cloud Manager elimina un nodo del clúster a la vez, comenzando por uno secundario.
Después de crear un índice de manera continua, si su base de datos MongoDB se ejecuta con un FCV menor 4.2 que, resincronice la base de datos principal para asegurarse de que esta tenga en cuenta el nuevo índice.
Cloud Manager cancela automáticamente las compilaciones de índices continuos que no se ejecutan correctamente en todos los nodos. Cuando una compilación de índice continuo se completa en algunos nodos, pero falla en otros, Cloud Manager cancela la compilación y elimina el índice de los nodos en los que se creó correctamente.
En caso de que se cancele una creación de índices incremental, Cloud Manager genera un evento en la fuente de actividad y envía un correo electrónico de notificación al propietario del Proyecto con la siguiente información:
Nombre del clúster en el que falló la creación de índices en curso
Namespace en el que falló la creación de índices en curso
Proyecto que contiene el clúster y el namespace
Organización que contiene el proyecto
Enlace al evento de la fuente de actividad
Para aprender más sobre la recompilación de índices, consulta Crear un índice en sets de réplicas.
Nota
Las siguientes opciones de índice son incompatibles con la creación de índices de forma continua:
Cloud Manager ignora estas opciones si las especificas en el panel Options.
Ver índices
Advertencia
El Explorador de datos solo muestra Usage métricas para el nodo primario de su clúster. Si su aplicación lee principalmente desde nodos secundarios, las métricas Usage no reflejan con precisión el uso del índice en su clúster.
Para obtener estadísticas más completas sobre el uso del índice, ejecute la etapa de agregación $indexStats en cada nodo de su clúster.
Desde la pestaña Collections, puede ver la información del índice de una colección. Para ver la información del índice de una colección:
Crear un índice
Tip
Al crear índices, ten en cuenta la proporción entre lecturas y escrituras en la colección de destino. Los índices tienen un costo en el rendimiento, pero valen la pena si se realizan queries frecuentes sobre grandes conjuntos de datos. Para aprender más sobre estrategias de indexación, consulta Estrategias de indexación.
Para crear un índice para una colección a través de Data Explorer:
Haga clic en Create Index.
En el modal Create Index, ingresa el documento index key specification en el recuadro Fields:
{ <field1>: <index type>, ... }
Ejemplo
Para crear un índice compuesto en los campos category (orden ascendente) y score (orden descendente), especifica el documento de especificación del índice:
{ category: 1, score: -1 }
Para obtener más información sobre índices, consulta Índices.
(Opcional) Especifica las opciones de índice.
{ <option1>: <value1>, ... }
Ejemplo
Para establecer la unique opción y una name para el nuevo índice, ingrese este documento:
{ unique: true, name: "myUniqueIndex" }
(Opcional) Configura las opciones de intercalación.
Utiliza la intercalación para especificar reglas propias del lenguaje para la comparación de strings, como reglas para el uso de mayúsculas y minúsculas, y los acentos. El documento de intercalación contiene un campo locale que indica el código ICU de localización, y puede contener otros campos para definir el comportamiento de la intercalación.
Ejemplo
En el siguiente documento de opciones de intercalación, se especifica un valor de localización de fr para una intercalación en francés:
{ "locale": "fr" }
Para revisar la lista de localizaciones que MongoDB admite para la intercalación, consulta la lista de lenguajes y localizaciones. Para aprender más sobre las opciones de intercalación, lo que incluye cuáles están activadas por defecto para cada localización, consulta Intercalación en el manual de MongoDB.
Descartar un índice
Para descartar un índice de una colección mediante el Data Explorer:
Nota
No puedes borrar el índice _id.
