Modernización de las bases de datos de SQL Server - 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.

Modernización de las bases de datos de SQL Server

Descripción general de

Si está empezando a modernizar las bases de datos heredadas para mejorar la escalabilidad, el rendimiento y la optimización de costos, es posible que tenga que hacer frente a desafíos relacionados con bases de datos comerciales como SQL Server. Las bases de datos comerciales son caras, atan a los clientes y ofrecen condiciones de licencia muy estrictas. En esta sección se proporciona una descripción general de las opciones para migrar y modernizar bases de datos de SQL Server a bases de datos de código abierto, así como información sobre cómo elegir la mejor opción para su carga de trabajo.

Puede refactorizar sus bases de datos de SQL Server para convertirlas en bases de datos de código abierto, como Amazon Aurora PostgreSQL, para ahorrar en los costos asociados al uso de licencias de Windows y SQL Server. Las bases de datos modernas nativas en la nube, como Aurora, combinan la flexibilidad y el bajo costo de las bases de datos de código abierto con las sólidas características empresariales de las bases de datos comerciales. Si tiene cargas de trabajo variables o cargas de trabajo de tenencia múltiple, también puede migrar a Aurora V2 sin servidor. Esto puede reducir los costos hasta en un 90 %, según las características de la carga de trabajo. Además, AWS ofrece capacidades como Babelfish para Aurora PostgreSQL, herramientas como AWS Schema Conversion Tool (AWS SCT) y servicios como AWS Database Migration Service (AWS DMS) para simplificar la migración y la modernización de las bases de datos de SQL Server en. AWS

Ofertas de bases de datos

La migración de SQL Server en Windows a bases de datos de código abierto como Amazon Aurora, Amazon RDS para MySQL o Amazon RDS para PostgreSQL puede ofrecer importantes ahorros de costos sin comprometer el rendimiento ni las características. Considere lo siguiente:

  • El cambio de la edición SQL Server Enterprise en Amazon EC2 a Amazon RDS for PostgreSQL o Amazon RDS for MySQL puede suponer un ahorro de costes de hasta un 80 por ciento.

  • El cambio de la edición Enterprise de SQL Server en Amazon EC2 a la edición compatible con PostgreSQL de Amazon Aurora o la edición compatible con Amazon Aurora MySQL puede suponer un ahorro de costes de hasta un 70 por ciento.

En el caso las cargas de trabajo de bases de datos tradicionales, Amazon RDS para PostgreSQL y Amazon RDS para MySQL abordan los requisitos y proporcionan una solución rentable para las bases de datos relacionales. Aurora agrega numerosas características de disponibilidad y rendimiento que antes estaban limitadas a proveedores comerciales caros. Las características de resiliencia de Aurora tienen un costo adicional. Sin embargo, en comparación con características similares de otros proveedores comerciales, los costos de resiliencia de Aurora siguen siendo más baratos que los que cobra el software comercial por el mismo tipo de características. La arquitectura Aurora de está optimizada para ofrecer mejoras significativas en el rendimiento en comparación con las implementaciones estándar de MySQL y PostgreSQL.

Como Aurora es compatible con bases de datos PostgreSQL y MySQL de código abierto, la portabilidad supone una ventaja adicional. A la hora de decidirse entre Amazon RDS para PostgreSQL, Amazon RDS para MySQL o Aurora, hay que tener en cuenta los requisitos empresariales y las características que necesitamos.

Comparación entre Amazon RDS y Aurora

En la tabla siguiente se resumen las diferencias entre Amazon RDS y Amazon Aurora.

Categoría Amazon RDS para PostgreSQL y Amazon RDS para MySQL Aurora PostgreSQL o Aurora MySQL
Desempeño Buen rendimiento Rendimiento mejor o 3 veces mayor
Conmutación por error Normalmente entre 60 y 120 segundos* Normalmente 30 segundos
Escalabilidad

Hasta 5 réplicas de lectura

Retraso en segundos

Hasta 15 réplicas de lectura

Retraso en milisegundos

Almacenamiento Hasta 64 TB Hasta 128 TB
Alta disponibilidad (almacenamiento) Multi-AZ con una o dos zonas en espera, cada una con copia de la base de datos De forma predeterminada, 6 copias de datos en 3 zonas de disponibilidad
Copia de seguridad Copias de seguridad diarias de instantáneas y registros Copia de seguridad asíncrona y continua en Amazon S3
Innovaciones con Aurora N/D

100 GB

Clonación rápida de base de datos

  Réplicas de lectura de escalado automático  
  Administración de planes de consultas  
  Aurora sin servidor  
  Réplicas de lectura entre regiones con base de datos global  
  Administración de la memoria caché de clústeres**  
  Consulta paralela  
  Secuencias de actividades de la base de datos  

* Las transacciones grandes pueden aumentar los tiempos de conmutación por error.

** Disponible en Aurora PostgreSQL.

La siguiente tabla muestra el costo mensual estimado de los diferentes servicios de bases de datos explicados en esta sección.

Servicios de bases de datos Costo en USD al mes* Calculadora de precios de AWS (requiere Cuenta de AWS)
Edición Enterprise de Amazon RDS para SQL Server 3.750 dólares Estimación
Edición Standard de Amazon RDS para SQL Server 2.318 DÓLARES Estimación
Edición SQL Server Enterprise en Amazon EC2 2.835 DÓLARES Estimación
Edición estándar de SQL Server en Amazon EC2 1.345$ Estimación
Amazon RDS para PostgreSQL 742 DÓLARES Estimación
Amazon RDS para MySQL 712 DÓLARES Estimación
Aurora PostgreSQL 1.032 DÓLARES Estimación
Aurora MySQL 1.031 DÓLARES Estimación

  El precio del almacenamiento está incluido en el precio de la instancia. Los costos se calculan en función de la región us-east-1. El rendimiento y las IOPS son suposiciones. Los cálculos son para las instancias r6i.2xlarge y r6g.2xlarge.

Recomendaciones de optimización de costos

Las migraciones de bases de datos heterogéneas suelen requerir convertir el esquema de la base de datos del motor de base de datos de origen al de destino y migrar los datos de la base de datos de origen a la base de datos de destino. El primer paso hacia la migración es evaluar y convertir el esquema del servidor SQL y los objetos de código para el motor de base de datos de destino.

Puede utilizar AWS Schema Conversion Tool (AWS SCT) para evaluar la compatibilidad de la base de datos con varias opciones de bases de datos de código abierto de destino, como Amazon RDS para MySQL o Amazon RDS para PostgreSQL, Aurora MySQL y PostgreSQL. También puede utilizar la herramienta Babelfish Compass para evaluar la compatibilidad con Babelfish para Aurora PostgreSQL. Esto convierte a Compass AWS SCT y a Compass en herramientas poderosas para comprender el trabajo inicial que implica antes de decidir una estrategia de migración. Si decide continuar, AWS SCT automatiza los cambios necesarios en el esquema. La filosofía central de Babelfish Compass es permitir que la base de datos SQL se migre a Aurora sin modificaciones o con muy pocas modificaciones. Compass evaluará la base de datos SQL existente para determinar si esto se puede lograr. De esta forma, se puede saber el resultado antes de dedicar ningún esfuerzo a migrar datos de SQL Server a Aurora.

AWS SCT automatiza la conversión y migración del esquema y el código de la base de datos al motor de base de datos de destino. Puede utilizar Babelfish para Aurora PostgreSQL para migrar la base de datos y su aplicación de SQL Server a Aurora PostgreSQL sin cambiar el esquema o haciendo cambios mínimos. Esto puede acelerar sus migraciones.

Una vez migrado el esquema, puede utilizarlo AWS DMS para migrar los datos. AWS DMS puede realizar una carga completa de datos y replicar los cambios para realizar la migración con un tiempo de inactividad mínimo.

En esta sección se analizan las siguientes herramientas con más detalle:

  • AWS Schema Conversion Tool

  • Babelfish para Aurora PostgreSQL

  • Babelfish Compass

  • AWS Database Migration Service

AWS Schema Conversion Tool

Puede utilizarlas AWS SCT para evaluar sus bases de datos de SQL Server existentes y evaluar la compatibilidad con Amazon RDS o Aurora. Para simplificar el proceso de migración, también puede utilizar AWS SCT la conversión del esquema de un motor de base de datos a otro en una migración de base de datos heterogénea. Se puede utilizar AWS SCT para evaluar la aplicación y convertir el código de la aplicación incrustado para aplicaciones escritas en C#, C++, Java y otros lenguajes. Para obtener más información, consulte Converting application SQL using AWS SCT en la documentación de AWS SCT .

AWS SCT es una AWS herramienta gratuita que admite muchas fuentes de bases de datos. Para utilizarla AWS SCT, hay que dirigirla a la base de datos de origen y, a continuación, realizar una evaluación. Luego, AWS SCT evalúa el esquema y genera el informe de evaluación. Los informes de evaluación incluyen un resumen ejecutivo, la complejidad de la migración y el esfuerzo requerido, los motores de bases de datos de destino adecuados y recomendaciones para la conversión. Para descargarla AWS SCT, consulte Instalación, verificación y actualización AWS SCT en la AWS SCT documentación.

La siguiente tabla muestra un ejemplo de resumen ejecutivo generado por AWS SCT para que pueda ver lo complejo que es cambiar la base de datos a diferentes plataformas de destino.

Plataforma de destino

Cambios automáticos o mínimos

Acciones complejas

Objetos de almacenamiento

Objetos de código

Funciones de conversión

Objetos de almacenamiento

Objetos de código

Amazon RDS para MySQL

60 (98 %)

8 (35 %)

42

1 (2 %)

1

15 (65 %)

56

Amazon Aurora MySQL-Compatible Edition

60 (98 %)

8 (35 %)

42

1 (2 %)

1

15 (65 %)

56

Amazon RDS para PostgreSQL

60 (98 %)

12 (52 %)

54

1 (2 %)

1

11 (48 %)

26

Edición de Amazon Aurora compatible con PostgreSQL

60 (98 %)

12 (52 %)

54

1 (2 %)

1

11 (48 %)

26

Amazon RDS para MariaDB

60 (98 %)

7 (30 %)

42

1 (2 %)

1

16 (70 %)

58

Amazon Redshift

61 (100 %)

9 (39 %)

124

0 (0 %)

0

14 (61 %)

25

AWS Glue

0 (0 %)

17 (100 %)

0

0 (0 %)

0

0 (0 %)

0

Babelfish

59 (97 %)

10 (45 %)

20

2 (3 %)

2

12 (55 %)

30

Un AWS SCT informe también proporciona detalles sobre los elementos del esquema que no se pueden convertir automáticamente. Puede cerrar las brechas AWS SCT de conversión y optimizar los esquemas de destino consultando los manuales de AWS migración. Existen muchos manuales de procedimientos de migración de bases de datos útiles para facilitar las migraciones heterogéneas.

Babelfish para Aurora PostgreSQL

Babelfish para Aurora PostgreSQL amplía su clúster de base de datos de Aurora PostgreSQL porque puede aceptar conexiones de bases de datos de clientes de SQL Server. Con Babelfish, las aplicaciones que se crearon originalmente para SQL Server pueden funcionar directamente con Aurora PostgreSQL haciendo pocos cambios en el código en comparación con una migración tradicional, y sin tener que cambiar los controladores de base de datos. Babelfish hace que Aurora PostgreSQL sea bilingüe para que Aurora PostgreSQL pueda funcionar tanto con T-SQL como con los lenguajes. PL/pgSQL Babelfish minimiza los esfuerzos de migración de SQL Server a Aurora PostgreSQL. Esto acelera las migraciones, minimiza el riesgo y reduce los costos de migración de manera significativa. Puede seguir utilizando T-SQL después de completar la migración, pero también existe la opción de utilizar las herramientas nativas de PostgreSQL para el desarrollo.

El siguiente diagrama ilustra cómo una aplicación que usa T-SQL se conecta al puerto predeterminado 1433 de SQL Server y usa el traductor Babelfish para comunicarse con la base de datos de Aurora PostgreSQL, mientras que una aplicación que usa PL/pgSQL puede conectarse directa y simultáneamente a la base de datos de Aurora PostgreSQL mediante el puerto predeterminado 5432 en Aurora PostgreSQL.

Babelfish para Aurora PostgreSQL

Babelfish no admite determinadas características de T-SQL de SQL Server. Por este motivo, Amazon proporciona herramientas de evaluación para line-by-line analizar tus sentencias SQL y determinar si alguna de ellas no es compatible con Babelfish.

Hay dos opciones para las evaluaciones de Babelfish. AWS SCT puede evaluar la compatibilidad de su base de datos de SQL Server con Babelfish. Otra opción es la herramienta Babelfish Compass, que es una solución recomendada porque la herramienta Compass se actualiza en función de las nuevas versiones de Babelfish para Aurora PostgreSQL.

Babelfish Compass

Babelfish Compass es una herramienta que se puede descargar gratuitamente y que se adhiere a la última versión de Babelfish para Aurora PostgreSQL. Por el contrario, AWS SCT admitirá las versiones más nuevas de Babelfish después de un tiempo. Babelfish Compass usa el esquema de base de datos de SQL Server. También puede extraer el esquema de la base de datos de SQL Server de origen mediante herramientas como SQL Server Management Studio (SSMS). A continuación, puede poner en marcha el esquema usando Babelfish Compass. Esto genera el informe que detalla la compatibilidad del esquema de SQL Server con Babelfish y si es necesario realizar algún cambio antes de la migración. La herramienta Babelfish Compass también puede automatizar muchos de estos cambios y, en última instancia, acelerar las migraciones.

Una vez finalizada la evaluación y los cambios, puede migrar el esquema a Aurora PostgreSQL mediante herramientas nativas de SQL Server, como SSMS o sqlcmd. Para obtener instrucciones, consulte la publicación Migrate from SQL Server to Amazon Aurora using Babelfish en el blog de bases de datos de AWS .

AWS Database Migration Service

Una vez migrado el esquema, puedes usar AWS Database Migration Service (AWS DMS) para migrar los datos AWS con un tiempo de inactividad mínimo. AWS DMS no solo carga todos los datos, sino que también replica los cambios del origen al destino mientras el sistema de origen está en funcionamiento. Una vez sincronizadas las bases de datos de origen y de destino, la actividad de transición puede tener lugar en la que la aplicación apunta a la base de datos de destino que finaliza la migración. AWS DMS actualmente solo realiza una carga de datos completa con Babelfish para un destino de Aurora PostgreSQL y no replica los cambios. Para obtener más información, consulte Uso de Babelfish como objetivo en la documentación. AWS Database Migration Service AWS DMS

AWS DMS puede realizar migraciones homogéneas (en el mismo motor de base de datos) y heterogéneas (en diferentes motores de base de datos). AWS DMS admite muchos motores de bases de datos de origen y destino. Para obtener más información, consulte la publicación Migración de la base de datos de SQL Server a Amazon RDS for SQL Server AWS DMS mediante AWS el blog de bases de datos.

Recursos adicionales