Soy nuevo en la fragmentación de mongodb. Sabemos que fragmentamos una base de datos con fines de escalado. Donde necesitamos usar una clave de fragmentación para que el sistema de distribución de la base de datos pueda distribuir datos en función de esos valores clave. Mi pregunta es: ¿tendré que adjuntar la clave de fragmentación con la consulta para evitar consultas innecesarias en otros servidores de db fragmentados o esto funciona para la fragmentación de mongodb?
Cuando su búsqueda tiene el índice de clave de fragmento en la consulta, el servicio de enrutamiento de clúster fragmentado de mongodb (mongos) reenviará su consulta directamente al fragmento para el que se dirige la consulta evitando la solicitud de "dispersión-reunión" a todos los fragmentos. Esto se debe a que mongos almacena en caché los rangos de índice de clave de fragmento y sabe de antemano a qué fragmento dirigir la solicitud.
Además, en casos de escritura específicos en la versión de mongodb> = 4.2, es obligatorio incluir la clave de fragmento en la parte de consulta.
Además, si sus datos se distribuyen entre pocos fragmentos, el envío de solicitudes de transmisión no es un problema, pero en caso de que tenga fragmentos 100x, deberá esperar a que los 100 fragmentos busquen y respondan a los mongos, por lo que, en general, no usar la clave de fragmento es una operación no escalable y debe evitarse siempre que sea posible.
Espero que esto responda a tu pregunta...