Uno de los mayores retos en la construcción de una solución de BI es determinar y mejorar la calidad de los datos. Tengamos en cuenta que los datos se transforman en información para finalmente aportar conocimiento. En este proceso de conversión, de enriquecimiento y maduración de los datos es fundamental que los usuarios de negocio aporten la perspectiva correcta sobre su calidad.Vamos a hacer un paréntesis para recordar cada uno de los estados de madurez de la información:

  • Datos: Es un conjunto discreto, de factores objetivos sobre un hecho real. Dentro de un contexto de negocio, el dato es definido como un registro de transacciones. Por ejemplo, el dato del teléfono de un cliente en
  • Información: A diferencia de los datos, la información tiene significado (relevancia y propósito). Transformamos datos en información añadiéndoles valor contextualizando, categorizando, corrigiendo y condensando los datos.
  • Conocimiento: Las personas deben aportar valor a la información para transformarla en conocimiento
    • Comparando con información anterior.
    • Prediciendo consecuencias.
    • Detectando de conexiones entre las distintas fuentes de información.
    • Conversando con otras fuentes de conocimiento.

Piramide-informacion_thumb_3A50FDDA

 

Se puede deducir la importancia que tiene la calidad de los datos, en la base de la pirámide, si estos van madurando hasta que su objetivo sea facilitar información que provoque conocimiento. Una mala calidad de los datos se traduce en una mala calidad de la información, generando información incompleta, imprecisa o inconsistente. Y utilizar la información en este estado puede llevarnos a tomar decisiones poco apropiadas o incoherentes.

Entonces, ¿por qué existen datos de mala calidad? La mala calidad de los datos puede ser provocada por errores en la entrada de datos por parte del usuario, laxas reglas en interfaz de aplicaciones, corrupción en comunicaciones, integración de datos de fuentes heterogéneas, etc.

Data Quality Services nos va ayudar a convertir los datos en información válida aplicando nuestro conocimiento sobre la calidad de los datos.

Que es Data Quality Services?

DQS is a knowledge driven data quality solution. It enables you to build a knowledge base, and use it to perform a variety of critical data quality tasks – correction, enrichment, standardization and de duplication of your data.

SQL Server Data Quality Services (SSDQS) es una solución basada en el conocimiento de la calidad de datos. Nos permite la construcción de una base de conocimiento de calidad de los datos (Data Quality Knowlege Base o DQKB) y utilizarla para realizar varias tareas de calidad de datos críticas cómo corrección, enriquecimiento, normalización y consolidación.

Estos son los conceptos claves que se aplican en Data Quality Services:

Basado en conocimiento Conocimiento de la calidad de los datos
Semántica Los dominios de datos (Data domains) capturan la semántica de los datos. ¿Cómo sabe que ‘C’ y ‘Calle’ es lo mismo? Requiere del conocimiento de una persona que lo defina.
Descubriendo conocimiento Adquiriendo conocimiento adicional cuanto más se utiliza.
Abierto y extensible Permite el uso de conocimiento generado por el usuario y proveedores de referencias de datos (terceros)
Facilidad de uso Diseñado para incrementar la productividad a través de la experiencia del usuario.

 

En resumen, su propósito es emplearla en la gestión de la calidad de los datos corporativos, construyendo bases de datos de conocimiento sobre de calidad de datos, creando dominios y reglas para definir actuaciones. Vamos a definir estos conceptos que utilizaremos más adelante

  • Bases de Conocimiento (Data Quality Knowledge Base) son la piedra angular de SSDQS y hay que evitar asociarlo con el término genérico de base de conocimiento (KB), ya que en concreto se aplica a la calidad de los datos. Cada Data Quality Knowledge Base (DQKB) es un catálogo de reglas para aplicar cuando se validan los datos, y las acciones a tomar en caso de que se incumplan. Refiere a los conocimientos almacenados acerca de los datos y su calidad. El conocimiento está contenido en uno o más dominios de datos (Data Domains).
  • Dominios (Data domains) Cada dominio es la representación semántica de un tipo de datos. Contiene una lista de valores válidos, inválidos y erróneos. Incluye asociación de sinónimos, relaciones entre términos, reglas de validación para los datos.  Por poner un ejemplo, en una base conocimiento sobre contactos crearíamos un dominio para algunos atributos como el género, direcciones, etc..
  • Reglas (Rules). Mediante la creación de reglas se generan condiciones y se aplican sobre los valores para determinar su validez en el dominio.

Para más información puedes acceder a MSDN http://msdn.microsoft.com/en-us/library/ff877917(v=sql.110).aspx

Arquitectura de Data Quality Services

El servidor Data Quality Services y la aplicación cliente forman la arquitectura básica del producto. El servidor almacena y gestiona las distintas bases de conocimiento y proyectos que se crean a través del Data Quality Studio, uno de los dos clientes que tienen acceso a Data Quality Services. Podemos integrar los servicios Data Quality en nuestros proyectos de Integration Services, como veremos en el artículo 4.SQL Server Data Quality Services e Integration Services (SSDQS y SSIS).

En la siguiente imagen podemos ver en detalle la arquitectura de Data Quality Services

clip_image004_thumb_683E5092

 

Instalando SQL Server Data Quality Services.

Esta es una característica incluida en la nueva versión de SQL Server 2012, que aún se encuentra en fase de desarrollo. Puede obtener la CTP3 desde Microsoft.

 

Instalación

Es importante mencionar que debes instalar las características compartidas de SQL (Shared Features) SQL en los directorios que propone por defecto, de otra forma tendrás problemas para iniciar el servicio Data Quality Services.

Como vimos en el esquema de arquitectura, SSDQS está formado por dos componentes principales: DQS Server y DQS Client (DQS UI).

Para instalar DQS Server, durante la instalación de SQL Server hay que marcar la característica Data Quality Services que se encuentra en la sección de Database Engine Services.

Para la instalación de DQS Client, hay que marcar Data Quality Client que se encuentra en Shared Features.

clip_image006_thumb_683E5092

Se puede instalar el cliente sin necesidad de instalar el server, por lo que podremos trabajar de forma distribuida. Los usuarios de negocio con perfil de administradores de datos podrán utilizar las funciones de Data Quality Studio y enriquecer las bases de conocimiento o trabajar con proyectos de Data Cleansing o Data Matching como veremos en el articulo 3.Proyectos ‘Cleansing’ y ‘Matching’ con SSDQS Studio.

 

Configuración

Al tratarse de una entrega Community Technology Preview o CTP del producto, aún hay que dar varios pasos para completar la instalación y poder utilizarlo

  1. Despliegue de Bases de datosLa instalación de SQL Server no realiza el despliegue de Data Quality Services, para completarlo es necesario realizar una instalación propia que habitualmente se encuentra en la siguiente ruta: <drive>:%ProgramFiles%Microsoft SQL Server<InstanceName>MSSQLBinnDQSInstaller.exe La instalación debe lanzarse con privilegios de administrador y entre otras tareas creará las bases de datos DQS_Main y DQS_Proejcts y logins necesarios para el servicio.
  2. Asociar roles DQS con usuariosPara poder conectar con la base de datos DQS_MAIN desde la aplicación cliente, es necesario que las credenciales del usuario estén asociadas con alguno de los roles específicos de DQS: dqs_administrator, dqs_kb_editor, o dqs_kb_operator.
  3. Habilitar protocolo TCP/IP para SQL ServerEn caso de que el cliente no se encuentre en la misma máquina que el servidor DQS, será necesario habilitar el protocolo TCP/IP para el servicio SQL Server.
  4. Asociar roles SSDQS con usuarios

    Para poder acceder a conjuntos de datos desde SSDQS Studio, las bases de datos de origen y destino deben encontrarse en el mismo servidor que el servidor SSDQS, y habilitar para ellas el acceso a los login propios de SSDQS. Si quisiéramos permitir el acceso a la base de datos ‘Denali Test’ desde el cliente SSDQS tenemos que ejecutar la siguiente sentencia T-SQL:

USE [Denali Tests]
CREATE USER [dqs_service] FOR LOGIN [##MS_dqs_service_login##]
GRANT CONTROL TO [dqs_service]
CREATE USER [dqs_dbo] FOR LOGIN [##MS_dqs_db_owner_login##]
GRANT CONTROL, AUTHENTICATE TO [dqs_dbo]

 

Puedes obtener más información de la instalacion de Data Quality Services en MSDN

Con estos pasos tendremos toda la funcionalidad (actual) de SQL Server Data Quality Services a nuestra disposición. En el próximo artículo de la serie veremos como construir una Data Quality Knowledge Base, creando dominios y asignando reglas a través de la herramienta cliente DQS Studio.

 

Este es el primero de una serie de cuatro artículos sobre Data Quality Services de SQL Server 2012:

  1. SQL Server Data Quality Services
    1. a. Introduccion
    2. b. Que es SQL Server Data Quality Services (SSDQS)
    3. c. Instalando SSDQS
  2. Contruyendo un Data Quality Knowledge Base con SSDQS Studio
  3. Proyectos ‘Cleansing’ y ‘Matching’ con SSDQS Studio.
  4. SQL Server Data Quality Services e Integration Services (SSDQS y SSIS)

 

Víctor M García Sánchez
Últimas entradas de Víctor M García Sánchez (ver todo)