Download Migración Oracle a PostgreSQL

Document related concepts
Transcript
Migración de Oracle a PostgreSQL …
Migración de Oracle a PostgreSQL
…hacia la independencia tecnológica
Prof. José Tomás Cadenas, PhD
[email protected]
Prof. Josué Ramírez, MSc
[email protected]
Departamento de Computación y Tecnología de Información
Universidad Simón Bolívar
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
Agenda
1. Introducción
2. Comparativa Oracle vs PostgreSQL
3. Oportunidades para la migración
4. Dificultades para la migración
5. Estrategias de migración
6. Conclusiones
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
1. Introducción:
Hi. I was promoting PostgreSQL to an AIX/Oracle shop yesterday, they are
looking to switch to open source to cut their licensing costs, and was asked
how large a database does PostgreSQL support? Is there an upper bound on
database size and if so, what it is?
Aleksey Tsalolikhin (17/04/2013)
Well, anything over hundreds of gigabytes is going to require tuning,
and above a terabyte is going to require partitioning. There isn't a
hard limit, but we don't see many serves over tens of terabytes.
Bruce Momjian - EnterpriseDB
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
1. Introducción:
“¿Cuál es la BD más segura?"
“PostgreSQL es posiblemente la BD más consciente de la seguridad disponible…".
David Litchfield et al. (2005)
“The database Hacker's Handbook: Defending Database Servers“
RDBMS examinados:
Oracle, DB2, Informix, Sybase ASE, MySQL y SQL Server
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
1. Introducción:
PostgreSQL es un software de fuente abierta, flexible y con una gran comunidad
de soporte.
Diversas compañías ofrecen soporte comercial.
Algunas organizaciones reconocidas que usan PostgreSQL:
• Yahoo! - versión modificada de PostgreSQL para una base de datos
considerada en 2008 como la más grande en el mundo
• MySpace, Hi5 - Red Social
• Skype – Telefonía, Videoconferencia
• Sony - Plataforma de juegos en línea
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
1. Introducción:
Sitios web importantes que usan alternativas a Oracle
• Google: BigTable sistema propietario (No SQL)
• Facebook: Cassandra, fuente abierta que proviene de BigTable (No SQL)
• Youtube: BigTable (No SQL)
• Yahoo!: PostgreSQL
• Wikipedia: MySQL
• Twitter: MySQL y Cassandra (No SQL)
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
2. Comparativa Oracle vs PostgreSQL
Criterio
Oracle
PostgreSQL
Sistema operativo del Servidor
HP-UX
Linux
OS X
Solaris
Windows
z/OS
AIX
HP-UX
Linux
OS X
Solaris
Windows
JDBC
ODBC
ODP.NET
Oracle Call Interface (OCI)
JDBC
ODBC
APIs y métodos de acceso
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
FreeBSD
NetBSD
OpenBSD
Unix
native C library
streaming API for large objects
ADO.NET
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
2. Comparativa Oracle vs PostgreSQL
Criterio
Oracle
PostgreSQL
Control de Acceso
Brute-force Protection
Enterprise Directory
Compatibility
Native Network Encryption
Password Complexity Rules
Resource Limit
Security Certification
Audit
Brute-force Protection
Enterprise Directory
Compatibility
Native Network Encryption
Password Complexity Rules
Resource Limit
Security Certification
Patch Access
Run Unprivileged
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
2. Comparativa Oracle vs PostgreSQL
Criterio
Oracle
PostgreSQL
Tamaño de una base de
datos
Tamaño de una tabla
Tamaño de una fila
Tamaño de un campo
Número de filas en una
tabla
Número de columnas en
una tabla
Número de índices en una
tabla
Ilimitada (según espacio en
disco)
4 GB
8 KB
4000 bytes
Ilimitada (según espacio
disco)
1000
Ilimitada (según espacio
disco)
32 Terabytes
1,6 Terabytes
1 Gigabyte
Ilimitada (según espacio
disco)
250 - 1600 dependiendo de
los tipos de datos
Ilimitada (según espacio
disco)
Ilimitada (según espacio
disco)
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
3. Oportunidades para la migración
• PostgreSQL no tiene costo de adquisición
 Oracle tiene costo de adquisición, de soporte y cada función
adicional se adquiere a un alto costo
• PostgreSQL ofrece escalabilidad equiparable a Oracle
• PostgreSQL constantemente ofrece nuevas características y
actualizaciones mas rápidamente que Oracle
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
3. Oportunidades para la migración
• PostgreSQL posee buena documentación en línea
• Amplia comunidad de soporte y en caso de ser requerido hay
compañías que ofrecen soporte especializado
• Existen herramientas automáticas de migración de la BD: Ora2pg
(Libre) (http://ora2pg.darold.net/), Kettle, etc.
• PostgreSQL es un sistema maduro desarrollado para satisfacer las
necesidades de organizaciones medianas y de gran tamaño
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
3. Oportunidades para la migración
Algunas experiencias exitosas en Venezuela
• Jeselys Hernández, especialista de Aplicaciones Internas de Movilnet:
 en dos meses lograron migrar de forma exitosa la base de datos que
maneja información de clientes CDMA 1X.
• En el caso del Ministerio del Poder Popular para Transporte y Comunicaciones
(MPPTC):
 migración Oracle a PostgreSQL de la base de datos de Recursos Humanos,
(nómina, pólizas de seguro, beneficios, entre otros servicios).
• En el ámbito académico:
 software SQLfi
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
4. Dificultades para la migración
• Grado de dependencia de licencias con Oracle:
 ¿Sólo DBMS o incluyen paquete de aplicaciones de Oracle?
 Oracle vende a los clientes aplicaciones enteras , no sólo las bases de datos
 Aplicaciones deben ser utilizadas con bases de datos Oracle
• Algunas diferencias de sintaxis entre los lenguajes
procedimentales PL/SQL de Oracle y PL/pgSQL de PostgreSQL
• No todo se puede migrar en forma automática, hay que hacer
reescritura de código
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
5. Estrategia de Migración: Análisis Previo
• Indicadores (> umbral : es una base de datos grande)
 No es lo mismo una base de datos de 1000 registros que una de 1012 registros.
 Esta última tendrá más exigencias en rendimiento. Umbral: 10^9.
 SELECT sum (num_rows) from dba_tables where OWNER = 'SCHEMA_NAME';
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
5. Estrategia de Migración: Análisis Previo
• Indicadores (> umbral : es una base de datos grande)
 Un indicador de la complejidad puede obtenerse del número de atributos de las
tablas.
 Ejemplo: máximo número de columnas en una tabla, el mínimo , la media y la
desviación típica. Umbral: 10.000
SELECT COUNT(ATC.COLUMN_NAME)
FROM ALL_TAB_COLUMNS ATC, ALL_TABLES AT
WHERE ATC.TABLE_NAME = AT.TABLE_NAME
AND AT.OWNER = 'SCHEMA_NAME'
AND ATC.OWNER = 'SCHEMA_NAME';
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
5. Estrategia de Migración: Análisis Previo
• Indicadores (> umbral : es una base de datos grande)
 Número de claves foráneas. Umbral: 500
SELECT AC.CONSTRAINT_TYPE,count(*)
FROM ALL_CONSTRAINTS AC, ALL_TABLES ALT
WHERE AC.TABLE_NAME = ALT.TABLE_NAME
AND ALT.OWNER = 'SCHEMA_NAME'
AND AC.OWNER = 'SCHEMA_NAME' GROUP BY AC.CONSTRAINT_TYPE;
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
5. Estrategia de Migración: Análisis Previo
• Indicadores:
 Hay una serie de objetos en una base de datos Oracle cuya conversión a
PostgreSQL es compleja y, si son demasiados, el esfuerzo de migración
puede ser excesivo
Umbral: 50 elementos de algunos de los tipos de objetos que no tienen
traducción sencilla.
SELECT owner,object_type,count(*)
FROM dba_objects
WHERE owner = 'SCHEMA_NAME'
GROUP BY owner,object_type
ORDER BY 1,2,3;
Tipos de objetos con traducción sencilla son: TABLE, INDEX, SEQUENCE,
VIEW, SYNONYM, TRIGGER.
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
5. Estrategia de Migración: Análisis Previo
• Indicadores:
 Tamaño de la aplicación
– BD pequeña (poco compleja) = da servicio a un aplicación simple
– BD de complejidad media = una aplicación mediana …
– Un caso de uso = en promedio 4 elementos de la base de datos
– Elementos: tablas, índices, disparadores, relaciones ...
– Umbral: +100 casos de uso (400 elementos en la base de datos)
APLICACIÓN GRANDE Y DE COMPLEJIDAD ALTA
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
5. . Estrategia de Migración: Análisis Previo
• Indicadores:
 Otros aspectos a evaluar:
–
–
–
–
–
–
–
Cantidad y tipo de SQL propietario que se use
Calidad de los datos
Existencia de documentación del sistema
Requisitos de diseño: alta disponibilidad y replicación
Software de terceros (dependencias)
Cualificación y experiencia del personal involucrado en la migración
Disponibilidad de un equipo dedicado para el desarrollo de la migración
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
5. Estrategia de Migración: Análisis del Sistema
• Luego de análisis previo y decisión de continuar la migración
 Elaboración de los planes de migración
 Estimar el esfuerzo asociado y planificar las actividades
 Funciones que se utilizan, qué tipo de triggers, qué tipo de elementos de
DML, qué elementos de PL/SQL se usan en los procedimientos almacenados
•
Evaluar aspectos relacionados con
 Arquitectura y soporte de la aplicación origen y con la migración en lugar
de ver la composición de la base de datos
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
5. Estrategia de Migración: Análisis de la Migración
• Identificar cambios específicos para transformar cada elemento
de la base de datos Oracle en un elemento de PostgreSQL que
funcione de la misma manera
• Identificar los cambios a realizar en el código de la aplicación
para que funcione sobre una base de datos PostgreSQL
 Ejemplo: Cambios en aplicaciones desarrolladas en Java ó PHP la
migración Oracle a PostgreSQL no afecte
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
5. Estrategia de Migración: Plan de Formación
• Detección de necesidades formativas
 Identificar las carencias de formación de los actores a cargo
de la migración (equipos de soporte y desarrollo de la
aplicación, usuarios, DBA).
• Oportunidad
 Diplomado de Gestión de Base de Datos con módulo de
migración Oracle a PostgreSQL (USB)
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
5. Estrategia de Migración: Plan de Ejecución
• Plan de Marcha atrás (volver
aplicación/plataforma inicial)
a
dejar
operativa
la
 Respaldos
 Levantar plataforma original y redirigir a los clientes a dicha plataforma
 Ambos sistemas (original y migrado) trabajen simultáneamente
• Mecanismo de escalado y manejo de problemas
 Contingencias ante problemas externos a la migración
(personal de contacto, listas de correos, reuniones de
urgencia)
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
5. Estrategia de Migración: Plan de Implantación
• Actores con sus suplentes y datos de contacto
• Desglose de Tareas de cada paso (implementadores,
probadores,..)
• Duración prevista de cada paso (margen máximo de desviación,…)
• Flujo de los pasos (dependencias entre tareas , posibilidad de
paralelización de las mismas)
• Eventos o responsable que toma la decisión de éxito de la
migración o marcha atrás de la misma
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
5. Estrategia de Migración: Plan de Soporte
• Definir las condiciones de la asistencia a los usuarios del sistema a
migrar, en caso de que éstos se encuentren con problemas tras la
migración
 Planificación de tareas de soporte
 Protocolo de atención de incidencias
Recepción de incidencias para una posterior clasificación
Tratamiento especializado de cada incidencia
Tiempos de respuesta acordes con necesidades de cada
usuario
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
5. Estrategia de Migración: Plan de Comunicación
• Facilitar la asimilación de los cambios que se van a
producir en los puestos de trabajo
Información general del proceso de migración que va
a sufrir la organización
Calendario de migración
Información sobre la asistencia a la migración
(teléfonos de soporte, correos para consultas,
horarios, …)
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
5. Estrategia de Migración: Metodología
Análisis Previo
Análisis del Sistema
Análisis de la Migración
Plan Estratégico de Migración
Soporte
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Formación
Implantación
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
14. Equipo de Trabajo
Responsable Técnico
Responsable de Migración
Responsable de Formación
Responsable de Gestión del Cambio
Responsable de Soporte
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
5. Estrategia de Migración: Análisis de Riesgos
• Incertidumbre: puede o no ocurrir
• Pérdida: si el riesgo se convierte en realidad, ocurrirán
pérdidas indeseables
Estrategia Proactiva:
• Se identifican los riesgos potenciales, se valora su
probabilidad e impacto, y se clasifican según su
importancia
• Establecer un plan para gestionar el riesgo
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
Conclusiones
• Personal organizado para realizar el trabajo de
migración con efectividad
• Comunicación con los otros participantes y usuarios
debe ocurrir de modo que sean comprensibles el
ámbito y los requisitos de la Migración
• Seleccionar una Estrategia adecuada para el
Personal y la Migración
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
Gracias
… por su atención
Prof. José Tomás Cadenas, PhD
[email protected]
Prof. Josué Ramírez, MSc
[email protected]
Departamento de Computación y Tecnología de Información
Universidad Simón Bolívar
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB
Migración de Oracle a PostgreSQL …
Referencias
•
http://db-engines.com/en/system/Oracle%3BPostgreSQL
•
http://www.scriptol.com/software/oracle.php
•
http://database-management.softwareinsider.com/compare/36-43/Oracle-vs-PostgreSQL
•
http://performancelabus.com/oracle-vs-postgresql-which-dbms-should-you-choose/
•
http://www.cenatic.es/ Centro Nacional de Referencia de Aplicación de las Tecnologías de
Información y la Comunicación basadas en Fuentes Abiertas. Proyecto estratégico del
Gobierno de España.
•
http://wiki.cenatic.es/
•
http://wiki.cenatic.es/wikiesp/index.php/Procedimiento_de_An%C3%A1lisis_y_Planificaci%C3%B3
n_de_Migraci%C3%B3n_de_Oracle_10g_R2_a_PostgreSQL_9.1.3
•
http://www.cnti.gob.ve/noticias/actualidad/cnti/579-instituciones-del-estado-se-preparan-paramigrar-sus-bases-de-datos-de-oracle-a-postgresql.html
Unidad Operativa ABDI-USB
Aplicaciones y Bases de Datos Inteligentes
Diplomado en
Gestión de Bases de Datos - USB