Kafkadb

Post on 23-Jan-2015

3.840 views 0 download

description

Presentación de KafkaDB una herramienta para la migración de datos basada en Kettle. Herramienta desarrollada por NaN·tic y presentada en las V jornadas de OpenERP en Donostia 2012.

Transcript of Kafkadb

KafkaDBNaN·tic

Angel Alvarez Serra

31 de Mayo de 2012

Angel Alvarez Serra — KafkaDB 1/16

Indice

Introduccion

Objetivos

Busqueda y Desarrollo.

Como Funciona

Instalacion y Puesta en Marcha

Como Migrar un Modulo.

Estado y Pagina del proyecto.

Preguntas y Contacto.

Angel Alvarez Serra — KafkaDB 2/16

Introduccion

La idea de KafkaDB Nace en el momento que OpenERP SAanuncio que las herramientas de migracion no formarıan partedel software libre y publico.

Herramienta para la migracion de datos.

Basada en Kettle

Adaptacion Para OpenERP.

Angel Alvarez Serra — KafkaDB 3/16

Objetivos

Modular y re-utilizable

Rapidez

Versatil

Facil de utilizar y Compartir.

Angel Alvarez Serra — KafkaDB 4/16

Busqueda y Desarrollo

Como nace KafkaDB.

Prueba de Concepto.Python y openetl ETL creado por OpenERP SA)https://launchpad.net/openetl

Segundo Intento. Brewery.

Tercer Intento.Buscar Opciones etl JAVA y XML como Scriptella.

Cuarto y Ultimo Intento. Kettle.

Angel Alvarez Serra — KafkaDB 5/16

Como Funciona (Introduccion)

KafkaDB Se basa en 2 pequenas aplicaciones y los ficheros deconfiguracion

kafkadb.py

Ayuda a la generacion de ficheros de configuracionEjecuta el proceso de migracion.

kafkadb.jar

Lee los ficheros de configuracion.Crea las transformaciones de volcado.Las ejecuta teniendo en cuenta las dependencias.

Fichero de configuracion y Transformadas

Angel Alvarez Serra — KafkaDB 6/16

Como Funciona (Introduccion 2)

Transformada Inicial(Abstract)

Herencia.

Deferred Contraints(Postgresql 9.1)

Angel Alvarez Serra — KafkaDB 7/16

Como Funciona: (Kafkadb.py)

Aplicacion de lıneas de comando que:

Facilita la generacion de ficheros de configuracion

Consulta de a que modulos pertenece una tabla o campo

Ejecuta el proceso de migracion.

Angel Alvarez Serra — KafkaDB 8/16

Como Funciona: Configuracion (1)

{” r e s r e q u e s t ” : {

” comment” : ”CHECK 2012−04−21” ,”on” : ” both ” ,” t a r g e t ” : [

” s t a t e ” ,” p r i o r i t y ”

] ,” m i g r a t e ” : t r u e ,” s o u r c e ” : [

” p r i o r i t y ” ,” s t a t e ”

] ,” depends ” : f a l s e ,” t r a n s f o r m a t i o n ” : n u l l ,” d e l e t e ” : t r u e

} ,}

Angel Alvarez Serra — KafkaDB 9/16

Como Funciona: Configuracion (2)

” r e s p a r t n e r a d d r e s s ” : {” comment” : ”CHECK 2012−04−21” ,”on” : ” both ” ,” t a r g e t ” : [

” c o l o r ” ,” company id ” ,” t i t l e ” ,” f u n c t i o n ” ,” t y p e ”

] ,” m i g r a t e ” : t r u e ,” s o u r c e ” : [

” f u n c t i o n ” ,” t i t l e ” ,” t y p e ”

] ,” depends ” : [ ” r e s p a r t n e r t i t l e ” , ” r e s c o u n t r y ” , ” r e s c o u n t r y s t a t e ” ] ,” t r a n s f o r m a t i o n ” : [

” model−k t r / v6 . 1 / base / r e s p a r t n e r a d d r e s s . k t r ”] ,” d e l e t e ” : t r u e

} ,

Angel Alvarez Serra — KafkaDB 10/16

Instalacion y Configuracion

El proyecto esta alojado en Bitbucket, simplementedescargarse el repositorio.Pagina del proyecto:https://bitbucket.org/angelnan/kafkadb/Ficheros a configurar:

config.py Base de datos (origen y destino) , directorio detransfomaciones ...

.kettle/kettle.properties Variables de entorno de lastransformaciones

.kettle/shared.xml Configuracion de la base de datos delas transformaciones

Angel Alvarez Serra — KafkaDB 11/16

Migrar Modulo: Producto

Migrar modulo producto, paso a paso.

Generar el fichero de migracion para el modulo Producto.

./kafkadb.py –migrate-module=product

Creamos un directorio para el nuevo modulo.

Movemos el fichero de configuracion al directorio.

Seleccionar las tablas que queremos migrar.

Hacemos las transformaciones necesarias.

Angel Alvarez Serra — KafkaDB 12/16

Migrar Modulo: Producto

Migrar modulo producto, paso a paso.

product pricelist

product pricelist

Angel Alvarez Serra — KafkaDB 13/16

Migrar Modulo: Producto

Migrar modulo producto, paso a paso.

Generar el fichero de migracion.

./kafkadb.py –make-config=migration.json

Ejecutar la migracion

./kafkadb.py –migrate=migration.json

Angel Alvarez Serra — KafkaDB 14/16

KafkaDB: Hoja de Ruta

Hacer parametrizable las diferentes opciones como basedatos, directorios.. para facilitar la utilizacion delframework.

Tener solo un fichero de configuracion

Migrar los modulos restantes.

Anadir en los ficheros de configuracion la posibilidad derenombrar campos y anadir constantes.

Angel Alvarez Serra — KafkaDB 15/16

Preguntas y crıticas

¡Muchas gracias por vuestra atencion!

NaN·tic

Angel Alvarez i Serraangel@nan-tic.com

@aasnan

Esta obra esta sujeta a la licencia Creative Commons

Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported License.

Para ver una copia de esta licencia, visite creativecommons.org/licenses/by-nc-nd/3.0/

o envie una carta a Creative Commons, 444 Castro Street, Suite 900, Mountain View,

California, 94041, USA.

Angel Alvarez Serra — KafkaDB 16/16