42
SSIS: Integrando datos entre diferentes sistemas Salvador Ramos [email protected]

Aprende a usar Sql server integration services 2008 ssis - second nug

Embed Size (px)

DESCRIPTION

El objetivo es familiarizar a los desarrolladores de aplicaciones con SQL Server Integration Services, que es una herramienta óptima para hacer tareas de integración de datos (importaciones, exportaciones, transformaciones, cálculos, etc.). Siempre que tengas datos de un origen y que quieras llevarlos a un destino diferente, SSIS es tu herramienta (importar de Excel a base de datos, de base de datos a csv, etc.). Se expone la forma apropiada de uso de esta herramienta, y la gran ventaja que tiene sobre escribir tu propio código para hacer estas tareas.

Citation preview

Page 1: Aprende a usar Sql server integration services 2008 ssis - second nug

SSIS: Integrando datos

entre diferentes sistemas

Salvador Ramos

[email protected]

Page 2: Aprende a usar Sql server integration services 2008 ssis - second nug

Agenda

• Familiarizándonos con Integration Services

• Seamos productivos y eficaces integrando datos

Page 3: Aprende a usar Sql server integration services 2008 ssis - second nug

¿Qué es SSIS?

•Una plataforma para ETL empresarial

• Permite integración entre bases de datos y ficheros

• Alto rentimiento

• Workflows

• Limpieza y depuración de datos

• Text mining y Data mining

Page 4: Aprende a usar Sql server integration services 2008 ssis - second nug

¿Qué podemos hacer con SSIS?

• Importar/Exportar libros Excel, archivos de texto, CSV.

Enviarlos por mail

• Integrar los pedidos de nuestra web con el ERP

• Exportar las facturas de clientes a la extranet

•Detectar cuando un cliente del CRM que está como

cliente potencial, hace la primera compra, reflejada

en el ERP y cambiar su estado a cliente nuevo

•Cualquier tarea en la que deban fluir datos entre un

origen y un destino, en diversos formatos, con sus

correspondientes transformaciones

Page 5: Aprende a usar Sql server integration services 2008 ssis - second nug

Integrando datos mediante Código

Warehouse

Reports

Mobile data

Page 6: Aprende a usar Sql server integration services 2008 ssis - second nug

Integrando datos mediante SSIS

SQL Server Integration Services

Text mining components

Custom source

Standard sources

Data cleansing components

Merges

Data mining components

Warehouse

Reports

Mobile data

Page 7: Aprende a usar Sql server integration services 2008 ssis - second nug

Carga mediante código

Warehouse 1

XML

.txt

Page 8: Aprende a usar Sql server integration services 2008 ssis - second nug

Carga mediante SSIS

Page 9: Aprende a usar Sql server integration services 2008 ssis - second nug

Escalabilidad

MSDB

Configuracion

AdventureWorks

Pruebas

Relacional

SSISAdventureWorks

Origen

OLTP

MSDB

Configuración

SSIS

Pruebas

Destino

Page 10: Aprende a usar Sql server integration services 2008 ssis - second nug

BIDS

Parent Solution

Folder

PRJ

PRJ

.PRJ

Project Subfolders

Project XML File

Data Source XML File

Data Source View XML File

SLN

.DS

.DSV

.DTSX SSIS Package XML File

Page 11: Aprende a usar Sql server integration services 2008 ssis - second nug

Un primer vistazo al entorno

DEMO

Page 12: Aprende a usar Sql server integration services 2008 ssis - second nug

Transacciones

DEMO

Page 13: Aprende a usar Sql server integration services 2008 ssis - second nug

Control Flow & Data Flow

Control Flow

Data Flow

© 2009 Solid Quality Mentors

Page 14: Aprende a usar Sql server integration services 2008 ssis - second nug

Control Flow & Data Flow

•Control Flow elements

• Containers

• Tasks

• Precedence constraints

•Data Flow elements

• Source and destination adapters

• Transformations

• Paths

Data Flow Task

SendMail Task

Success

Completion

Failure Success &

expression

Lookup GeoKey

Merge Join

Ok Error

Page 15: Aprende a usar Sql server integration services 2008 ssis - second nug

Control Flow Tasks

Page 16: Aprende a usar Sql server integration services 2008 ssis - second nug

Data Flow Tasks

Page 17: Aprende a usar Sql server integration services 2008 ssis - second nug

Importando todos los Excel

de una carpeta

DEMO

Page 18: Aprende a usar Sql server integration services 2008 ssis - second nug

Analizando los datos

(Data Profiling)

DEMO

Page 19: Aprende a usar Sql server integration services 2008 ssis - second nug

Poblaciones correctas

(Fuzzy Lookup)

DEMO

Page 20: Aprende a usar Sql server integration services 2008 ssis - second nug

BI - Herramientas y Componentes

E.T.L.

(SSIS)

data

Warehouse

*relacional*

Informes de usuario

Informes analíticos

(SSRS)

Excel

Sharepoint

BI Portal,

Performance Point 2007

Proclarity

Otros…

cubos

(SSAS)

OLAP

Otros CRM

ERP

Page 21: Aprende a usar Sql server integration services 2008 ssis - second nug

Modelo en Estrella

Page 22: Aprende a usar Sql server integration services 2008 ssis - second nug

SSIS Package

Connection 1 = XYZ

Variable 1 = XYZ

SSIS Package

Connection 1 = XYZ

Variable 1 = XYZ

Configurando diferentes entornos

•Configuraciones externas

• Evitan editar el paquete ante cualquier cambio en el origen o destino

• Permiten cambiar el valor de las variables

Configuration

SSIS Package

Connection 1 = ABC

Variable 1 = ABC

• Connection 1 = ABC

• Variable 1 = ABC

Page 23: Aprende a usar Sql server integration services 2008 ssis - second nug

Estrategia de Configuración

Configuración

Paquete DTSXArchivo

.dtsconfigSQL Server

Page 24: Aprende a usar Sql server integration services 2008 ssis - second nug

Logging

• SSIS logging providers

• Text files

• SQL Server Profiler

• SQL Server

• Windows Event Log

• XML files

Page 25: Aprende a usar Sql server integration services 2008 ssis - second nug

Logging (eventos)

Page 26: Aprende a usar Sql server integration services 2008 ssis - second nug

Configuración y Logging

DEMO

Page 27: Aprende a usar Sql server integration services 2008 ssis - second nug

Relanzando paquetes

DEMO

Page 28: Aprende a usar Sql server integration services 2008 ssis - second nug

Optimizando buffers

• Streaming

• Reutiliza el Buffer

• Ejemplos: Data Convert, Derived Column, Lookup

•Bloqueo parcial

• Copia los datos a un nuevo buffer

• Ejemplos: Pivot, Un-pivot, Merge, Merge Join, Union All

•Bloqueo

• Necesita todas las filas de entrada antes de continuar

• Copia datos a un nuevo buffer

• Ejemplos: Aggregate, Sort, Row Sampling, Fuzzy Grouping

Page 29: Aprende a usar Sql server integration services 2008 ssis - second nug

SSIS – Uso eficiente

• Todas las transformaciones, limpiezas, cálculos, joins,

etc, se hacen en el Data Flow

•Optimizar lecturas en origen:

• SELECT <Col1>,…,<ColN>

From <Tabla>

Where <Sólo las filas que necesito>

[order by <Col1>,…, <ColN>]

•Optimizar escrituras en destino

Page 30: Aprende a usar Sql server integration services 2008 ssis - second nug

SSIS – Uso eficiente

Page 31: Aprende a usar Sql server integration services 2008 ssis - second nug

SSIS – Uso eficiente

Page 32: Aprende a usar Sql server integration services 2008 ssis - second nug

¿Qué nos aporta SSIS?

•Productividad

Page 33: Aprende a usar Sql server integration services 2008 ssis - second nug

¿Qué nos aporta SSIS?

• Facilita el mantenimiento

Page 34: Aprende a usar Sql server integration services 2008 ssis - second nug

¿Qué nos aporta SSIS?

• Logging (registro de actividad)

Page 35: Aprende a usar Sql server integration services 2008 ssis - second nug

¿Qué nos aporta SSIS?

•Diseñamos desde Visual Studio

Page 36: Aprende a usar Sql server integration services 2008 ssis - second nug

¿Qué nos aporta SSIS?

•Rendimiento (datos en memoria)

Page 37: Aprende a usar Sql server integration services 2008 ssis - second nug

¿Qué nos aporta SSIS?

•Podemos ver los datos mientras fluyen

Page 38: Aprende a usar Sql server integration services 2008 ssis - second nug

Integración de Datos -> Herramientas ETL

•Cuando la única herramienta que posees es un

martillo, tiendes a ver todos tus problemas como si

fueran un clavo. (Abraham Maslow)

Page 39: Aprende a usar Sql server integration services 2008 ssis - second nug

Integración de Datos -> Herramientas ETL

Page 42: Aprende a usar Sql server integration services 2008 ssis - second nug

Preguntas ?

Salvador Ramos

[email protected]