PERF04-BP04 Elija el almacenamiento de datos según los patrones de acceso
Utilice los patrones de acceso de la carga de trabajo y los requisitos de las aplicaciones para decidir los servicios de datos y las tecnologías óptimas que se deben utilizar.
Resultado deseado: el almacenamiento de datos se ha seleccionado en función de los patrones de acceso a los datos identificados y documentados. Esto podría incluir las consultas de lectura, escritura y eliminación más comunes, la necesidad de cálculos y agregaciones, la complejidad de los datos, la interdependencia de los datos y las necesidades de coherencia que se requieran.
Antipatrones usuales:
-
Solo selecciona un motor de base de datos para simplificar la administración de las operaciones.
-
Supone que los patrones de acceso a los datos se mantendrán coherentes a lo largo del tiempo.
-
Implementa transacciones complejas, reversión y lógica de coherencia en la aplicación.
-
La base de datos está configurada para admitir una posible ampliación del tráfico, lo que provoca que los recursos de la base de datos permanezcan inactivos la mayor parte del tiempo.
-
Utilización de una base de datos compartida para usos transaccionales y analíticos.
Beneficios de establecer esta práctica recomendada: la selección y la optimización del almacenamiento de datos en función de los patrones de acceso contribuirán a disminuir la complejidad del desarrollo y a optimizar las oportunidades de rendimiento. Saber cuándo utilizar las réplicas de lectura, las tablas globales, la partición de datos y el almacenamiento en caché le ayudará a disminuir la sobrecarga operativa y a escalar en función de sus necesidades de carga de trabajo.
Nivel de riesgo expuesto si no se establece esta práctica recomendada: medio
Guía para la implementación
Identifique y evalúe su patrón de acceso a los datos para seleccionar la configuración de almacenamiento correcta. Cada solución de base de datos tiene opciones para configurar y optimizar su solución de almacenamiento. Utilice las métricas y los registros recopilados y experimente con las opciones para encontrar la configuración óptima. Utilice la siguiente tabla para examinar las opciones de almacenamiento por servicio de base de datos.
| AWS Services | Amazon RDS | Amazon Aurora | Amazon DynamoDB | Amazon DocumentDB | Amazon ElastiCache | Amazon Neptune | Amazon Timestream | Amazon Keyspaces | Amazon QLDB |
|---|---|---|---|---|---|---|---|---|---|
| Scaling Storage | Storage can be scaled up manually or configured to scale automatically to a maximum of 64 TiB based on engine types. Provisioned storage cannot be decreased. | Storage scales automatically up to maximum of 128 TiB and decreases when data is removed. Maximum storage size also depends upon specific Aurora MySQL or Aurora Postgres engine versions. | Storage automatically scales. Tables are unconstrained in terms of size. | Storage scales automatically up to maximum of 64 TiB. Starting Amazon DocumentDB 4.0 storage can decrease by comparable amounts for data removal through dropping a collection or index. With Amazon DocumentDB 3.6 allocated space remains same and free space is reused when data volume increases. | Storage is in-memory, tied to instance type or count. | Storage scales automatically can grow up to 128 TiB (or 64 TiB in few Regions). Upon data removal from, total allocated space remains same and is reused in the future. | Organizes your time series data to optimize query processing and reduce storage costs. Retention period can be configured through in-memory and magnetic tiers. | Scales table storage up and down automatically as your application writes, updates, and deletes data. | Storage automatically scales. Tables are unconstrained in terms of size. |
Pasos para la aplicación:
-
Obtenga información sobre los requisitos de las transacciones, el cumplimiento de las normas de atomicidad, coherencia, aislamiento y durabilidad (ACID) y las lecturas coherentes. No todas las bases de datos lo admiten y la mayoría de las bases de datos NoSQL proporcionan un modelo de coherencia eventual.
-
Tenga en cuenta los patrones de tráfico, la latencia y los requisitos de acceso para las aplicaciones distribuidas globalmente a fin de identificar la solución de almacenamiento óptima.
-
Analice los patrones de consulta, los patrones de acceso aleatorio y las consultas únicas. También deben tenerse en cuenta las consideraciones en relación con la funcionalidad de consulta altamente especializada para el procesamiento de lenguaje natural y de texto, las series temporales y los grafos.
-
Identifique y documente el crecimiento previsto de los datos y el tráfico.
-
Amazon RDS y Aurora admiten el escalamiento vertical automático del almacenamiento hasta los límites documentados. Más allá de esto, considere la posibilidad de trasladar los datos más antiguos a Amazon S3 para archivarlos, agregar los datos históricos para el análisis o escalar horizontalmente con particiones.
-
DynamoDB y Amazon S3 se escalarán hasta un volumen de almacenamiento casi ilimitado de forma automática.
-
A las instancias y las bases de datos de Amazon RDS que se ejecutan en EC2 se les puede cambiar el tamaño manualmente y a las instancias de EC2 se les pueden añadir nuevos volúmenes de EBS en una fecha posterior para obtener almacenamiento adicional.
-
Los tipos de instancia pueden modificarse en función de los cambios de actividad. Por ejemplo, puede empezar con una instancia pequeña mientras hace pruebas y, a continuación, escalar la instancia cuando empiece a recibir tráfico de producción para el servicio. Aurora Serverless V2 se escala de forma automática en respuesta a los cambios de carga.
-
-
Establezca el punto de referencia de los requisitos en torno al rendimiento normal y máximo (transacciones por segundo [TPS] y consultas por segundo [QPS]) y la coherencia (ACID y coherencia final).
-
Documente los aspectos del despliegue de la solución y los requisitos de acceso a la base de datos (como la replicación global, Multi-AZ, la replicación de lectura y varios nodos de escritura).
Nivel de esfuerzo para el plan de implementación: bajo. Si no dispone de registros ni métricas para su solución de administración de datos, deberá hacerlo antes de identificar y documentar los patrones de acceso a los datos. Una vez comprendido el patrón de acceso a los datos, la selección y configuración del almacenamiento de datos implica un nivel de esfuerzo bajo.
Recursos
Documentos relacionados:
Vídeos relacionados:
Ejemplos relacionados: