Páginas

martes, 22 de noviembre de 2011

Generando datos de pruebas para poblar un DataWarehouse con Visual Studio 2010 Ultimate

Recientemente me he visto en la necesidad de poblar un DW para utilizarlo con fines demostrativos. Evidentemente no podía utilizar los datos de ningún cliente, así que tomé la estructura del DW y poblé sus dimensiones con algunos registros ficticios mediante inserts, en segundo lugar para poblar las tablas de hechos del modelo con un volumen de datos significativo, y sin perder la integridad referencial entre dimensiones y tablas de hechos, he utilizado los proyectos de bases de datos de Visual Studio 2010 Ultimate junto con la característica de plan de generación de datos (Data Generation Plan).
Visual-Studio-2010-Ultimate
Es muy posible que os estéis preguntando para que necesito llenar las tablas de mi DW con datos ficticios que cumplan la integridad referencial o que tengan cierto sentido, hay varias razones, la primera es la que comentaba inicialmente, necesito preparar una demo y no puedo usar datos reales, en otro tipo de escenarios menos comerciales nos podemos encontrar con la necesidad de generar conjuntos de datos para testear un entorno que va a pasar a producción y estudiar el tiempo de aprovisionamiento, también podríamos necesitar un conjunto de datos con una distrubución lo más cercana a la realidad para ver los tiempos de consultas que proporciona el sistema.
Debido lo sencillo que resulta el proceso y la poca información que he encontrado acerca de este tema (un video en Ingles que podéis ver aqui por Richard HundHausen), he creído que será interesante compartir esta información.
En lo concerniente a la integridad referencial, hay dos posibilidades, la primera es eliminar la integridad referencial y cargar la tabla o tablas de hechos y luego volver a configurarla, la otra posibilidad consiste en crear la integridad referencial en el modelo relacional y realizar la carga de datos de prueba poniendo a cero el número de registros a insertar en las dimensiones y especificar no borrar los registros existentes al realizar el aprovisionamiento (Generate Data F5)
Resumen de alto nivel de los pasos a seguir:
  1. Crear modelo relacional e insertar a mano los registros de las dimensiones
  2. En Visual Studio 2010 crear una conexión de base de datos en el apartado de Server explorer.
  3. Crear un nuevo proyecto de tipo bases de datos, si no disponéis de un modelo previo, lo podréis crear en este tipo de proyecto e implementar las tablas y relaciones desde Visual Studio y sincronizarlo a una instancia de SQL Server 2008 R2. La otra opción es consumir el modelo existente en la instancia de relacional y sincronizarlo con nuestro proyecto de base de datos.( Mi ejemplo esta basado en esta modalidad)
  4. Crear una conexión a la instancia de relacional desde Server Explorer
  5. Incorporación de la definición de la bbdd al proyecto de base de datos mediante comparación de esquemas.
  6. Creo un nuevo plan de generación de datos en el proyecto de base de datos y configuro para que tablas se generaran datos y para cada columna de cada tabla como obtengo el conjunto de datos válidos para esa tabla.
  7. Ejecuto la carga de datos y verifico resultados mediante una consulta a la tabla de hechos. 
  El modelo que he utilizado es el del diagrama DW-Esquema, como implementarlo está fuera del alcance de este artículo, pero si quiero compartir el esquema para dar una idea grafica de cómo está implementado, este esquema es muy sencillo y me sirve para ilustrar el artículo.(Modelo ficticio). El modelo está incluido en el proyecto que podéis descargar en el link más abajo, también están los registros a insertar en las dimensiones en ficheros de texto plano que recomiendo insertar con SSIS. Para el caso particular de la dimensión Fecha solo hay que seleccionar las 2 primeras columnas ya que el resto de columnas son calculadas y de seleccionarlas fallaría la inserción.
DW-Esquema
El siguiente paso consiste en crear un proyecto de tipo base de datos en Visual Studio, hacemos clic en File y  New Proyect  y en la plantilla de tipos de proyectos elegimos tipo Database y SQL Server 2008 Database Proyect y le damos un nombre significativo en mi ejemplo lo he llamado MyDWR3.
Proyecto-de-bbdd-sql-server-2008
El siguiente paso consiste en crear una conexión a la instancia de SQL Server 2008 R2 y base de datos MyDWR2  para permitir sincronizaciones (bidireccionales) entre el proyecto de base de datos y la base de datos. En Visual Studio 2010 en el explorador de servidores, (si no esta visible ir al menu view y pulsar sobre Server explorer), pulsamos sobre el botón Connect to database, elegimos  Microsoft SQL Server y continue (siguiente) y rellenamos los datos de la cadena de conexión (Server Name,Select or enter  Database y credenciales) testeamos conexión y ok.
nueva-conexion-a-instancia-de-sql
Una vez que tenemos la conexión creada con la base de datos ya podemos incorporar su definición al proyecto de base de datos, para ejecutar la sincronización debemos situarnos en el explorardor de servidores sobre  la conexión MyDWr3 y comparar esquemas, en la ventana de Compare Schema elegimos en el origen la base de datos y en el destino elegimos el proyecto MyDW. 
Compare-Schema-pic
Cuando se realiza la comparación de esquemas la primera vez Visual Studio detecta que ninguno de los objetos de la base de datos existe y por tanto sugiere la creación de todos los objetos, para ejecutar las sentencias de creacion de objetos sobre el proyecto pulsamos sobre el botón Write Updates, nos sale un popup de confirmación de escritura en Target, pulsamos ok para confirmar.
Creacion-de-objetos-en-el-proyecto
A continuación ya podemos verificar que las tablas de la base de datos se han sincronizado con el proyecto, esta sincronización solo se produce a nivel de esquema, los datos no se tienen en cuenta.
PRoyecto-sincronizado
Continuando procedemos a crear el plan de generación de datos dentro del proyecto, para crear un nuevo plan hacemos clic derecho sobre el nodo Data Generation Plans y elegimos add y Data Generation Plan.
Generacion-de-plan-de-datos
En este caso vamos a suponer que hemos eliminado la integridad referencial(PK y FK) y por tanto tendremos la opción de elegir tablas de forma individual. Seleccionamos la tabla de hechos.Venta, por defecto se configuran 50 filas y generación de dato aleatorios del tipo al que pertenece la columna (Int, float, varchar, etc)
Eleccion-de-tablas
Una vez seleccionada la tabla de hechos podemos configurar como se cargaran los valores para cada una de las columnas, el primer campo IdVenta es un autoincremental y por eso  aparece como SQL Computed Value sin posibilidad de especificar valores. El resto de columnas son configurables, En mi caso particular he dejado que cantidadVendida se genere de forma aleatoria y para el resto de columnas (IdFecha, IdVendedor, IdFormadePago e IdProducto) voy a especificar una consulta que le proporcionara los valores válidos para generar los datos.
Cuando selecciono en la columna Generator Data Bound Generator las propiedades de la columna me permiten especificar un origen de los configurados en el server Explorer y una consulta para acotar los valores que quiero utilizar en el llenado de tabla para cada columna.
Propiedades-de-data-bound-Generator
Consulta para acotar los valores de fecha y restringir el poblado de la tabla de hechos a solo un año desde 20010101 a 20011231, utilizo la consulta mostrada, asi me aseguro que la dispersión en el tiempo de los datos está más controlada, también se adjuntan el resto de consultas utilizadas para cada una de las columnas (Idvendedor, , IdProducto e IdFormadePAgo respectivamente. Dejo la fecha de inserción para que se genere de forma aleatoria por Visual Studio ya que no la voy a utilizar y me da igual cómo se generan los datos.
Consultas-para-Data-Bound-Generator
Una vez configuradas todas las columnas, puedo pre visualizar el resultado pulsando sobre el icono preview data generation
Previsualizacion-data-generation
Por ultimo solo nos falta generar los datos realmente, para esto solo tenemos que pulsar el botón Generate Data (F5) y confirmar si queremos eliminar el conjunto de datos existente en la base de datos.
Generate-Data
Dependiendo del volumen de datos generado y de como este configurado el modo de recuperación de nuestra base de datos es posible que al terminar tengamos que realizar un backup del log y comprimir el archivo de log para liberar espacio no utilizado.
Si queréis probar la generación de datos sobre mi modelo aquí podéis descargaros el proyecto con el modelo completo, solo recordaros que necesitáis VS 2010 para poder abrirlo. Si no disponéis de Visual Studio 2010 podréis crear el mismo tipo de proyectos usando Visual Studio 2008 con la versión de visual Studio mencionada  en este otro artículo.  Desarrollando con Team Fundation Server 2010, SQL 2008 R2 y Proyectos de bases de datos.
Espero que lo encontréis útil, ¡Hasta pronto!

jueves, 17 de noviembre de 2011

SQL Server 2012 Release Candidate 0 (RC0) Liberada

Hola, hoy ya se puede descargar la RC0 de SQL Server 2012, a continuación os dejo un enlace para realizar las descargas.

http://www.microsoft.com/download/en/details.aspx?id=28145

¡Espero que lo disfruteis!

lunes, 14 de noviembre de 2011

Ebook gratuito sobre planificación de migración a SQL Server 2008 R2

Descárgate este libro de forma gratuita para ayudarte a planificar la migración a SQL Server 2008 R2, de mis compañeros Eladio Rincón y Enrique Catalá.

Decargate el libro aquí!

Espero que lo encontreis util, Hasta pronto!

jueves, 3 de noviembre de 2011

Serie de articulos sobre Data Quality Services (1/4) en el blog de #SolidQ

Si queréis tener una idea clara sobre el uso de e instalación de Data Quality Services os recomiendo este interesante artículo sobre Data Quality Services escrito por mi compañero Victor Sanchez, es el primero de una serie de cuatro dedicados a SQL Server Data Quality Services 2012.
Podéis acceder al contenido de este artículo en el siguiente enlace:
http://blogs.solidq.com/BICorner/Post.aspx?ID=109&title=SQL+Server+Data+Quality+Services+(1%2f4)
Espero que lo encontréis de utilidad, ¡Hasta pronto!

miércoles, 2 de noviembre de 2011

Formación en Business Intelligence: imprescindible para empresas y profesionales en la coyuntura actual

 

· Las soluciones de BI permiten gestionar la información de manera inmediata, segura y eficaz.

· El crecimiento de ventas de BI en España ronda el 8% y se prevén cifras similares en los próximos años.

· La formación en BI es una excelente oportunidad ya que la demanda de profesionales supera a la oferta actual.

Rapidez de ejecución y toma de decisiones a tiempo real. Estas dos características son clave para los directivos, profesionales y responsables de gestión de empresa entre otros, que día a día trabajan con un gran volumen de información y datos que necesitan gestionar de manera inmediata, segura y eficaz. Además, estas dos características son las claves de las herramientas de Business Intelligence (BI), ya que, gracias a sus funcionalidades; automatiza, simplifica y centraliza los datos de manera que puedas acceder a la información que te interesa en el momento que lo necesitas. En definitiva, las nuevas tecnologías de BI suponen una mejora en la planificación y optimización de los procesos de trabajo diarios en la organización.

Por otro lado, destacar que el BI es un sector en alza, con un crecimiento de ventas en España que ronda el 8% anual, y va en aumento (según un estudio de IDC). De estas cifras se puede deducir que la demanda cada vez es mayor por parte de la organización en cuanto a implementación de soluciones BI, y teniendo en cuenta la situación de crisis actual por la que atraviesa el país, el BI supone una oportunidad de trabajo y una mejora para tu negocio.

La tecnología ofrecida por Microsoft no es ajena a todo lo anterior, produciéndose también un crecimiento en cifras de ventas y una continua evolución de su plataforma de Business Intelligence, estando situada en estos momentos entre los líderes en los cuadrantes de Gartner.

Pero la implementación de dicha tecnología no es suficiente si no se pueden exprimir a fondo todas sus características. Es muy habitual encontrar empresas descontentas con sus soluciones de BI, principalmente por la infrautilización de las herramientas adquiridas y por un diseño que omite detalles importantes del Negocio. Para evitar este tipo de situaciones, SolidQ ofrece un nuevo proyecto de formación orientado a ofrecer una alta cualificación a un grupo reducido de profesionales, a los que les serán transmitidos nuestros conocimientos tanto en el uso de las herramientas, como en análisis, diseño, modelado e implementación de soluciones; y por supuesto, nuestras experiencias y soluciones exitosas realizadas.

Si eres un profesional, tanto del área de Negocio (directivo, profesional o responsable de gestión de empresa) como del área de TI (desarrollador, director de proyectos, consultor), que bien ya estás trabajando en este tipo de proyectos o bien quieres reorientar tu carrera profesional al mundo del Business Intelligence, SolidQ te ofrece su Máster en BI, en el que combina la teoría genérica y su aplicación concreta sobre la plataforma Microsoft, con una gran dosis de práctica.

Destacar que el "Máster en BI certificado por SolidQ" será impartido por una docena de profesionales altamente especializados en proyectos de BI (Data Warehouse, Data Marts, tecnología OLAP y tabular –In Memory–, modelado, migración de datos, etc.). Cuentan con amplia experiencia desde el punto de vista de la organización, puesto que trabajan día a día con empresas que desean implementar y avanzar en BI. También son ponentes habituales en importantes conferencias nacionales e internacionales, autores de artículos y libros sobre la materia, y tutores en muchos de los cursos impartidos por SolidQ. Esta combinación aporta gran valor a la hora de la transferencia de conocimientos a los alumnos.

El Máster se impartirá en Madrid, desde el 2 de marzo de 2012 hasta el 8 de febrero de 2013. Si desea conocer más información la podrá encontrar en www.solidq.com/es/MasterBI/.

SolidQ lanza su Máster en BI

Uno de los retos que nos planteamos en SolidQ es avanzar en formación. Por ello, hemos puesto en marcha un nuevo proyecto, el Máster en BI certificado por SolidQ, que se llevará a cabo en Madrid desde el 2 de marzo de 2012 hasta el 8 de febrero de 2013. Con este Máster pretendemos abarcar un nicho del sector educativo que actualmente no cuenta con oferta de formación, y tiene un nivel de demanda alto debido a las mejoras y los avances en Inteligencia de Negocio (BI) que se están produciendo, y lo que supone para una organización la implementación de estas soluciones. Por ello, la demanda no sólo es en formación, sino desde el lado de las empresas también se requieren profesionales de BI para poder aprovechar estos recursos.

El Máster en BI certificado por SolidQ está orientado a ofrecer una alta cualificación a profesionales del sector de los Negocios y de las Tecnologías de la Información (TI), a los que les serán transmitidos nuestros conocimientos tanto en el uso de las herramientas, como en análisis, diseño, modelado e implementación de soluciones de BI; y por supuesto, nuestra experiencia en el mundo real, y las soluciones de éxito conseguidas con el desarrollo diario de nuestro trabajo. Todo ello basado en la Plataforma de Microsoft, líder en tecnología BI según ha reconocido la prestigiosa consultora Gartner en su informe sobre las mejores plataformas de Business Intelligence.

LinkedIn