Kafkadb
description
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 [email protected]
@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