Data

“Data is a precious thing and will last longer than the systems themselves.” -- Tim Berners Lee

Conceptos

Tipos de Bases de Datos

Bases de Datos Relacionales

Bases de Datos Analíticas

Bases de Datos de Llave Valor

Bases de Datos de Familias de Columnas

Bases de Datos basadas en Grafos

Bases de Datos Documentales

Tipos de Migraciones

  • Storage Migration
  • Database Migration
  • Application Migration
  • Buisness Management Migration
  • Schema Migration
  • Data Migration

Bases de Datos en Proyectos de Software

Bases de Datos Evolutivas

Prácticas

  • DevDba
  • Artefactos de Base de Datos versionados junto al código de la aplicación
  • Todos los cambios en la Base de Datos son migraciones
  • Cada uno tiene su instancia de Base de Datos
  • Los desarrolladores integran de forma contínua los cambios a la base de datos

Herramientas

Por línea de Comandos

Usando Librerías y Frameworks

Migration Frameworks: Play

Migration Frameworks: Play

Migration Frameworks: Mongeez

Migration Frameworks: Active Record

Commercial Data Migration Tools

Práctica Flyway

  1. Instalar Flyway
  2. Instalar SqlLite3
  3. Crear Base de Datos
  4. 
    $ sqlite3 banana_corp.sqlite
                        
  5. Ejecutar Migración
  6. 
    $ flyway migrate
                        

Práctica Liquibase

  1. Instalar Liquibase
  2. Instalar SqlLite3
  3. Crear Base de Datos
  4. 
    $ sqlite3 banana_corp.sqlite
                        
  5. Ejecutar Migración
  6. 
    $ liquibase --driver=org.sqlite.JDBC --changeLogFile=db.changelog-master.xml --url="jdbc:sqlite:./banana_corp.sqlite" --classpath="drivers/sqlite-jdbc-3.20.1.jar" migrate
                        

Referencias

  1. Martin Fowler
  2. Flyway: Technology Radar