- Descripción general del servicio
-
Pasos iniciales
- Descripción
-
Tareas iniciales con clústeres
- Compra de una instancia de clúster
- Conexión a una instancia de clúster
-
Tareas iniciales con conjunto de réplicas
- Compra de una instancia de conjunto de réplicas
-
Conexión a una instancia de conjunto de réplicas
- Métodos de conexión
- (Recomendado) Conexión a instancias de conjunto de réplicas mediante DAS
- Conexión a una instancia de conjunto de réplicas a través de una red privada
- Conexión a una instancia de conjunto de réplicas a través de una red pública
- Conexión a una instancia de conjunto de réplicas mediante código de programa
-
Tareas iniciales con nodos únicos
- Compra de una instancia de nodo único
- Conexión a una instancia de nodo único
- Iniciar y cerrar sesión en la consola DDS
- Ejemplo: Comprar y conectarse a una instancia DDS
- Historial de cambios
-
Guía del usuario
- Migrar datos
- Ajuste del rendimiento
- Gestión de permisos
- Administración del ciclo de vida de instancias
-
Modificaciones de instancia
- Cambio del nombre de una instancia
- Cambio de una descripción de instancia
- Actualización de una versión menor del motor
- Actualización de una versión de motor principal
- Escalamiento del espacio de almacenamiento
- Cambio de una clase de instancia
- Cambio de nodos de instancia de clúster
- Cambio de nodos de instancia de conjunto de réplicas
- Configuración de la ventana de mantenimiento
- Cambio de una AZ
-
Copia de respaldo de datos
- Principios y soluciones de copia de respaldo
- Configuración de una política de copia de respaldo automatizada
- Configuración de una política de copia de respaldo incremental
- Configuración de la política de copia de respaldo entre regiones
- Creating a Manual Backup
- Eliminación de una copia de respaldo manual
- Eliminación de una copia de respaldo automatizada
- Descarga de un archivo de copia de respaldo
-
Restauración de datos
- Soluciones
- Restauración de datos en una instancia nueva
- Restauración de datos a la instancia original
- Restauración de datos a un punto en el tiempo
- Restaurar datos en una base de datos local
-
Gestión de plantillas de parámetros
- Descripción general
- Creación de una plantilla de parámetros
- Modificación de una plantilla de parámetros
- Consulta del historial de cambios de parámetros
- Exportación de una plantilla de parámetro
- Comparación de plantillas de parámetros
- Replicación de una plantilla de parámetro
- Restablecimiento de una plantilla de parámetro
- Aplicación de una plantilla de parámetros
- Consulta de registros de aplicación de una plantilla de parámetro
- Modificación de la descripción de una plantilla de parámetro
- Eliminación de una plantilla de parámetros
- Gestión de conexiones
- Uso de la base de datos
- Seguridad de los datos
- Monitoreo y reporte de alarmas
- Auditoría
- Registros
- Centro de tareas
- Recuperación ante desastres entre zona de disponibilidad
- Facturación
- Etiquetas
- Cuotas
- Sugerencias de uso de DDS
-
Resolución de problemas
- Mecanismo de manejo de fallos de nodo de instancia DDS
- Mensaje de error de conexión: error de red al intentar ejecutar el comando 'isMaster'
- Mensajes de error de conexión: No hay ruta al host e intento de conexión fallado
- Mensaje de error de conexión: Error de autenticación
- Mensaje de error de conexión: no se pudo conectar al servidor
- Mensaje de error de conexión: no puede listar varios servidores en la URL sin la opción 'replicaSet'
- Mensaje de error de conexión: tiempo de espera al recibir el mensaje
- Mensaje de error de conexión: excepción: login failed and U_STRINGPREP_PROHIBITED_ERROR
-
Preguntas Frecuentes
-
Consultoría de productos
- ¿Cuál es la relación entre DDS y MongoDB Edición de comunidad?
- ¿Cuáles son las diferencias entre DDS y GaussDB (para Mongo)?
- ¿Qué precauciones se deben tomar cuando se usa DDS?
- ¿Cuál es la disponibilidad de las instancias de base de datos DDS?
- ¿Mis instancias de base de datos DDS se verán afectadas por las instancias de base de datos DDS de otros usuarios?
- ¿DDS admite la implementación en varias zonas de disponibilidad?
- ¿Puedo cambiar la VPC de una instancia creada?
- ¿Puedo cambiar la región de una instancia creada?
- ¿Qué es el nodo oculto?
- Versiones de base de datos
-
Gestión de recursos y discos
- ¿Qué elementos ocupan el espacio de almacenamiento de las instancias DDS?
- ¿Qué tipos de registros y archivos ocupan espacio de almacenamiento de instancia de base de datos DDS?
- ¿Por qué se muestra el uso del espacio de almacenamiento en la GUI más pequeño que el uso real?
- ¿Por qué no aumenta el espacio en disco disponible después de eliminar los datos?
- ¿Por qué la memoria residente de una instancia de conjunto de réplicas de memoria de 4 vCPUs/8 GB es solo 4 GB?
- Ampliación de la capacidad y cambios en las especificaciones
-
Rendimiento de la base de datos
- ¿Cuándo se activará una conmutación principal/en espera para un clúster o conjunto de réplicas?
- Alto uso de almacenamiento
- ¿Cuál es el retardo de tiempo para la sincronización primaria/secundaria en un conjunto de réplicas?
- ¿Cómo se transfieren los datos entre los nodos primario y secundario de un conjunto de réplicas?
- ¿Cómo puedo borrar una alarma que dice que el uso de memoria de shard supera el 90%?
- ¿Qué puedo hacer si se informa de un error de consulta después de escribir datos en el clúster DDS?
- Permisos de base de datos
-
Creación y eliminación
- ¿Cómo selecciono especificaciones y nodos de instancia?
- ¿Por qué no se muestra una instancia en la consola después de crearla?
- ¿Puedo usar una plantilla para crear instancias de base de datos DDS?
- ¿Por qué faltan datos en mi base de datos?
- ¿Se eliminarán mis copias de respaldo si elimino mi cuenta de Cloud?
- ¿Cuáles son las diferencias entre la eliminación de instancia y la cancelación de suscripción?
-
Conexión de bases de datos
- ¿Qué debo hacer si no puedo conectarme a una instancia DDS?
- ¿Qué puedo hacer si el número de conexiones de una instancia alcanza su máximo?
- ¿Cómo puedo consultar y limitar el número de conexiones?
- ¿Qué debo hacer si ECS y DDS se implementan en diferentes VPC y no pueden comunicarse entre sí?
- ¿Es necesario que las aplicaciones admitan la reconexión automática a la base de datos DDS?
- ¿Cómo puedo crear e iniciar sesión en un ECS?
- Instalar un cliente
- Uso de la base de datos
- Migración de bases de datos
- Almacenamiento de bases de datos
- Parámetros de base de datos
- Copia de respaldo y restauración
- Seguridad de la red
- Monitoreo y alarma
-
Consultoría de productos
- Historial de cambio
-
Referencia de la API
- Antes de empezar
- Descripción general de API
- Llamadas a APIs
- Tareas iniciales
-
APIs V3.0 (recomendado)
- Consulta de la versión de la API
- Consulta de información de la versión de la base de datos
- Consulta de especificaciones de base de datos
- Consulta del tipo de disco de la base de datos
-
Gestión de instancias de base de datos
- Creación de una instancia de base de datos
- Reinicio de una instancia de base de datos
- Eliminación de una instancia de base de datos
- Consulta de instancias y detalles
- Escalamiento del espacio de almacenamiento
- Adición de nodos para una instancia de clúster
- Modificación de especificaciones de instancia de base de datos
- Realización de una conmutación primaria/secundaria en una instancia de conjunto de réplicas
- Habilitación o deshabilitación de SSL
- Modificación de un nombre de instancia de base de datos
- Cambio de una descripción de instancia
- Cambio de un puerto de base de datos
- Cambio de un grupo de seguridad
- Vinculación de un EIP
- Desvinculación de un EIP
- Cambio de una dirección IP privada
- Habilitación de direcciones IP de disco duro o configuración
- Configuración del acceso entre CIDR para un conjunto de réplicas
- Consulta de Zonas de disponibilidad a las que se puede migrar una instancia
- Migración de una instancia de base de datos a otra AZ
- Gestión de conexiones
-
Copia de respaldo y restauración
- Creación de una copia de respaldo manual
- Eliminación de una copia de respaldo manual
- Consulta de la lista de copia de respaldo
- Consulta de una política de copia de respaldo automatizada
- Configuración de una política de copia de respaldo automatizada
- Restauración de datos en una nueva instancia de base de datos
- Obtención del enlace para descargar un archivo de copia de respaldo
- Consulta de los intervalos de tiempo de restauración
- Obtención de la lista de bases de datos que se pueden restaurar
- Obtención de la lista de colecciones de bases de datos que se pueden restaurar
- Restauración de datos a la instancia de base de datos original
- Restauración de bases de datos y tablas a un punto en el tiempo
-
Configuración de parámetros
- Obtención de plantillas de parámetros
- Creación de una plantilla de parámetros
- Eliminación de una plantilla de parámetros
- Obtención de parámetros de una plantilla de parámetros especificada
- Modificación de parámetros en una plantilla de parámetros
- Aplicación de una plantilla de parámetros
- Obtención de parámetros de una instancia de base de datos especificada
- Modificación de parámetros de una instancia de base de datos especificada
-
Consultas de información de registro
- Consulta de registros lentos de la base de datos
- Obtención de enlaces para descargar registros de consultas lentos
- Muestra de registros lentos originales
- Consulta de registros de errores de base de datos
- Obtención de enlaces para descargar registros de errores
- Configuración de auditoría SQL
- Consulta de la política de auditoría de SQL
- Obtención de la lista de registros de auditoría
- Obtener enlaces para descargar registros de auditoría
- Gestión de Etiquetas
-
Gestión de bases de datos y usuarios
- Creación de un usuario de base de datos
- Creación de un rol de base de datos
- Consulta de detalles acerca de los usuarios de la base de datos
- Consulta de la lista de funciones de la base de datos
- Cambio de la contraseña de un usuario de base de datos
- Comprobación de la contraseña para iniciar sesión en una base de datos
- Consulta de parámetros de equilibrio de clúster
- Habilitación o deshabilitación del equilibrio de clústeres
- Configuración de la ventana de tiempo de actividad para Equilibrio de clúster
- Eliminación de un usuario de base de datos
- Eliminación de un rol de base de datos
- Gestión de cuotas
- Gestión de tareas
- API V3 (Próximamente no disponible)
- Ejemplos
- Políticas de permisos y acciones admitidas
- Apéndice
- Historial de cambios
-
Preguntas frecuentes
-
Consultoría de productos
- ¿Cuál es la relación entre edición de comunidad de DDS y MongoDB?
- ¿Cuáles son las diferencias entre DDS y GeminiDB Mongo?
- ¿Qué precauciones deben tomarse al usar DDS?
- ¿Cuál es la disponibilidad de las instancias de base de datos DDS?
- ¿Mis instancias de base de datos DDS se verán afectadas por las instancias de base de datos DDS de otros usuarios?
- ¿DDS admite despliegue de multi-AZ?
- ¿Puedo cambiar la VPC de una instancia creada?
- ¿Puedo cambiar la región de una instancia creada?
- ¿Qué es el nodo oculto?
- Versiones de base de datos
- Congelación, liberación, eliminación y cancelación de la suscripción de recursos
-
Gestión de recursos y discos
- ¿Qué elementos ocupan el espacio de almacenamiento de las instancias DDS?
- ¿Qué tipos de registros y archivos ocupan espacio de almacenamiento de instancia de base de datos DDS?
- ¿Por qué se muestra el uso del espacio de almacenamiento en la GUI más pequeño que el uso real?
- ¿Por qué no aumenta el espacio en disco disponible después de eliminar los datos?
- ¿Por qué la memoria residente de una instancia de conjunto de réplicas de memoria de 4 vCPUs/8 GB es solo 4 GB?
- Ampliación de la capacidad y cambios en las especificaciones
-
Rendimiento de la base de datos
- ¿Cuándo se activará una conmutación principal/en espera para un clúster o conjunto de réplicas?
- Alto uso de almacenamiento
- ¿Cuál es el retardo de tiempo para la sincronización primaria/secundaria en un conjunto de réplicas?
- ¿Cómo se transfieren los datos entre los nodos primario y secundario de un conjunto de réplicas?
- ¿Cómo puedo borrar una alarma que dice que el uso de memoria de shard supera el 90%?
- ¿Qué puedo hacer si se informa de un error de consulta después de escribir datos en el clúster DDS?
- Permisos de base de datos
-
Creación y eliminación
- ¿Cómo selecciono especificaciones y nodos de instancia?
- ¿Por qué no se muestra una instancia en la consola después de crearla?
- ¿Puedo usar una plantilla para crear instancias de base de datos DDS?
- ¿Por qué faltan datos de mi base de datos?
- ¿Se eliminarán mis copias de respaldo si elimino mi cuenta en nube?
- ¿Cuáles son las diferencias entre la eliminación de instancia y la cancelación de suscripción?
-
Conexión de bases de datos
- ¿Qué debo hacer si no puedo conectarme a una instancia DDS?
- ¿Qué puedo hacer si el número de conexiones de una instancia alcanza su máximo?
- ¿Cómo puedo consultar y limitar el número de conexiones?
- ¿Qué debo hacer si ECS y DDS se implementan en diferentes VPC y no pueden comunicarse entre sí?
- ¿Es necesario que las aplicaciones admitan la reconexión automática a la base de datos DDS?
- ¿Cómo puedo crear e iniciar sesión en un ECS?
- Instalar un cliente
- Uso de la base de datos
- Migración de bases de datos
- Almacenamiento de bases de datos
- Parámetros de base de datos
- Copia de respaldo y restauración
- Seguridad de la red
- Monitoreo y alarma
-
Consultoría de productos
- Actualmente, el contenido no está disponible en el idioma seleccionado. Sugerimos consultar la versión en inglés.
- What's New
- Function Overview
-
Product Bulletin
- Vulnerability Notice
-
Product Notices
- [Notice] Starting OBT for DDS Cluster 5.0 on Nov 5, 2024
- [Notice] Huawei Cloud DDS Replica Set 5.0 Will Be Released Commercially on Oct 11, 2024
- [Notice] Huawei Cloud DDS 3.4 Will Be Discontinued on Oct 11, 2024
- [Notice] Starting OBT for DDS 5.0 on July 24, 2024
- [Notice] Specifications with CPU-Memory Ratio of 1:8 Will Be Available for x86-Powered Enhanced II Replica Set Instances and Cluster Shards on February 15, 2023
- [Notice] DDS 4.4 OBT Invitation
- [Product Discontinuation Notice] Huawei Cloud Document Database Service (DDS) Single Node Instances Will Be Discontinued on July 15, 2023
- [Notice] Huawei Cloud DDS 4.4 Will Be Released Commercially on Oct 08, 2023
- Version Description
- Product Release Notes
- Billing
- Developer Guide
-
Best Practices
- Overview
- Security Best Practices
- Common Methods for Connecting to a DDS Instance
- From Other Cloud MongoDB to DDS
- From On-Premises MongoDB to DDS
- From ECS-hosted MongoDB to DDS
- How Do Replica Sets Achieve High Availability and Read/Write Splitting?
- Sharding
- How Do I Improve DDS Performance by Optimizing SQL Statements?
- How Do I Prevent the dds mongos Cache Problem?
- How Do I Solve the High CPU Usage Issue?
- How Do I Troubleshoot High Memory Usage of DDS DB Instances?
- What Can I Do If the Number of Connections of an Instance Reaches Its Maximum?
- Creating a User and Granting the Read-Only Permission to the User
- Proper Use of Data Definition Languages (DDL) Statements
- How Is a DDS Node Going to Be Disconnected and What Can I Do?
- Security White Paper
- Performance White Paper
- SDK Reference
-
Troubleshooting
- Overview
- DDS Instance Node Fault Handling Mechanism
- Connection Failure Message: network error while attempting to run command 'isMaster'
- Connection Failure Messages: No route to host and connection attempt failed
- Connection Failure Message: Authentication failed
- Connection Failure Message: couldn't connect to server
- Connection Failure Message: cannot list multiple servers in URL without 'replicaSet' option
- Connection Failure Message: Timeout while receiving message
- Connection Failure Message: exception: login failed and U_STRINGPREP_PROHIBITED_ERROR
- Change History
- Videos
- Glossary
-
More Documents
-
User Guide (ME-Abu Dhabi Region)
- Introduction
- Logging In to the DDS Console
- Getting Started with Clusters
- Getting Started with Replica Sets
- Connection Management
- Migrating Data
- Account Management
-
Instance Management
- Changing a DB Instance Name
- Adding Cluster Instance Nodes
- Reverting Cluster Instance Nodes
- Scaling Up Storage Space
- Changing the CPU or Memory of a Cluster DB Instance
- Changing the CPU or Memory of a Replica Set DB Instance
- Manually Switching the Primary and Secondary Nodes of a Replica Set
- Exporting DB Instance Information
- Restarting a DB Instance or a Node
- Deleting a DB Instance
- Recycling a DB Instance
- Backup and Restore
- Parameter Group Settings
- Task Center
- Monitoring and Alarm Reporting
- Auditing
- Log Management
- Tag
-
FAQs
- Product Consulting
- Database Performance
- Creation and Deletion
-
Database Connection
- Can an External Server Access the DDS DB Instance?
- What Is the Number of DDS Database Connections?
- What Should I Do If an ECS Cannot Connect to a DDS DB Instance?
- What Should I Do If a Database Client Problem Causes a Connection Failure?
- What Should I Do If a DDS Server Problem Causes a Connection Failure?
- How Can My Applications Access a DDS DB Instance in a VPC?
- Do Applications Need to Support Automatic Reconnecting to the DDS Database?
- How Do I Create and Log In to an ECS?
- How Can I Install a MongoDB Client?
- How Do I Install Robo 3T?
- Database Usage
- Database Storage
- Database Parameter Modification
- Backup and Restoration
- Network Security
- Resource Monitoring
- Log Management
- Which Commands are Supported or Restricted by DDS?
- Change History
-
API Reference (ME-Abu Dhabi Region)
- Before You Start
- API Overview
- Calling APIs
- Getting Started
-
API Description
- Querying the API Version
- Querying Database Version Information
- Querying All DB Instance Specifications
-
DB Instance Management
- Creating a DB Instance
- Restarting a DB Instance
- Deleting a DB Instance
- Querying DB Instances
- Scaling Up Storage Space
- Adding Nodes for a Cluster Instance
- Modifying DB Instance Specifications
- Performing a Primary/Secondary Switchover in a Replica Set Instance
- Enabling or Disabling SSL
- Modifying a DB Instance Name
- Changing a Database Port
- Changing a Security Group
- Binding an EIP
- Unbinding an EIP
- Changing a Private IP Address
- Backup and Restoration
- Tag Management
- Permissions Policies and Supported Actions
- Appendix
- Change History
-
User Guide (Paris Region)
- Introduction
- Logging In to the DDS Console
- Getting Started with Clusters
- Getting Started with Replica Sets
- Connection Management
- Migrating Data
- Account Management
-
Instance Management
- Changing a DB Instance Name
- Adding Cluster Instance Nodes
- Reverting Cluster Instance Nodes
- Scaling Up Storage Space
- Changing the CPU or Memory of a Cluster DB Instance
- Changing the CPU or Memory of a Replica Set DB Instance
- Manually Switching the Primary and Secondary Nodes of a Replica Set
- Exporting DB Instance Information
- Restarting a DB Instance or a Node
- Deleting a DB Instance
- Backup and Restore
- Parameter Group Settings
- Task Center
- Monitoring and Alarm Reporting
- Auditing
- Log Management
- Tag
-
FAQs
- Product Consulting
- Database Performance
- Creation and Deletion
-
Database Connection
- Can an External Server Access the DDS DB Instance?
- What Is the Number of DDS Database Connections?
- What Should I Do If an ECS Cannot Connect to a DDS DB Instance?
- What Should I Do If a Database Client Problem Causes a Connection Failure?
- What Should I Do If a DDS Server Problem Causes a Connection Failure?
- How Can My Applications Access a DDS DB Instance in a VPC?
- Do Applications Need to Support Automatic Reconnecting to the DDS Database?
- How Do I Create and Log In to an ECS?
- How Can I Install a MongoDB Client?
- How Do I Install Robo 3T?
- Database Usage
- Database Storage
- Database Parameter Modification
- Backup and Restoration
- Network Security
- Log Management
- Which Commands are Supported or Restricted by DDS?
- Change History
-
API Reference (Paris Region)
- Before You Start
- API Overview
- Calling APIs
- Getting Started
-
API Description
- Querying the API Version
- Querying Database Version Information
- Querying All DB Instance Specifications
-
DB Instance Management
- Creating a DB Instance
- Restarting a DB Instance
- Deleting a DB Instance
- Querying DB Instances
- Scaling Up Storage Space
- Adding Nodes for a Cluster Instance
- Modifying DB Instance Specifications
- Performing a Primary/Secondary Switchover in a Replica Set Instance
- Enabling or Disabling SSL
- Modifying a DB Instance Name
- Changing a Database Port
- Changing a Security Group
- Binding an EIP
- Unbinding an EIP
- Changing a Private IP Address
- Backup and Restoration
- Appendix
- Change History
-
User Guide (Kuala Lumpur Region)
- Introduction
- Logging In to the DDS Console
- Getting Started with Clusters
- Getting Started with Replica Sets
- Connection Management
- Migrating Data
- Account Management
-
Instance Management
- Changing a DB Instance Name
- Adding Cluster Instance Nodes
- Reverting Cluster Instance Nodes
- Scaling Up Storage Space
- Changing the CPU or Memory of a Cluster DB Instance
- Changing the CPU or Memory of a Replica Set DB Instance
- Manually Switching the Primary and Secondary Nodes of a Replica Set
- Exporting DB Instance Information
- Restarting a DB Instance or a Node
- Deleting a DB Instance
- Recycling a DB Instance
- Backup and Restore
- Parameter Group Settings
- Task Center
- Monitoring and Alarm Reporting
- Auditing
- Log Management
- Tag
-
FAQs
- Product Consulting
- Database Performance
- Creation and Deletion
-
Database Connection
- Can an External Server Access the DDS DB Instance?
- What Is the Number of DDS Database Connections?
- What Should I Do If an ECS Cannot Connect to a DDS DB Instance?
- What Should I Do If a Database Client Problem Causes a Connection Failure?
- What Should I Do If a DDS Server Problem Causes a Connection Failure?
- How Can My Applications Access a DDS DB Instance in a VPC?
- Do Applications Need to Support Automatic Reconnecting to the DDS Database?
- How Do I Create and Log In to an ECS?
- How Can I Install a MongoDB Client?
- How Do I Install Robo 3T?
- Database Usage
- Database Storage
- Database Parameter Modification
- Backup and Restoration
- Network Security
- Resource Monitoring
- Log Management
- Which Commands are Supported or Restricted by DDS?
- Change History
-
API Reference (Kuala Lumpur Region)
- Before You Start
- API Overview
- Calling APIs
- Getting Started
-
API Description
- Querying the API Version
- Querying Database Version Information
- Querying All DB Instance Specifications
-
DB Instance Management
- Creating a DB Instance
- Restarting a DB Instance
- Deleting a DB Instance
- Querying DB Instances
- Scaling Up Storage Space
- Adding Nodes for a Cluster Instance
- Modifying DB Instance Specifications
- Performing a Primary/Secondary Switchover in a Replica Set Instance
- Enabling or Disabling SSL
- Changing the Administrator Password
- Modifying a DB Instance Name
- Changing a Database Port
- Changing a Security Group
- Binding an EIP
- Unbinding an EIP
- Changing a Private IP Address
- Backup and Restoration
- Tag Management
- Permissions Policies and Supported Actions
- Appendix
- Change History
-
User Guide (ME-Abu Dhabi Region)
Copiado.
Reglas de Desarrollo
Conexión de bases de datos
Si se alcanza el número máximo de conexiones mongod o mongos, el cliente no puede conectarse a las instancias DDS. Cada conexión recibida por mongod o mongos es procesada por un solo hilo de 1 MB de espacio de pila. A medida que las conexiones aumentan, demasiados subprocesos aumentarán la sobrecarga de conmutación de contexto y el uso de memoria.
- Si se conecta a bases de datos desde clientes, calcule el número de clientes y el tamaño del grupo de conexiones configurado para cada cliente. El número total de conexiones no puede exceder el 80% del número máximo de conexiones permitidas por la instancia actual.
- Para un conjunto de réplicas, las direcciones IP de los nodos primario y en espera deben configurarse en el cliente. Para un clúster, se deben configurar al menos dos direcciones IP mongos.
- DDS utiliza el usuario rwuser de forma predeterminada. Cuando inicia sesión como usuario rwuser, la base de datos de autenticación debe ser admin.
Confiabilidad
- w:1 significa que se devolvió un mensaje de confirmación después de escribir los datos en el nodo principal.
- w:1,journal:true significa que el resultado se devolvió después de que se escribieron los datos en el nodo principal y los registros.
- w:majority significa que el resultado se devolvió después de que los datos se escribieron en más de la mitad del total de nodos en espera.
Si se requiere una alta confiabilidad, implemente un clúster en tres Zonas de disponibilidad.
Rendimiento
- El programa de servicio no puede realizar un análisis completo de la tabla.
- Durante la consulta, seleccione solo los campos que necesitan ser devueltos. De esta manera, se reducen las cargas de procesamiento de la red y de los hilos. Si necesita modificar datos, modifique solo los campos que necesitan ser modificados. No modifique directamente todo el objeto.
- No use $not. El DDS no indexa los datos que faltan. La consulta $not requiere que todos los registros se analicen en una única colección de resultados. Si $not es la única condición de consulta, se realizará un análisis de tabla completa en la colección.
- Si usa $and, ponga las condiciones con menos coincidencias antes que otras condiciones. Si usa $or, ponga primero las condiciones con más coincidencias.
- En una sola instancia, el número total de bases de datos no puede exceder de 200 y el número total de colecciones no puede exceder de 500.
- Antes de poner un servicio en línea, realice una prueba de carga para medir el rendimiento de la base de datos en horas pico.
- No ejecute un gran número de transacciones simultáneas al mismo tiempo o deje una transacción sin confirmar durante mucho tiempo.
- Antes de implementar los servicios, compruebe el rendimiento de todos los tipos de consultas a través de la ejecución de planes de consultas.
- Cada conexión es procesada por un subproceso independiente en segundo plano. A cada subproceso se le asigna 1 MB de memoria de pila. El número de conexiones no debe ser demasiado grande. De lo contrario, se ocupa demasiada memoria.
- Utilice el pool de conexiones para evitar conexiones y desconexiones frecuentes. De lo contrario, el uso de la CPU es demasiado alto.
- Reducir las operaciones de lectura y escritura del disco: Reducir las operaciones innecesarias de inserción.
- Optimizar la distribución de datos: Los datos se fragmentan y los datos calientes se distribuyen uniformemente entre los fragmentos.
- Reducir los conflictos de bloqueo: No realice operaciones con la misma tecla con demasiada frecuencia.
- Reducir el tiempo de espera del bloqueo: No cree índices en el frontend.
Aviso
Durante el proceso de desarrollo, cada ejecución en una colección debe ser comprobada usando explica () para ver su plan de ejecución. Ejemplo:
db.T_DeviceData.find({"deviceId":"ae4b5769-896f"}).explain();
db.T_DeviceData.find({"deviceId":"77557c2-31b4"}).explain("executionStats");
Una consulta cubierta no tiene que leer un documento y devuelve un resultado de un índice, por lo que el uso de una consulta cubierta puede mejorar en gran medida la eficiencia de la consulta. Si el resultado de explica (explica) muestra que indexOnly es verdadero, la consulta está cubierta por un índice.
- Compruebe el tiempo de ejecución. Cuanto más pequeños sean los valores de los siguientes parámetros, mejor será el rendimiento: executionStats.executionStages.executionTimeMillisEstimate y executionStats.executionStages.inputStage. executionTimeMillisEstimate
- executionStats.executionTimeMillis especifica cuánto tiempo tomó la base de datos para seleccionar y ejecutar el plan ganador.
- executionStats.executionStages.executionTimeMillisEstimate es el tiempo de finalización de la ejecución del plan ganador.
- executionStats.executionStages.inputStage. executionTimeMillisEstimate es el tiempo de finalización de la ejecución de la etapa secundaria del plan ganador.
- Compruebe el número de registros escaneados. Si los tres elementos son los mismos, el índice se utiliza mejor.
- executionStats. nReturned es el número de documentos que coinciden con la condición de consulta.
- executionStats .totalKeysExamined indica el número de entradas de índice escaneadas.
- executionStats .totalDocsExamined indica el número de entradas de documentos escaneados.
- Compruebe el estado de la etapa. Las siguientes combinaciones de etapas pueden proporcionar un buen rendimiento.
- Fetch+IDHACK
- Fetch+ixscan
- Limit+ (Fetch+ixscan)
- PROJECTION+ixscan
Tabla 1 Descripción de estado Nombre de estado
Descripción
COLLSCAN
Escaneo completo de la tabla
SORT
In-memory sorting
IDHACK
consulta basada en _id
TEXT
Índice de Full-text
COUNTSCAN
Número de índices no utilizados
FETCH
Búsqueda de índices
LIMIT
Uso de Límite para limitar el número de registros devueltos
SUBPLA
$or etapa de consulta sin usar un índice
PROJECTION
Restringiendo el retorno de la etapa cuando se devuelve un campo.
COUNT_SCAN
Número de índices utilizados
Reglas de uso del cursor
Si un cursor está inactivo durante 10 minutos, se cerrará automáticamente. También puede cerrarlo manualmente para ahorrar recursos.
Reglas para el uso de transacciones distribuidas en la versión 4.2
- Spring Data MongoDB no admite el mecanismo de reintento después de que se notifique un error de transacción. Si el cliente utiliza Spring Data MongoDB como cliente para conectarse a MongoDB, debe utilizar Spring Retry para reintentar la transacción basada en el archivo de referencia de Spring Data MongoDB. Para más detalles, consulte el documento oficial.
- El tamaño de los datos de la operación de transacción distribuida no puede superar los 16 MB.