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.
Migre una tabla particionada de Oracle a SQL Postgre mediante AWS DMS
Creada por Saurav Mishra () y Eduardo Valentim () AWS AWS
Entorno: PoC o piloto | Origen: Oracle | ObjetivoSQL: Postgre 9.0 |
Tipo R: renovar arquitectura | Carga de trabajo: Oracle | Tecnologías: modernización; bases de datos; almacenamiento y copia de seguridad |
AWSservicios: AWS DMS |
Resumen
Este patrón describe cómo acelerar la carga de una tabla particionada de Oracle a Postgre SQL mediante AWS Database Migration Service (AWSDMS), que no admite el particionamiento nativo. La SQL base de datos Postgre de destino se puede instalar en Amazon Elastic Compute Cloud (AmazonEC2) o puede ser una instancia de base de datos Amazon Relational Database Service (AmazonRDS) para Postgre SQL o Amazon SQL Aurora Postgre -Compatible Edition.
La carga de una tabla particionada incluye los pasos siguientes:
Cree una tabla principal similar a la tabla de particiones de Oracle, pero no incluya ninguna partición.
Cree tablas secundarias que hereden de la tabla principal que se creó en el paso 1.
Cree una función de procedimiento y un disparador para gestionar las inserciones en la tabla principal.
Sin embargo, dado que el disparador se activa para cada inserción, la carga inicial utilizada puede ser muy lenta. AWS DMS
Para acelerar las cargas iniciales de Oracle a Postgre SQL 9.0, este patrón crea una AWS DMS tarea independiente para cada partición y carga las tablas secundarias correspondientes. A continuación, se crea un disparador durante la transición.
La SQL versión 10 de Postgre admite el particionamiento nativo. Sin embargo, en algunos casos puede decidir utilizar la partición heredada. Para obtener más información, consulte la sección Additional information (Información adicional).
Requisitos previos y limitaciones
Requisitos previos
Una cuenta activa AWS
Una base de datos de Oracle de origen con una tabla particionada
Una base de datos de Postgre en SQL AWS
Versiones de producto
Postgre 9.0 SQL
Arquitectura
Pila de tecnología de origen
Una tabla particionada en Oracle
Pila de tecnología de destino
Una tabla particionada en Postgre (SQLen Amazon, EC2 Amazon RDS for Postgre o Aurora PostgreSQL) SQL
Arquitectura de destino
Herramientas
AWSDatabase Migration Service (AWSDMS) le ayuda a migrar los almacenes de datos a la AWS nube o entre combinaciones de configuraciones locales y en la nube.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Crea las tablas en PostgreSQL. | Cree las tablas principales y secundarias correspondientes en Postgre SQL con las condiciones de verificación requeridas para las particiones. | DBA |
Cree la AWS DMS tarea para cada partición. | Incluya la condición de filtro de la partición en la AWS DMS tarea. Asigne las particiones a las tablas secundarias de Postgre SQL correspondientes. | DBA |
Ejecute las AWS DMS tareas utilizando la captura de datos a carga completa y modifique ()CDC. | Además, compruebe que el parámetro | DBA |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Detiene la tarea de replicación. | Antes de detener las tareas, confirme que el origen y el destino están sincronizados. | DBA |
Cree un disparador en la tabla principal. | Como la tabla principal recibirá todos los comandos de inserción y actualización, cree un activador que dirija estos comandos a las tablas secundarias respectivas en función de la condición de partición. | DBA |
Recursos relacionados
Información adicional
Aunque la SQL versión 10 de Postgre admite la partición nativa, puede decidir utilizar la partición heredada para los siguientes casos de uso:
La partición impone una regla según la cual todas las particiones deben tener el mismo conjunto de columnas que la principal, pero la herencia de tablas permite que las particiones secundarias tengan columnas adicionales.
La herencia de tablas admite herencias múltiples.
La partición declarativa solo admite la partición de listas y rangos. Con la herencia de tablas, puede dividir los datos como desee. Sin embargo, si la exclusión de la restricción no puede reducir las particiones de forma eficaz, el rendimiento de las consultas se verá afectado.
Algunas operaciones necesitan un bloqueo más fuerte cuando se usa la partición declarativa que cuando se usa la herencia de tablas. Por ejemplo, añadir o quitar una partición de una tabla particionada requiere un bloqueo
ACCESS EXCLUSIVE
en la tabla principal, mientras que un bloqueoSHARE UPDATE EXCLUSIVE
es suficiente para una herencia normal.
Si utiliza particiones de trabajo independientes, también puede volver a cargar las particiones si hay algún problema de validación. AWS DMS Para mejorar el rendimiento y el control de la replicación, ejecute las tareas en instancias de replicación independientes.