Upload
salvador-ramos
View
15.811
Download
6
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
Agenda
• Familiarizándonos con Integration Services
• Seamos productivos y eficaces integrando datos
¿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
¿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
Integrando datos mediante Código
Warehouse
Reports
Mobile data
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
Carga mediante código
Warehouse 1
XML
.txt
Carga mediante SSIS
Escalabilidad
MSDB
Configuracion
AdventureWorks
Pruebas
Relacional
SSISAdventureWorks
Origen
OLTP
MSDB
Configuración
SSIS
Pruebas
Destino
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
Un primer vistazo al entorno
DEMO
Transacciones
DEMO
Control Flow & Data Flow
Control Flow
Data Flow
© 2009 Solid Quality Mentors
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
Control Flow Tasks
Data Flow Tasks
Importando todos los Excel
de una carpeta
DEMO
Analizando los datos
(Data Profiling)
DEMO
Poblaciones correctas
(Fuzzy Lookup)
DEMO
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
Modelo en Estrella
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
Estrategia de Configuración
Configuración
Paquete DTSXArchivo
.dtsconfigSQL Server
Logging
• SSIS logging providers
• Text files
• SQL Server Profiler
• SQL Server
• Windows Event Log
• XML files
Logging (eventos)
Configuración y Logging
DEMO
Relanzando paquetes
DEMO
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
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
SSIS – Uso eficiente
SSIS – Uso eficiente
¿Qué nos aporta SSIS?
•Productividad
¿Qué nos aporta SSIS?
• Facilita el mantenimiento
¿Qué nos aporta SSIS?
• Logging (registro de actividad)
¿Qué nos aporta SSIS?
•Diseñamos desde Visual Studio
¿Qué nos aporta SSIS?
•Rendimiento (datos en memoria)
¿Qué nos aporta SSIS?
•Podemos ver los datos mientras fluyen
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)
Integración de Datos -> Herramientas ETL
Sígueme en
http://SQLServerSi.com
•http://helpdna.net
•http://CursoSQLServer.com
•http://youtube.com/sqlserversi
•http://blogs.solidq.com/BICorner
Estamos en contacto
•https://mvp.support.microsoft.com/profile/salvador
•http://twitter.com/salvador_ramos
•http://www.linkedin.com/in/SalvadorRamos
•https://www.xing.com/profile/Salvador_Ramos
•http://facebook.com/SQLServerSi