Claves principales en Aurora DSQL - Amazon Aurora DSQL

Claves principales en Aurora DSQL

En Aurora DSQL, una clave principal es una característica que organiza físicamente los datos de las tablas. Es similar a la operación CLUSTER en PostgreSQL o a un índice en clúster en otras bases de datos. Cuando se define una clave principal, Aurora DSQL crea un índice que incluye todas las columnas de la tabla. La estructura de clave principal en Aurora DSQL garantiza que el acceso a los datos y la administración sean eficientes.

Estructura y almacenamiento de datos

Cuando define una clave principal, Aurora DSQL almacena los datos de la tabla en orden de clave principal. Esta estructura organizada en índices permite que una búsqueda de clave principal recupere todos los valores de las columnas directamente, en lugar de seguir un puntero a los datos como en un índice de árbol B tradicional. A diferencia de la operación CLUSTER en PostgreSQL, que reorganiza los datos solo una vez, Aurora DSQL mantiene este orden de forma automática y continua. Este enfoque mejora el rendimiento de las consultas que dependen del acceso a la clave principal.

Aurora DSQL también utiliza la clave principal para generar una clave única en todo el clúster para cada fila en las tablas y los índices. Esta clave única también sustenta la gestión de datos distribuidos. Habilita la partición automática de los datos en varios nodos, lo que permite un almacenamiento escalable y una alta simultaneidad. Como resultado, la estructura de clave principal ayuda a Aurora DSQL a escalar automáticamente y a administrar con eficiencia las cargas de trabajo simultáneas.

Directrices para elegir una clave principal

Al elegir y utilizar una clave principal en Aurora DSQL, tenga en cuenta las siguientes directrices:

  • Defina una clave principal cuando cree una tabla. No podrá cambiar esta clave ni agregar una nueva clave principal más adelante. La clave principal pasa a formar parte de la clave de todo el clúster utilizada para la partición de datos y el escalado automático del rendimiento de escritura. Si no especifica una clave principal, Aurora DSQL asigna un ID oculto sintético.

  • Para tablas con grandes volúmenes de escritura, evite utilizar números enteros que aumenten de forma monótona como claves principales. Esto puede provocar problemas de rendimiento al dirigir todas las nuevas inserciones a una única partición. En su lugar, utilice claves principales con distribución aleatoria para garantizar una distribución uniforme de las escrituras entre las particiones de almacenamiento.

  • En el caso de las tablas que cambian con poca frecuencia o son de solo lectura, puede utilizar una clave ascendente. Ejemplos de claves ascendentes son las marcas temporales o los números de secuencia. Una clave densa tiene muchos valores poco espaciados o duplicados. Puede utilizar una clave ascendente aunque sea densa porque el rendimiento de escritura es menos crítico.

  • Si un examen completo de la tabla no satisface los requisitos de rendimiento, elija un método de acceso más eficiente. En la mayoría de los casos, esto significa utilizar una clave principal que coincida con la clave de unión y búsqueda más común en las consultas.

  • El tamaño máximo combinado de las columnas de una clave principal es de 1 kibibyte. Para obtener más información, consulte Límites de base de datos en Aurora DSQL y Tipos de datos admitidos en Aurora DSQL.

  • Puede incluir hasta 8 columnas en una clave principal o un índice secundario. Para obtener más información, consulte Límites de base de datos en Aurora DSQL y Tipos de datos admitidos en Aurora DSQL.