Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Esquema y mapeo de tablas RDBMS
En el siguiente diagrama, se muestran las tablas y las relaciones del esquema RDBMS de origen.
Como se muestra en el diagrama anterior, la production_apps
tabla tiene version
columnas id
y, que tienen una one-to-many relación con las tablas production_app_properties
yproduction_app_configs
. Por lo tanto, en el diseño de DynamoDB, production_app_properties
las tablas production_app_configs
y se incrustan dentro de, como se muestra en production_app
item
el siguiente código JSON. Como production_app_properties
production_app_configs
pueden tener varios valores, estas tablas se agregan como matrices en el código JSON. Las test_apps
tablas changed_apps
y se mapean de forma similar.
Diseño de tabla única
DynamoDB no mantiene relaciones; admite un esquema de tabla fijo. Como resultado, puede almacenar distintos tipos de elementos (como tablas SQL) en una sola tabla de DynamoDB, con un atributo ItemType
() que identifica el tipo de elemento.
En DynamoDB, la combinación de claves de partición (PK) y claves de clasificación (SK) debe ser única, por lo que estas claves varían según el tipo de elemento.
Índices secundarios globales
Los índices ayudan a recuperar los datos con mayor rapidez y a mejorar el rendimiento de las aplicaciones. Para la aplicación de ejemplo, se crearon los siguientes índices. Los PKs y SKs se eligieron en función de la forma en que se podían identificar los distintos elementos.
Nombre del índice | Descripción | Clave de partición (PK) | Clave de clasificación (SK) | Atributos proyectados |
---|---|---|---|---|
Version-index |
Obtiene todas las aplicaciones de producción de una determinada. version |
version |
id, name |
|
Release-index |
Obtiene todas las aplicaciones de prueba de una determinadarelease-id . |
release-id |
id, name |
|
Change-index |
Obtiene todas las aplicaciones (modificadas) asociadas a unchange-id . |
change-id |
id, modified-by, date |