| **Clave de Partición** |
La clave de partición identifica una partición lógica en un almacenamiento distribuido en la que se almacena un elemento de datos. Estas particiones lógicas se mapean a nodos de almacenamiento físico en el backend mediante funciones hash.
En la tabla de ejemplo *Menu* que se analiza a continuación, el atributo Category es una clave de partición. |
| **Clave de Ordenación** |
La clave de ordenación principal ordena a través de una partición específica para localizar un elemento de datos y lo devuelve en un orden clasificado si más de 1 elemento coincide con la clave de partición en los datos. Esto se hace identificándolo a partir de un rango de hashes de clave. Catalyst te permite agregar una clave de ordenación opcionalmente al crear una tabla NoSQL.
En la tabla de ejemplo *Menu* que se analiza a continuación, el atributo `DishName` se considera como una clave de ordenación. |
| **Clave Primaria Simple** |
Una clave primaria simple en Catalyst NoSQL denota únicamente la clave de partición.
Cuando eliges configurar solo una clave de partición para una tabla NoSQL sin una clave de ordenación, la clave de partición actuará como la clave primaria de la tabla identificando de forma única un elemento en ella. Esto es similar al concepto de una clave primaria en una base de datos relacional.
En la tabla de ejemplo *Travel* analizada en la sección anterior, el atributo `DestinationName` se considera como la clave primaria, ya que este atributo debe estar presente en todos los elementos y no pueden existir dos elementos con los mismos valores para este atributo.
Sin embargo, en la tabla de ejemplo *Menu* que se analiza a continuación, la clave de partición `Category` no identifica de forma única un elemento, porque pueden existir múltiples elementos con el mismo valor para ella. Esto se debe a que la tabla *Menu* utiliza una clave primaria compuesta.
|
| **Clave Primaria Compuesta** |
La clave primaria compuesta incluye tanto una clave de partición como una clave de ordenación para identificar de forma única un elemento, es decir, la combinación de ambas claves actúa como clave primaria. Consultar una tabla con la clave primaria compuesta es global, ya que los datos abarcan múltiples particiones.
A diferencia de la clave primaria simple que requiere que la clave de partición sea única, aquí puedes almacenar valores no únicos para la clave de partición, siempre y cuando definas también una clave de ordenación.
> **Nota:** Para todos los elementos que tienen la misma clave de partición en una tabla, las claves de ordenación deben ser únicas.
La tabla de ejemplo *Menu* que se analiza a continuación contiene una clave primaria compuesta donde la clave de partición `Category` y la clave de ordenación `DishName` juntas identifican de forma única un elemento de datos (un plato). |
| **Claves de Ordenación Adicionales** |
Catalyst NoSQL te permite configurar claves de ordenación adicionales, además de la clave de ordenación principal, que es parte de la clave primaria compuesta.
Las claves de ordenación adicionales se utilizan si necesitas que la ordenación se realice según una clave diferente a la clave de ordenación principal, o si la clave de ordenación principal es desconocida para un elemento específico. En este caso, una combinación de la clave de partición y una clave de ordenación adicional se utilizará como clave primaria compuesta.
Consultar una tabla con claves de ordenación adicionales es similar a la indexación local, ya que todas se utilizan con la misma clave de partición para ordenar solo en esa partición específica.
> **Nota:** Catalyst te permite configurar un **máximo de 5 claves de ordenación adicionales** para una tabla.
En la tabla de ejemplo *Menu* que se analiza a continuación, los atributos `PreparationTime` y `Calories` están configurados como claves de ordenación adicionales. |