Considere la posibilidad de crear bases de datos especialmente diseñadas - AWS Guía prescriptiva

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.

Considere la posibilidad de crear bases de datos especialmente diseñadas

Información general

Uno de los aspectos más costosos de la ejecución de cargas de trabajo basadas en Microsoft proviene de la concesión de licencias de bases de datos comerciales, como Server. SQL Las empresas suelen utilizar el SQL servidor como plataforma de base de datos preferida, lo que se ha arraigado en la cultura de desarrollo de la organización. Los desarrolladores suelen elegir un modelo relacional SQL basado en servidores, independientemente del caso de uso. Los motivos pueden ser:

  • La empresa ya tiene instancias o licencias de SQL servidor disponibles.

  • Los equipos se han acostumbrado al modelo de SQL programación mediante el uso de bibliotecas compartidas y la lógica empresarial. ORMs

  • La gerencia no conoce las alternativas.

  • Los desarrolladores no conocen las alternativas.

Las bases de datos diseñadas específicamente pueden adaptarse a los patrones de acceso a los datos de su caso de uso. Las empresas adoptan cada vez más estas bases de datos a medida que adoptan arquitecturas más modernas (como los microservicios) y a medida que se reduce el alcance de las aplicaciones individuales.

Una base de datos diseñada específicamente no excluye un modelo relacional ni requiere un modelo no (no relacional). SQL De hecho, una base de datos relacional se considera diseñada específicamente cuando se selecciona en respuesta a las necesidades específicas de una carga de trabajo. El uso de bases de datos diseñadas específicamente puede ayudar a los equipos a reducir los costos de bases de datos asociados a sus bases de datos. NETaplicaciones y, al mismo tiempo, obtienen las ventajas estándar de la nube, como la escalabilidad, la resiliencia y la reducción del trabajo pesado indiferenciado.

La siguiente tabla muestra las bases de datos especialmente diseñadas que ofrece. AWS

Base de datos Tipo Características
Amazon Aurora Postgre SQL o Amazon Aurora en mayo SQL Relacional

Casos de uso en los que los datos tienen una estructura fija

Las bases de datos relacionales mantienen naturalmente la coherencia de los datos a través ACID de las transacciones

Amazon DynamoDB Par clave-valor

No hay SQL base de datos que almacene datos mediante una estructura de datos de tabla hash

Almacenamiento y recuperación de datos no estructurados de alto rendimiento

Los casos de uso incluyen los perfiles de usuario, el estado de la sesión y los datos del carrito de compras

Amazon ElastiCache En memoria

Alto rendimiento: sin SQL base de datos que almacene datos no estructurados en la memoria con un tiempo de acceso inferior a un milisegundo

Se utiliza para datos efímeros a los que se accede con frecuencia, como sesiones de usuario, y como capa de almacenamiento en caché delante de otros almacenes de datos más lentos

Incluye soporte para ElastiCache (Redis) y (MemcachedOSS) ElastiCache

Amazon MemoryDB Duradero en memoria Base de datos diseñada específicamente compatible con Redis con almacenamiento duradero
Amazon Timestream Serie temporal

Base de datos diseñada para la ingesta de datos de alto rendimiento en orden temporal

Los casos de uso incluyen aplicaciones de Internet de las cosas (IoT) y almacenamiento de métricas o datos de telemetría

Amazon DocumentDB Documento

No hay SQL base de datos que almacene datos sin una estructura prescrita o relaciones forzadas con otros datos

Suele utilizarse para cargas de trabajo de lectura intensiva, como catálogos de productos

Amazon Neptune Gráfico

No hay una SQL base de datos que contenga datos y una representación de las conexiones entre los elementos de datos

Los casos de uso incluyen la detección de fraudes, los motores de recomendación y las aplicaciones sociales

Amazon Keyspaces Columna ancha

Base de datos distribuida de alto rendimiento basada en Apache Cassandra

Los casos de uso incluyen aplicaciones de IoT, procesamiento de eventos y aplicaciones de juegos

Uno de los principales impulsores de la adopción de bases de datos diseñadas específicamente puede atribuirse a la eliminación de las licencias comerciales. Sin embargo, la capacidad de autoscalamiento de bases de datos como DynamoDB (incluido el modo bajo demanda), Aurora, Amazon Neptune y Amazon Keyspaces le permite aprovisionar capacidad para casos normales, en lugar de para picos de uso. Las bases de datos diseñadas específicamente, como Timestream, no tienen servidores y se escalan automáticamente para satisfacer la demanda sin necesidad de aprovisionamiento previo.

AWS ofrece Babelfish para Aurora Postgre SQL si desea utilizar una base de datos relacional especialmente diseñada y compatible con código abierto, pero no puede o no quiere realizar cambios significativos en el código de su aplicación. En algunos casos, Babelfish le permite utilizar un código de acceso al servidor existente, prácticamente sin cambios. SQL

Al elegir una base de datos relacional diseñada específicamente para aplicaciones, es importante conservar las mismas características (o funcionalmente equivalentes) que necesita para sus aplicaciones. Esta recomendación se refiere a las bases de datos diseñadas específicamente como almacén de datos principal para las aplicaciones. Otras recomendaciones abordan aplicaciones específicas (como el almacenamiento en caché).

Impacto en los costes

Adopción de bases de datos especialmente diseñadas para. NETlas cargas de trabajo, si bien es poco probable que afecten directamente al consumo/costo del cómputo, pueden influir directamente en el costo de los servicios de bases de datos que consume. NETaplicaciones. De hecho, el ahorro de costes puede ser un objetivo secundario, si se compara con los beneficios adicionales de agilidad, escalabilidad, resiliencia y durabilidad de los datos.

Está fuera del ámbito de esta guía explicar todo el proceso de elegir una base de datos diseñada específicamente para las aplicaciones y rediseñar una estrategia de datos para utilizarlas de forma eficaz. Para obtener más información, consulte Bases de datos diseñadas específicamente en el directorio de tutoriales. AWS

En las siguientes tablas se muestran varios ejemplos de cómo la sustitución del SQL servidor por una base de datos diseñada específicamente puede modificar los costes de las aplicaciones. Tenga en cuenta que se trata simplemente de estimaciones aproximadas. Se requieren puntos de referencia y la optimización de las cargas de trabajo reales para calcular el costo de producción exacto.

Estas son algunas estimaciones de bases de datos especialmente diseñadas y utilizadas con frecuencia, que incluyen procesamiento bajo demanda y bases de datos de instancia única de 100 GBSSD. us-east-1 Los costos de licencia incluyen la licencia SQL de servidor más la garantía del software.

La siguiente tabla muestra los costos estimados de los ejemplos de bases de datos comerciales.

Motor de base de datos Modelo de licencia Tipo y especificaciones de la instancia AWS cómputo más costo de almacenamiento Coste de la licencia Coste mensual total
SQLEdición Server Standard en Amazon EC2 Licencia incluida r6i.2xlarge (8/64 GB) CPU RAM 1.345,36 DÓLARES 0,00$ 1.345,36 DÓLARES
SQLEdición Server Enterprise en Amazon EC2 Licencia incluida r6i.2xlarge (8/64 GB) CPU RAM 2.834,56 DÓLARES 0,00$ 2.834,56 DÓLARES
SQLEdición Server Standard en Amazon EC2 BYOL r6i.2xlarge (8/64 GB) CPU RAM 644,56 DÓLARES 456,00 DÓLARES 1.100,56 DÓLARES
SQLEdición Server Enterprise en Amazon EC2 BYOL r6i.2xlarge (8/64 GB) CPU RAM 644,56 DÓLARES 1.750,00 DÓLARES 2.394,56 DÓLARES
SQLEdición Server Standard en Amazon RDS   db.r6i.2xlarge (8/64 GB) CPU RAM 2.318,30 DÓLARES 0,00$ 2.318,30 DÓLARES
SQLEdición Server Enterprise en Amazon RDS   db.r6i.2xlarge (8/64 GB) CPU RAM 3.750,56 DÓLARES 0,00$ 3.750,56 DÓLARES

La siguiente tabla muestra los costos estimados de los ejemplos diseñados específicamente.

Motor de base de datos Tipo y especificaciones de la instancia AWS cómputo más costo de almacenamiento Coste de la licencia Coste mensual total
Amazon Aurora Postgre SQL r6g.2xlarge (8/64 GB) CPU RAM 855,87 DÓLARES 0,00$ 855,87 DÓLARES
DynamoDB Base aprovisionada 100 /400 WCU RCU 72,00$   72,00 DÓLARES
Amazon DocumentDB db.r6i.2xlarge (8/64 GB) CPU RAM 778,60 DÓLARES   778,60 DÓLARES
importante

La tabla se basa en los costos estimados de licencia de SQL Server with Software Assurance durante los tres primeros años de la compra. Para la edición SQL Server Standard: 4.100 dólares, paquete de 2 núcleos, 3 años. Para la edición SQL Server Enterprise: 15.700 dólares, paquete de 2 núcleos, 3 años.

Le recomendamos que considere las implicaciones financieras antes de adoptar bases de datos diseñadas específicamente para tal fin. Por ejemplo, el costo de actualizar las aplicaciones para usar una base de datos diseñada específicamente está relacionado con la complejidad de la aplicación y la base de datos de origen. Asegúrese de tener en cuenta el coste total de propiedad al planificar este cambio de arquitectura. Esto incluye refactorizar las aplicaciones, capacitar al personal en nuevas tecnologías y planificar cuidadosamente el rendimiento y el consumo previstos para cada carga de trabajo. A partir de ahí, puede determinar si la inversión compensa el ahorro de costes. En la mayoría de los casos, el mantenimiento de un end-of-support producto supone un riesgo para la seguridad y la conformidad, y el coste de remediarlo vale la pena tanto el esfuerzo como la inversión inicial.

Recomendaciones de optimización de costes

Para. NETlas aplicaciones que acceden al SQL servidor, existen bibliotecas de reemplazo para las bases de datos relacionales diseñadas específicamente. Puede implementar estas bibliotecas en su aplicación para reemplazar una funcionalidad similar de una aplicación de SQL servidor.

En la siguiente tabla se muestran algunas bibliotecas que se pueden usar en muchos escenarios comunes.

Library Base de datos Reemplazo para Compatibilidad con el marco
Proveedor principal de Npgsql Entity Framework Amazon Aurora Postgre SQL Proveedor de servidores principales SQL de Entity Framework Moderno. NET
Proveedor de Npgsql Entity Framework 6 Amazon Aurora Postgre SQL Proveedor de servidores Entity Framework 6.0 SQL . NETMarco
Npgsql (. ADO NETbiblioteca SQL Postgre compatible) Amazon Aurora Postgre SQL ADO.NET . NETFramework/Moderno. NET
Proveedor principal de My SQL Entity Framework Amazon Aurora (My) SQL Proveedor de SQL servidores principales de Entity Framework Moderno. NET
Pomelo. EntityFrameworkCore. MySql Amazon Aurora (My) SQL Proveedor de SQL servidores principales de Entity Framework Moderno. NET

La conexión a Amazon Aurora Postgre SQL mediante Babelfish no requiere ningún código especial para conectarse. Sin embargo, todo el código debe probarse minuciosamente antes de su uso.

Otras bases de datos especialmente diseñadas tienen bibliotecas para acceder a ellas. NETbibliotecas compatibles que le permiten acceder a bases de datos diseñadas específicamente. Entre los ejemplos se incluyen:

Si migra a bases de datos diseñadas específicamente, puede utilizar estas herramientas AWS para facilitar el proceso de migración:

Recursos adicionales de