Sunteți pe pagina 1din 8

VALIDACIÓN DE TÉCNICAS DE MIGRACIÓN Y HERRAMIENTAS ETCL

CENTRO DE OPERACIÓN Y MANTENIMIENTO MINERO


CESAR,VALLEDUPAR

JONATAN ALEXANDER GARCIA SEPULVEDA


FICHA 1881804

EDWIN MAURICIO ORTIZ LOPEZ


ROGER STEVENS HERNANDEZ ARIZA
INSTRUCTORES

SENA
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
IDENTIFICA LOS REQUERIMIENTOS PARA LA UTILIZACIÓN DE CADA TÉCNICA

Sincronización de base de datos: Se realizan dos bases de datos que sena equivalentes y consiste
en copiar los datos y metadatos de una base de origen a una base de destino mediante una
herramienta tecnológica, aquí se paramétriza ubicaciones particiones y métodos de seguridad.

Importación/Exportación de Archivos (CSV) o XML a través de comandos de consola o interfaz


gráfica: En este caso pueden ser utilizados en archivos de diferente tipo pero comúnmente se
utilizan archivos de texto o llamados archivos planos y los sistemas de codificación mas usados son:
ASCII, ISO-8859-1 o Latín-1 y Unicode.

Los archivos de texto pueden tener formato delimitado utilizando coma(,), punto y coma (;) o
Tabulaciones para delimitar los campos definiendo de esa forma columnas y filas. También pueden
tener formato de ancho fijo para los campos, que se utiliza para delimitar columnas y filas.

Un formato de archivo plano muy usado es el “.CSV” (Comma-SeparatedValues, en español Valores


Separados por Coma), donde el delimitador usado es una coma. Muy usado para movimientos de
datos con hojas de cálculo. Otro formato útil para la migración de datos es el “.XML” (eXtensible
Marckup Language), que utiliza un metalenguaje extensible de etiquetas las cuales sirven como
estándar para intercambio de información estructurada entre distintas plataformas.

Sentencias DML: Es básicamente la migración por medio de scripts y se pueden realizar las
siguientes tareas

 Copia para usuarios inicio de sesión y permisos


 Creación o actualización de código
 Entorno de pruebas

Procedimientos ETCL (Extracción, Transformación, Limpieza y Carga): Esta técnica se basa en el


diseño y construcción de procedimientos técnicos para realizar Extracción, Transformación,
Limpieza y Cargue de Datos (ETCL).
EXPONE LAS VENTAJAS DE LA UTILIZACIÓN DE LAS TÉCNICAS O HERRAMIENTAS.

Estas técnicas son de vital importancia ya que todas las organizaciones pasan por periodos de
cambio ya sea por temas de ampliación o por automatización, esto apoya considerablemente estos
procesos ya que definen las formas de aplicar las migraciones causando el menor impacto y
mitigando los errores a la hora de trasladar la información, aunque las técnicas están divididas es
importante tener en cuenta que en la aplicación se pueden utilizar varias para completar el proceso
con éxito por ejemplo: realizas un proceso de importación y exportación pero debes realizar un
procedimiento para verificar los posibles errores y dimensionar la migración, además la
documentación en todo proceso es importante por ende la combinación es un punto a favor para
cualquier implementación.

EXPONE LAS DESVENTAJAS DE LA UTILIZACIÓN DE LAS TÉCNICAS O HERRAMIENTAS.

Sincronización de base de datos: Si las bases de datos no son equivalentes se pueden crear
problemas ya que las rutas no se copiarían completas o podría generar problemas con la
sincronización. Sincronización de base de datos:

Importación/Exportación de Archivos (CSV) o XML a través de comandos de consola o interfaz


gráfica y Sentencias DML: Se deben tener conocimientos en los lenguajes que están implementados
y a los cuales se van a migrar ya que los delimitadores y los scripts deben estar muy bien definidos
porque un pequeño fallo y la cadena no se copiara completamente.

Procedimientos ETCL (Extracción, Transformación, Limpieza y Carga): Si no se conoce bien los


procesos pueden ocurrir reprocesos a la Hora de la implementación.

IDENTIFICA LOS TIEMPOS Y FACILIDAD DE USO DE CADA TÉCNICA

Identifica los tiempos y facilidad de uso de cada técnica: En este caso se utilizaría el método big
bang aunque según el entorno se puede aplicar las diferentes estrategias esta se adecua a la mayoría
ya que por cuestiones de que este se tiene que sincronizar con el otro y el software debe estar
corriendo es lo más recomendado para la migración y mantener la disponibilidad del servicio.

Importación/Exportación de Archivos (CSV) o XML a través de comandos de consola o interfaz


gráfica y Sentencias DML: En estas técnicas se recomienda también el método big bang aunque no
se puede descartar una migración incremental ya que estos puede conectarse a medida que se
vayan subiendo los servicios, adicional debemos aclarar que en este caso puede ser mucho mas
tardado ya que la ejecución de los scripts y las pruebas deben ser mucho mas precisas porque un
pequeño error en sentencia puede ocasionar problemas generales.

Procedimientos ETCL (Extracción, Transformación, Limpieza y Carga): En este caso ya que hay un
procedimiento establecido aplicaría para entornos más robustos en los cuales se debe realizar un
análisis más exhaustivo donde se contemplen todas las posibilidades por ende se utilizaría el
método migración con cero tiempos de inactividad.
DOCUMENTA AL MENOS TRES (3) HERRAMIENTAS ETCL.

FLYWAY: Herramienta para la migración de bases de datos multiplataforma que se basa en siete
comandos básicos: Migrar, Limpiar, Información, Validar, Deshacer, Línea base y Reparar. Las
migraciones se pueden escribir en SQL ( se admite la sintaxis específica de la base de datos, como PL
/ SQL , T-SQL , etc.) o Java (para transformaciones de datos avanzadas o para tratar con LOB), este
trae versiones free y de pago.

BASES DE DATOS SOPORTADAS: Oracle SQL Server SQL Azure DB2 MySQL MariaDB Google Cloud
PostgreSQL Redshift Otras…

HERRAMIENTAS DE JAVA CON LAS QUE INTERACTUA: Maven, Gradle, Ant

COMANDOS BÁSICOS: Migrate, Clean, Info, Validate, Baseline, Repair

LIQUIBASE: Es una solución de código abierto independiente de la base de datos para rastrear,
administrar, aplicar e implementar cambios en el esquema de la base de datos.

La integración de Liquibase en su sistema general de administración de versiones de código y los


esfuerzos de CI / CD pueden sincronizar las versiones de su base de datos con las versiones de su
aplicación para ciclos de lanzamiento de software más rápidos y de mayor calidad.
COMO FUNCIONA?

Liquibase usa scripts (llamados conjuntos de cambios) para administrar los cambios en la base de
datos. Estos conjuntos de cambios se pueden almacenar en varios formatos, incluidos XML, YAML,
JSON y SQL. Un archivo maestro enumera todos los archivos de conjunto de cambios. Liquibase
también rastrea qué conjuntos de cambios ya se han ejecutado.
La emisión de un comando de actualización examina el estado actual de su base de datos e identifica
qué cambios ya se han producido. Luego, ejecuta el resto de los cambios y le ofrece la última revisión
de su estructura definida.

SOPORTA: MySQL, PostgreSQL, Oracle, SQL, Server, Sybase, DB2Apache, Derby, Otras.

HERRAMIENTAS JAVA CON LAS QUE INTERACTÚA: Maven Ant

PHINX: es una herramienta de línea de comandos independiente para administrar migraciones de


bases de datos. El complemento oficial de Migraciones para CakePHP se basa en esta herramienta.

Phinx hace que sea ridículamente fácil administrar las migraciones de la base de datos para su
aplicación PHP. En menos de 5 minutos, puede instalar Phinx usando Composer y crear su primera
migración de base de datos. Phinx se trata solo de migraciones sin toda la hinchazón de un sistema
ORM de base de datos o marco de aplicación.

HERRAMIENTA HECHA EN PHP, BASES DE DATOS SOPORTADAS: MySQL, PostgreSQL, SQLite, SQL
Server
Varios comandos basados en lo que se quiera hacer.

NOMBRE SOFTWARE VERSION LINEA DE COMANDOS


FLYWAY 6.0.6 (2019-10-09) SI
LIQUIBASE 3.8.0 (16-08-2019) SI

PHINX V0.10.8 SI

ESTABLECE CARACTERISTICAS QUE NO POSEE LA HERRAMIENTA

PHINX: Es la herramienta mas básica ya que solo trabaja con pocos motores y adicional le falta
interacción con herramientas de JAVA

LIQUIBASE: Le falta interacción con bases de datos masivas como lo son SQL Azure y google cloud

PRESENTA INFORMACIÓN SOBRE REQUERIMIENTOS TÉCNICOS PARA UTILIZAR LA


HERRAMIENTA

Estos software no tienen definidas unas características ya que por lo general como son instalados
en máquinas que manejan bases de datos están son robustas por lo que normalmente no se tiene
problema con su instalación, es de anotar que estos exigen sistemas operativos actuales para correr
óptimamente ya que sus actualizaciones se van adecuando a las nuevas tecnología y por ende las
antiguas van quedando obsoletas
PRESENTA INFORMACIÓN SOBRE AUTOMATIZACIÓN DE TAREAS EN LA HERRAMIENTA

LIQUIBASE permite la generación automática de todos los changelogs necesarios basándose en una
base de datos ya existente. Para ello, debes descargar los ejecutables (línea de comandos) y
lanzarlos mediante el siguiente comando:

liquibase --driver=oracle.jdbc.OracleDriver \
--classpath=\path\to\classes:jdbcdriver.jar \
--changeLogFile=com/example/db.changelog.xml \
--url="jdbc:oracle:thin:@localhost:1521:XE" \
--username=scott \
--password=tiger \
generateChangeLog

Una vez haya finalizado el proceso, deberás haber generado en la ruta indicada todos los
ficheros changelogs asociados al modelo completo de tu base de datos: tablas, indices, claves
ajenas, etc.

FLYWAY
Una vez hecho esto, configure Flyway editando /conf/flyway.conf así:

flyway.url=jdbc:h2:file:./foobardb
flyway.user=SA
flyway.password=

PRIMERA MIGRACION

Ahora cree una primera migración en el /sqldirectorio llamado V1__Create_person_table.sql:

create table PERSON (


ID int not null,
NAME varchar(100) not null
);

MIGRACION DE LA BASE DE DATOS


Ahora es el momento de ejecutar Flyway para migrar su base de datos:

flyway-6.0.6> flyway migrate

Si todo salió bien, debería ver el siguiente resultado:


Database: jdbc:h2:file:./foobardb (H2 1.4)

Successfully validated 1 migration (execution time 00:00.008s)

Creating Schema History table: "PUBLIC"."flyway_schema_history"

Current version of schema "PUBLIC": << Empty Schema >>

Migrating schema "PUBLIC" to version 1 - Create person table

Successfully applied 1 migration to schema "PUBLIC" (execution time 00:00.033s)

SEGUNDA MIGRACION
Si ahora agrega una segunda migración al /sql directorio llamado V2__Add_people.sql:

insert into PERSON (ID, NAME) values (1, 'Axel');


insert into PERSON (ID, NAME) values (2, 'Mr. Foo');
insert into PERSON (ID, NAME) values (3, 'Ms. Bar');

y ejecutarlo emitiendo:

flyway-6.0.6> flyway migrate

Ahora obtienes:

Database: jdbc:h2:file:./foobardb (H2 1.4)

Successfully validated 2 migrations (execution time 00:00.018s)

Current version of schema "PUBLIC": 1

Migrating schema "PUBLIC" to version 2 - Add people

Successfully applied 1 migration to schema "PUBLIC" (execution time 00:00.016s)


PHINX GENERANDO UN ARCHIVO DE MIGRACIÓN ESQUELETO

Comencemos creando una nueva migración de Phinx. Ejecute Phinx con el create comando

$ vendor/bin/phinx create MyNewMigration

Esto creará una nueva migración en el formato YYYYMMDDHHMMSS_my_new_migration.php , donde los


primeros 14 caracteres se reemplazan con la marca de tiempo actual hasta el segundo.

Si ha especificado varias rutas de migración, se le pedirá que seleccione en qué ruta crear la nueva
migración.

Phinx crea automáticamente un archivo de migración de esqueleto con un solo método:

<?php

use Phinx\Migration\AbstractMigration;

class MyNewMigration extends AbstractMigration


{
/**
* Change Method.
*
* Write your reversible migrations using this method.
*
* More information on writing migrations is available here:
* http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
*
* The following commands can be used in this method and Phinx will
* automatically reverse them when rolling back:
*
* createTable
* renameTable
* addColumn
* renameColumn
* addIndex
* addForeignKey
*
*/
public function change()
{

}
}
Todas las migraciones de Phinx se extienden desde la AbstractMigrationclase. Esta clase
proporciona el soporte necesario para crear sus migraciones de bases de datos. Las migraciones de
bases de datos pueden transformar su base de datos de muchas maneras, como crear nuevas tablas,
insertar filas, agregar índices y modificar columnas.

S-ar putea să vă placă și