Microsoft Azure: elegir una clave de partición en Cosmos DB

Azure Cosmos DB utiliza el particionamiento para escalar contenedores individuales en una base de datos, mejorando posteriormente las necesidades de rendimiento de su aplicación. En el particionamiento , los elementos de un contenedor se dividen en distintos subconjuntos denominados particiones lógicas. Las particiones lógicas se crean en función del valor de una clave de partición que está vinculada con cada elemento dentro de un contenedor. Todos los elementos de una partición lógica tienen el mismo valor de clave de partición. 

En este artículo, veremos cómo elegir una clave de partición en Azure Cosmos DB. Para optimizar la escalabilidad y el rendimiento de Cosmos DB, debe elegir la clave de partición adecuada para su contenedor.

En primer lugar, busque un contenedor, por ejemplo, que tenga una clave de partición para la propiedad firstname .

Veamos cómo se ve eso en los datos. Es esta propiedad, firstname . Esta es una buena clave porque está en todos los documentos del contenedor y tiene una amplia variedad de valores posibles. Ya no podemos cambiar la clave de partición para este contenedor. Solo puede configurarlo cuando crea un nuevo contenedor. 

Si necesita cambiar una clave de partición, debe crear un nuevo contenedor y migrar sus datos a ese. 

Una clave de partición consta de una ruta. Puede ser algo como /firstname o /name/first , o una propiedad anidada, siempre que sea una propiedad JSON de los documentos del contenedor. 

La propiedad JSON tendrá un valor como Evelyn. Una buena clave tiene un valor para su propiedad en cada documento del contenedor. Por ejemplo, podría ser el nombre de pila o el ID de propiedad integrado, que se genera automáticamente y está disponible en todos los documentos.

Estas son algunas de las mejores prácticas para analizar antes de elegir la clave de partición correcta:

  1. El valor de la clave no debería cambiar. Es posible que el apellido no sea bueno, ya que puede cambiar cuando las personas se casan o se divorcian.
  2. La clave debe tener una amplia gama de valores. El primer nombre será diferente para muchas personas, y algo como ID funciona muy bien cuando se usa un valor único. Esto optimiza el uso de particiones y mejora el rendimiento.
  3. Una clave de partición puede tener valores de tipo string o numérico, y una vez que haya creado una clave para un contenedor, ya no podrá cambiarla.

Nota: Hay una excepción. Si su contenedor es grande, tiene muchas lecturas y es grande, eso significa que tiene asignadas 30 000 o más RU o tiene más de 100 gigabytes.

Si ese es el caso, entonces la clave de partición debería ser algo que sus consultas filtren mucho. Si sus consultas se filtran mucho en la identificación del usuario, esa podría ser una excelente clave de partición. Cuando elige la clave de partición adecuada para su contenedor de Azure Cosmos DB, optimiza el rendimiento. 

Publicación traducida automáticamente

Artículo escrito por punamsingh628700 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *