KafkaDB es una herramienta para migrar datos entre instalaciones de OpenERP. Se basa en Kettle para realizar las transformaciones de datos. Explica cómo funciona KafkaDB mediante aplicaciones Python y Java, archivos de configuración y transformaciones. También describe el proceso para migrar un módulo completo como Producto entre bases de datos.
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
Kafkadb
1. KafkaDB
NaN·tic
` `
Angel Alvarez Serra
31 de Mayo de 2012
` `
Angel Alvarez Serra — KafkaDB 1/16
2. ´
Indice
Introducci´n
o
Objetivos
B´squeda y Desarrollo.
u
Como Funciona
Instalaci´n y Puesta en Marcha
o
Como Migrar un M´dulo.
o
Estado y P´gina del proyecto.
a
Preguntas y Contacto.
` `
Angel Alvarez Serra — KafkaDB 2/16
3. Introducci´n
o
La idea de KafkaDB Nace en el momento que OpenERP SA
anunci´ que las herramientas de migraci´n no formar´ parte
o o ıan
del software libre y p´blico.
u
Herramienta para la migraci´n de datos.
o
Basada en Kettle
Adaptaci´n Para OpenERP.
o
` `
Angel Alvarez Serra — KafkaDB 3/16
4. Objetivos
Modular y re-utilizable
Rapidez
Vers´til
a
F´cil de utilizar y Compartir.
a
` `
Angel Alvarez Serra — KafkaDB 4/16
5. B´squeda y Desarrollo
u
C´mo nace KafkaDB.
o
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
6. Como Funciona (Introducci´n)
o
KafkaDB Se basa en 2 peque˜as aplicaciones y los ficheros de
n
configuraci´n
o
kafkadb.py
Ayuda a la generaci´n de ficheros de configuraci´n
o o
Ejecuta el proceso de migraci´n.
o
kafkadb.jar
Lee los ficheros de configuraci´n.
o
Crea las transformaciones de volcado.
Las ejecuta teniendo en cuenta las dependencias.
Fichero de configuraci´n y Transformadas
o
` `
Angel Alvarez Serra — KafkaDB 6/16
8. Como Funciona: (Kafkadb.py)
Aplicaci´n de l´
o ıneas de comando que:
Facilita la generaci´n de ficheros de configuraci´n
o o
Consulta de a que m´dulos pertenece una tabla o campo
o
Ejecuta el proceso de migraci´n.
o
` `
Angel Alvarez Serra — KafkaDB 8/16
9. Como Funciona: Configuraci´n (1)
o
{
”res request”: {
” comment ” : ”CHECK 2012−04−21” ,
” on ” : ” b o t h ” ,
” target ” : [
” state ” ,
”priority”
],
” migrate ” : true ,
” source ” : [
”priority” ,
” state ”
],
” depends ” : f a l s e ,
” transformation ” : null ,
” delete ” : true
},
}
` `
Angel Alvarez Serra — KafkaDB 9/16
10. Como Funciona: Configuraci´n (2)
o
”res partner address”: {
” comment ” : ”CHECK 2012−04−21” ,
” on ” : ” b o t h ” ,
” target ” : [
” color ” ,
” company id ” ,
”title”,
” function ” ,
” type ”
],
” migrate ” : true ,
” source ” : [
” function ” ,
”title”,
” type ”
],
” 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 ” ] ,
” transformation ” : [
” model−k t r / v6 . 1 / b a s e / r e s p a r t n e r a d d r e s s . k t r ”
],
” delete ” : true
},
` `
Angel Alvarez Serra — KafkaDB 10/16
11. Instalaci´n y Configuraci´n
o o
El proyecto est´ alojado en Bitbucket, simplemente
a
descargarse el repositorio.
P´gina del proyecto:https://bitbucket.org/angelnan/kafkadb/
a
Ficheros a configurar:
config.py Base de datos (origen y destino) , directorio de
transfomaciones ...
.kettle/kettle.properties Variables de entorno de las
transformaciones
.kettle/shared.xml Configuraci´n de la base de datos de
o
las transformaciones
` `
Angel Alvarez Serra — KafkaDB 11/16
12. Migrar M´dulo: Producto
o
Migrar m´dulo producto, paso a paso.
o
Generar el fichero de migraci´n para el m´dulo Producto.
o o
./kafkadb.py –migrate-module=product
Creamos un directorio para el nuevo m´dulo.
o
Movemos el fichero de configuraci´n al directorio.
o
Seleccionar las tablas que queremos migrar.
Hacemos las transformaciones necesarias.
` `
Angel Alvarez Serra — KafkaDB 12/16
13. Migrar M´dulo: Producto
o
Migrar m´dulo producto, paso a paso.
o
product pricelist
product pricelist
` `
Angel Alvarez Serra — KafkaDB 13/16
14. Migrar M´dulo: Producto
o
Migrar m´dulo producto, paso a paso.
o
Generar el fichero de migraci´n.
o
./kafkadb.py –make-config=migration.json
Ejecutar la migraci´n
o
./kafkadb.py –migrate=migration.json
` `
Angel Alvarez Serra — KafkaDB 14/16
15. KafkaDB: Hoja de Ruta
Hacer parametrizable las diferentes opciones como base
datos, directorios.. para facilitar la utilizaci´n del
o
framework.
Tener solo un fichero de configuraci´n o
Migrar los m´dulos restantes.
o
A˜adir en los ficheros de configuraci´n la posibilidad de
n o
renombrar campos y a˜adir constantes.
n
` `
Angel Alvarez Serra — KafkaDB 15/16
16. Preguntas y cr´
ıticas
¡Muchas gracias por vuestra atenci´n!
o
NaN·tic
` `
Angel Alvarez i Serra
angel@nan-tic.com
@aasnan
Esta obra est´ sujeta a la licencia Creative Commons
a
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