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.
Creado por Saurav Mishra (AWS) y Eduardo Valentim (AWS)
Resumen
Este patrón describe cómo acelerar la carga de una tabla particionada de Oracle a PostgreSQL mediante AWS Database Migration Service (AWS DMS), que no admite el particionamiento nativo. La base de datos PostgreSQL de destino se puede instalar en Amazon Elastic Compute Cloud ( EC2Amazon) o puede ser una instancia de base de datos Edition compatible con PostgreSQL o Amazon Aurora PostgreSQL compatible con PostgreSQL.
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 con AWS DMS puede ser muy lenta.
Para acelerar las cargas iniciales de Oracle a PostgreSQL 9.0, este patrón crea una tarea de AWS DMS independiente para cada partición y carga las tablas secundarias correspondientes. A continuación, se crea un disparador durante la transición.
La versión 10 de PostgreSQL admite particiones nativas. 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 de AWS activa
Una base de datos de Oracle de origen con una tabla particionada
Una base de datos PostgreSQL en AWS
Versiones de producto
PostgreSQL 9.0
Arquitectura
Pila de tecnología de origen
Una tabla particionada en Oracle
Pila de tecnología de destino
Una tabla particionada en PostgreSQL (en EC2 Amazon, Amazon RDS for PostgreSQL o Aurora PostgreSQL)
Arquitectura de destino

Herramientas
AWS Database Migration Service (AWS DMS) le permite migrar los almacenes de datos a la nube de AWS o entre combinaciones de configuraciones en la nube y en las instalaciones.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree las tablas en PostgreSQL. | Cree las tablas principales y secundarias correspondientes en PostgreSQL con las condiciones de comprobación necesarias para las particiones. | Administrador de base de datos |
Cree la tarea AWS DMS para cada partición. | Incluya el estado del filtro de la partición en la tarea de AWS DMS. Asigne las particiones a las tablas secundarias de PostgreSQL correspondientes. | Administrador de base de datos |
Ejecute las tareas de AWS DMS con captura de datos de cambio y carga completa (CDC). | Además, compruebe que el parámetro | Administrador de base de datos |
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. | Administrador de base de datos |
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. | Administrador de base de datos |
Recursos relacionados
Información adicional
Aunque la versión 10 de PostgreSQL admite la partición nativa, puede decidir usar 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 de AWS DMS. Para mejorar el rendimiento y el control de la replicación, ejecute las tareas en instancias de replicación independientes.