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
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
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.
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
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 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
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
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
Recursos adicionales
-
Adiós Microsoft SQL Server, hola Babelfish (blog
de AWS noticias) -
Convierta esquemas de bases de datos y SQL de aplicaciones mediante la AWS Schema Conversion Tool CLI
(blog de AWS bases de datos) -
Valide los objetos de la base de datos después de la migración de Microsoft SQL Server a Amazon RDS para PostgreSQL y Amazon Aurora PostgreSQL
(blog sobre bases de datos)AWS