PERF03-BP01 Utilice un almacén de datos diseñado específicamente que mejor se adapte a sus requisitos de acceso y almacenamiento de datos - AWS Marco Well-Architected

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.

PERF03-BP01 Utilice un almacén de datos diseñado específicamente que mejor se adapte a sus requisitos de acceso y almacenamiento de datos

Debe saber cuáles son las características de los datos (por ejemplo, si se pueden compartir, su tamaño, los patrones de acceso, la latencia, el rendimiento y su persistencia) para seleccionar los almacenes de datos personalizados acordes a su carga de trabajo (almacenamiento o base de datos).

Patrones comunes de uso no recomendados:

  • Utiliza exclusivamente un almacén de datos porque la experiencia y los conocimientos internos se limitan a un tipo concreto de solución de base de datos.

  • Presupone que todas las cargas de trabajo tienen unos requisitos similares en relación con el almacenamiento de datos y el acceso a la información.

  • No ha implementado un catálogo de datos para inventariar sus activos de datos.

Beneficios de establecer esta práctica recomendada: comprender las características y los requisitos de los datos le permite determinar la tecnología de almacenamiento más eficiente y funcional para las necesidades de su carga de trabajo.

Nivel de riesgo expuesto si no se establece esta práctica recomendada: alto

Guía para la implementación

Al seleccionar e implementar el almacenamiento de datos, asegúrese de que las características de consulta, escalado y almacenamiento cumplan con los requisitos de datos de la carga de trabajo. AWS proporciona numerosas tecnologías de almacenamiento de datos y bases de datos, como el almacenamiento en bloques, el almacenamiento de objetos, el almacenamiento en streaming, el sistema de archivos, las bases de datos relacionales, clave-valor, de documentos, en memoria, de gráficos, de series temporales y de contabilidad. Cada solución de administración de datos tiene opciones y configuraciones a su disposición que se ajustan a los casos de uso y a los modelos de datos. Al comprender las características y los requisitos de los datos, puede dejar de lado la tecnología de almacenamiento monolítica y los one-size-fits-all enfoques restrictivos y centrarse en la gestión adecuada de los datos.

Pasos para la implementación

  • Haga un inventario de los distintos tipos de datos que existen en su carga de trabajo.

  • Estudie y documente las características y los requisitos de los datos, como:

    • Tipo de datos (no estructurados, semiestructurados o relacionales)

    • Volumen y crecimiento de los datos

    • Durabilidad de los datos: persistentes, efímeros o transitorios

    • ACIDrequisitos (atomicidad, consistencia, aislamiento, durabilidad)

    • Patrones de acceso a los datos (lectura o escritura intensivas)

    • Latencia

    • Rendimiento

    • IOPS(operaciones de entrada/salida por segundo)

    • Periodo de retención de datos

  • Conozca los diferentes almacenes de datos (servicios de almacenamiento y bases de datos) disponibles para su carga de trabajo AWS que pueden adaptarse a las características de sus datos, tal como se describe en. PERF01-BP01 Conozca y comprenda los servicios y funciones de la nube disponibles Estos son algunos ejemplos de tecnologías de almacenamiento de AWS y sus principales características:

    Tipo AWS Servicios Características clave
    Almacenamiento de objetos Amazon S3 Escalabilidad ilimitada, alta disponibilidad y múltiples opciones de accesibilidad. La transferencia y el acceso a objetos dentro y fuera de Amazon S3 puede utilizar un servicio, como Aceleración de transferencias o Puntos de acceso, para respaldar su ubicación, sus necesidades de seguridad y sus patrones de acceso.
    Almacenamiento de archivos Amazon S3 Glacier Diseñado para archivar datos.
    Almacenamiento en streaming

    Amazon Kinesis

    Amazon Managed Streaming para Apache Kafka (Amazon) MSK

    Ingesta y almacenamiento eficientes de datos de streaming.
    Sistema de archivos compartidos

    Amazon Elastic File System (AmazonEFS)

    Sistema de archivos montable al que pueden acceder varios tipos de soluciones de computación.

    Sistema de archivos compartidos Amazon FSx Basado en las soluciones AWS informáticas más recientes para admitir cuatro sistemas de archivos de uso común: Open NetApp ONTAPZFS, Windows File Server y Lustre. FSxLa latencia, el rendimiento y el rendimiento de Amazon IOPS varían según el sistema de archivos y deben tenerse en cuenta al seleccionar el sistema de archivos adecuado para sus necesidades de carga de trabajo.
    Almacenamiento en bloque Tienda Amazon Elastic Block (AmazonEBS) Servicio de almacenamiento en bloque escalable y de alto rendimiento diseñado para Amazon Elastic Compute Cloud (AmazonEC2). Amazon EBS incluye almacenamiento SSD respaldado para cargas de trabajo transaccionales IOPS intensivas y almacenamiento HDD respaldado para cargas de trabajo con alto rendimiento.
    Base de datos relacional Amazon Aurora, Amazon RDS, Amazon Redshift. Diseñado para admitir transacciones ACID (atomicidad, coherencia, aislamiento, durabilidad) y mantener la integridad referencial y una sólida coherencia de los datos. Muchas aplicaciones tradicionales, la planificación de recursos empresariales (ERP), la gestión de las relaciones con los clientes (CRM) y el comercio electrónico utilizan bases de datos relacionales para almacenar sus datos.
    Base de datos de clave-valor Amazon DynamoDB Optimizada para patrones de acceso comunes, normalmente para almacenar y recuperar grandes volúmenes de datos. Las aplicaciones web con mucho tráfico, los sistemas de comercio electrónico y las aplicaciones de juegos son casos de uso típicos para las bases de datos de clave-valor.
    Base de datos de documentos Amazon DocumentDB Diseñados para almacenar datos semiestructurados como documentos JSON similares. Estas bases de datos ayudan a los desarrolladores a crear y actualizar de forma rápida aplicaciones como la administración de contenido, catálogos y perfiles de usuario. 
    Base de datos en memoria Amazon ElastiCache, Amazon MemoryDB para Redis Se utilizan para aplicaciones que requieren acceso a los datos en tiempo real, menor latencia y mayor rendimiento. Puede usar bases de datos en memoria para el almacenamiento en caché de aplicaciones, la administración de sesiones, las tablas de clasificación de juegos, el almacén de características de ML de baja latencia, el sistema de mensajería de microservicios y un mecanismo de streaming de alto rendimiento.
    Base de datos de gráficos Amazon Neptune Se utiliza para aplicaciones que deben navegar y consultar millones de relaciones entre conjuntos de datos de grafos con un alto grado de conexión y con una latencia de milisegundos a gran escala. Muchas empresas utilizan las bases de datos de gráficos para detección de fraude, redes sociales y motores de recomendaciones.
    Base de datos de serie temporal Amazon Timestream Se usa para recopilar, sintetizar y obtener información de forma eficaz a partir de datos que cambian con el tiempo. Las aplicaciones de IoT y la telemetría industrial pueden utilizar bases de datos de series temporales. DevOps
    Columna ancha Amazon Keyspaces (para Apache Cassandra) Utiliza tablas, filas y columnas, pero, a diferencia de una base de datos relacional, los nombres y el formato de las columnas pueden variar de una fila a otra en la misma tabla. Por lo general, un almacén de columnas anchas está en aplicaciones industriales a gran escala para el mantenimiento de equipos, la administración de flotas y la optimización de rutas. 
    Libro mayor Base de datos Amazon Quantum Ledger (AmazonQLDB) Proporciona una autoridad centralizada y de confianza para mantener un registro de transacciones escalable, inmutable y verificable criptográficamente para cada aplicación. Las bases de datos de libro mayor se utilizan para sistemas de registro, la cadena de suministro, registros e incluso transacciones bancarias.  
  • Si está creando una plataforma de datos, aproveche la arquitectura de datos moderna AWS para integrar su lago de datos, su almacén de datos y sus almacenes de datos diseñados específicamente.

  • Las principales preguntas que debe hacerse al elegir un almacén de datos para su carga de trabajo son las siguientes:

    Pregunta Aspectos que deben tenerse en cuenta
    ¿Cómo se estructuran los datos?
    ¿Qué nivel de integridad referencial se requiere?
    • Para las restricciones de clave externa, las bases de datos relacionales como Amazon RDS y Aurora pueden proporcionar este nivel de integridad.

    • Por lo general, en un SQL modelo sin datos, se desnormalizan los datos en un único documento o conjunto de documentos para recuperarlos en una sola solicitud, en lugar de unirlos en varios documentos o tablas. 

    ¿Se ACID requiere el cumplimiento (atomicidad, consistencia, aislamiento, durabilidad)?
    ¿Cómo cambiarán los requisitos de almacenamiento con el tiempo? ¿Cómo afecta esto a la escalabilidad?
    • Las bases de datos sin servidor, como DynamoDB y Amazon Quantum Ledger Database (QLDBAmazon), se escalarán de forma dinámica.

    • Las bases de datos relacionales tienen límites máximos de almacenamiento aprovisionado y, a menudo, cuando alcanzan estos límites, es necesario hacer particiones horizontales a través de diversos mecanismos, como el particionamiento.

    ¿Cuál es la proporción de consultas de lectura en relación con las de escritura? ¿Es probable que el almacenamiento en caché mejore el rendimiento?
    ¿Tienen mayor prioridad el almacenamiento y la modificación (OLTPprocesamiento de transacciones en línea) o la recuperación y elaboración de informes (OLAPprocesamiento analítico en línea)?
    ¿Qué nivel de durabilidad requieren los datos?
    • Aurora replica los datos automáticamente en tres zonas de disponibilidad de una región, lo que significa que los datos tendrán una gran durabilidad y menos posibilidades de sufrir pérdidas.

    • DynamoDB se replica automáticamente en varias zonas de disponibilidad, lo que proporciona una elevada disponibilidad y durabilidad de los datos.

    • Amazon S3 proporciona un nivel de durabilidad de once nueves. Muchos servicios de bases de datos, como Amazon RDS y DynamoDB, admiten la exportación de datos a Amazon S3 para conservarlos y archivarlos a largo plazo.

    ¿Existe el deseo de evitar los motores de bases de datos comerciales o los costos de licencia?
    ¿Cuál es la expectativa operativa de la base de datos? ¿El cambio a los servicios administrados es una preocupación principal?
    • Aprovechar Amazon RDS en lugar de Amazon EC2 y DynamoDB o Amazon DocumentDB en lugar de alojar automáticamente una base de datos «No» puede reducir la sobrecarga operativaSQL.

    ¿Cómo se accede actualmente a la base de datos? ¿Se trata únicamente del acceso a las aplicaciones o hay usuarios de inteligencia empresarial (BI) y otras aplicaciones conectadas? off-the-shelf
    • Si tiene dependencias en herramientas externas, es posible que deba mantener la compatibilidad con las bases de datos que admiten. Amazon RDS es totalmente compatible con las diferentes versiones de motores que admite, incluidas Microsoft SQL Server, OracleSQL, My y PostgreSQL.

  • Lleve a cabo experimentos y pruebas comparativas en un entorno que no sea de producción para identificar qué almacén de datos se ajusta a los requisitos de su carga de trabajo.

Recursos

Documentos relacionados:

Videos relacionados:

Ejemplos relacionados: