Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Referencia

Restricciones operativas en clústeres fragmentados

$where no permite referencias al objeto db desde la función $where. Esto es poco común en las colecciones no fragmentadas.

El comando geoSearch no se admite en entornos fragmentados.

En MongoDB 5.0 y versiones anteriores, no se pueden especificar colecciones fragmentadas en el from parámetro de las $lookup etapas.

Para utilizar las operaciones updateOne() y deleteOne() en una colección particionada que especifique la opción multi: false o justOne:

  • Si solo apunta a un fragmento, puede usar una clave de fragmentación parcial en la especificación de query o,

  • Puede proporcionar la clave de fragmentación o el campo _id en la especificación de la query.

Para usar findOneAndUpdate() con una colección particionada, su filtro de query debe incluir una condición de igualdad en la clave de partición para comparar la clave y el valor en cualquiera de estos formatos:

{ key: value }
{ key: { $eq: value } }

MongoDB no admite índices únicos entre fragmentos, excepto cuando el índice único contiene la clave de fragmentación completa como prefijo del índice. En estas situaciones, MongoDB aplicará la unicidad en toda la clave, no en un solo campo.

Tip

Consulte:

Restricciones únicas en campos arbitrarios para un enfoque alternativo.

Una colección existente solo puede fragmentarse si su tamaño no supera ciertos límites específicos. Estos límites pueden estimarse en función del tamaño promedio de todos los valores de la clave de partición, y del tamaño del fragmento configurado.

Importante

Estos límites solo se aplican a la operación inicial de particionado. Las colecciones particionadas pueden crecer a cualquier tamaño después de habilitar correctamente el particionamiento.

MongoDB distribuye los documentos en la colección de modo que cada fragmento esté lleno hasta la mitad al crearse. Utilice las siguientes fórmulas para calcular el tamaño máximo teórico de la colección.

maxSplits = 16777216 (bytes) / <average size of shard key values in bytes>
maxCollectionSize (MB) = maxSplits * (chunkSize / 2)

Nota

El tamaño máximo de documento BSON es de 16MB o 16777216 bytes.

Todas las conversiones deben usar la escala base-2, por ejemplo, 1024 kilobytes = 1 megabytes.

Si maxCollectionSize es menor o casi igual a la colección objetivo, aumenta el tamaño del fragmento para asegurar el particionado inicial exitoso. Si hay dudas sobre si el resultado del cálculo está demasiado 'cerca' al tamaño de colección objetivo, probablemente sea mejor aumentar el tamaño del fragmento.

Después de un particionado inicial exitoso, puede reducir el tamaño del fragmento según sea necesario. Si más adelante reduces el tamaño del fragmento, puede llevar tiempo que todos los fragmentos se repartan al nuevo tamaño. Consulta Modificar el tamaño de los fragmentos en un clúster sharded para obtener instrucciones sobre cómo modificar el tamaño de los fragmentos.

Esta tabla ilustra los tamaños máximos aproximados de colección utilizando las fórmulas descritas anteriormente:

Tamaño promedio de los valores de la clave de partición
512 bytes
256 bytes
128 bytes
64 bytes

Número máximo de divisiones

32,768

65,536

131,072

262,144

Tamaño máximo de la colección (tamaño de fragmento de 64 MB)

1 TB

2 TB

4 TB

8 TB

Tamaño máximo de la colección (tamaño de fragmento de 128 MB)

2 TB

4 TB

8 TB

16 TB

Tamaño máximo de la colección (tamaño de fragmento de 256 MB)

4 TB

8 TB

16 TB

32 TB

Volver

Referencia

En esta página