Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción
Información: Colección de datos organizados de forma que proporcionan valor añadido a los
datos
Para nosotros como informáticos le tenemos que dar mucha IMPORTANCIA a la fiabilidad de
los datos, puesto que unos malos datos dan a información errónea que deriva en un
conocimiento inservible.
Algoritmo: Lista ordenada de pasos o especificación de instrucciones para llevar a cabo una
determinada tarea
Sistema: Conjunto de elementos que interactúan para lograr un objetivo, este está compuesto
de: Entradas, mecanismos de estado, salidas y retroalimentación.
determinado objetivo”
Hardware
Software
Datos
Personas
Procedimientos y protocolos
Sistemas de procesado transaccional (TPS)
Gestionan la información referente a las transacciones producidas diariamente en una
organización
ACID:
Capa de presentación
Capa de negocio
Capa de datos
Aplicaciones Monocapa
Modelo de datos: Depende de la aplicación en concreto
Persistencia: Ficheros
Ventajas: Rápidos, útiles para aplicaciones de propósito específico.
Inconvenientes: Necesita instalación y re-complilación en todas las máquinas.
Datos duplicados y necesidad de protocolos ETL.
Aplicaciones de dos capas
Separa la interfaz y el modelo, esta vez utilizando el patrón MVC, tiene la ventaja de que ofrece
independencia entre las capas y reutiliza la capa de modelo para N máquinas, evitando la
duplicidad de datos, sin embargo, tiene el inconveniente de que cada cambio en el modelo y
en las interfaces implica una re-complilación e instalación
Cambios en modelo sólo afectan al servidor de la aplicación, además de que los clientes con la
interfaz gráfica son muy ligeros.
Los cambios en la interfaz gráfica siguen requiriendo una re-complilación e instalación en todas
las máquinas.
Aplicaciones de tres capas con interfaz web
Son los mismos cambios que en la anterior, solo que sin los inconvenientes.
Ofrece una mejora sobre la arquitectura anterior, se utiliza cuando la interfaz gráfica web y la
capa de modelo están construidas con tecnologías diferentes.
Aplicaciones Web: Servlets y JSP, ASP.net, PHP Ruby on Rails, Python, MEAN y mas.
Tipos:
Por funcionalidad
o SaaS -> Software as a Service
o PaaS -> Platform as a Service
o IaaS -> Infrastructure as a Service
Por compartición
o Público
o Privado
o Híbrido
o Comunitario
IaaS
Ofrece recursos de computación como un servicio, características:
PaaS
Ofrece plataformas de computación como un servicio, características:
Baja los costes de administración de los sistemas en comparación con los IaaS
SaaS
Ofrece aplicaciones en concreto sin controlar el cliente ni la infraestructura que hay por debajo
ni su configuración, características:
NOTA: La computación en la nube no es una nueva tecnología, sino que es una nueva forma de
uso de una tecnología ya existente (partiendo de los ISP).
Servlet: Ejecutable escrito en lenguaje Java que normalmente se ejecuta en respuesta a una
petición HTTP:
Servlets:
El método servicie se ejecuta cuando ser requiere el servicio proporcionado por el Servlet:
Cuando ser recibe una petición asociada a las URLs ligadas al Servlet
Los parámetros de la petición están codificados en el objeto ServletRequest
La salida a enviar al cliente se codifica en el objeto ServletResponse
A veces interesa pasar el control a otro elemento dentro del servidor en lugar de indicar una
respuesta al cliente.
Arquitectura
Procesos ETL
Proceso de adquisición de datos (data acquisition) del Data Warehouse (-ETL-)
o Extracción (Extraction -E-): recogen los datos de los diferentes sistemas
operacionales y los integran. Suelen involucrar procesos de “cleansing”,
auditoría y control de datos (asegurar la integridad)
o Transformación (Transformation -T-): transforman los datos recolectados en el
formato adecuado para el Data Warehouse (ej. Cambios unidades de medida)
o Carga (Load -L-): procesos para la inserción masiva de datos en el Data
Warehouse
Staging Area
Facilita los procesos de extracción y transformación de los datos antes se ser incluidos en el
Data Warehouse
Data Marts
Contienen datos que han sido “personalizados” para una determinada funcionalidad o análisis
Slice (loncha)
El subconjunto de datos multidimensionales definidos por seleccionar valores específicos para
cada uno de los atributos que definen las dimensiones
Cuántas ventas de los diferentes productos se han realizado en las tiendas de la región 1
Implementación de los cubos
Opción más simple
o Una sola tabla con múltiples columnas que representan o bien las dimensiones
que se consideran o bien los datos de interés para el análisis (en nuestro
ejemplo, el número de ventas de un producto)
Demasiados datos replicados
Arquitectura en estrella
o Una tabla central que contiene la información de los hechos que se desea
analizar (p. ej. Las ventas) conectada a diferentes tablas que representan las
diferentes dimensiones
Informe típico
Vemos un ejemplo de ventas totales efectuadas durante el primer trimestre por marca:
Drill Down & Drill Up (o roll up) sobre los informes obtenidos.
Drill Down/Up
o Detallar/Agregar los resultados obtenidos añadiendo/eliminando un campo.
Por ejemplo, la categoría de productos.
Factores de éxito
Integrar datos externos con los datos de producción internos y gestionar historiales
Considerar información útil, centrada en los objetivos de la empresa
Emplear datos de calidad (coherentes, actualizados y documentados)
Arquitectura flexible para garantizar escalabilidad (tanto a nivel hardware como a nivel
software). Considerar también más usuarios, herramientas, volumen de negocio, etc.
Errores comunes
Incluir datos solamente porque están disponibles (podrían no ser útiles)
Crear un esquema de BD relacionales tradicional
Crear el Data Warehouse pensando en la tecnología que se va a usar para su
implementación
Creer que los Data Warehouse acaban su ciclo de vida una vez son cargados los datos e
instalado el sistema (incluir herramientas para el diseño de informes)
Minería de Datos
We are drowning in data but starved for knowledge (Naisbitt, 1982)
Definición
Análisis y exploración automática (o semiautomática) de grandes volúmenes de datos
mediante el uso de algoritmos concretos para extraer información útil y no evidente, y
previamente desconocida.
Etapa de un proceso más amplio denominado Knowledge Discovery
No debe confundirse Data Mining con:
o Data Warehouses
o Pura estadística
o Machine Learning (DM puede usar técnicas de ML)
o Sistemas expertos
o Generación de informes/queries
Ya existía en los 60 en el campo de la estadística -> Data Archeology
En los años 80 se consolida el término y empiezan a aparecer empresas dedicadas a
este sector
Data Mining integra distintos campos:
o Usa técnicas de Machine Learning
o Estadística
o Inteligencia Artificial
o Bases de Datos
Aplicaciones
Empresas de telecomunicaciones
o Facturación de servicios
o Detección de clientes que aportan mayores beneficios
Supermercados
o Gestión de inventario
o Asociación de ventas: ej. Alta correlación venta pañales y cervezas los viernes
por la tarde
Banca
o Gestión de cuentas
o Segmentación de clientes
Fábricas
o Control de procesos
o Mantenimiento preventivo: determinar que cierta pieza de un proveedor tiene
una mayor vida útil
Modelos descriptivos
o Describen el comportamiento de los datos de forma que éste sea interpretable
o Ej. Existen dos tipos de clientes y cada uno tiene unas características propias
Modelos predictivos
o Además de describir datos se emplean para predecir el valor de algún atributo
desconocido
o Ej. Predicción de la cantidad del producto X que se le facturará al cliente el año
que viene.
Modelo Descriptivo
El modelo descriptivo utiliza una serie de reglas que tienen la siguiente forma:
Ejemplo de interpretación: Si se identifica una regla del tipo: {impresora} -> {Tóner}
Tóner en el consecuente:
o Puede determinarse cómo incrementar sus ventas
Impresora en el antecedente
o Puede determinarse qué productos se verían afectados si dejamos de vender
impresoras
Impresora en el antecedente y tóner en el consecuente
o Puede utilizarse para ver qué productos deberían venderse con impresoras
para promocionar las ventas de tóner
Objetivo
o Trata de identificar artículos que muchos clientes compran conjuntamente
Solución
o Procesar los datos de los terminales de punto de venta proporcionados por los
escáneres de códigos de barras
Ejemplo
o Si un cliente compra pañales, es muy probable que compre cerveza (no te
sorprendas si ves las cervezas colocadas al lado de los pañales en el súper)
Problema
o Dado un conjunto de transacciones, encontrar reglas que describan tendencias
en los datos:
Definiciones:
Inferencia “A Priori”
Esto desarrolla en un posible algoritmo que podemos utilizar para descubrir nuevas reglas de
asociación:
Se crea un árbol donde cada rama se divide en otras en función de una determinada
característica (atributos)
o Atributos enumerados: una rama por valor
o Atributos con rango numérico: se dividen en intervalos y se crea una rama por
intervalo
Las hojas representan los diferentes tipos/categorías de elementos
Se parte de una muestra de datos con clasificación conocida (Training set)
Se prueba la efectividad del árbol con el resto de los datos (Test set)
Se dividen los datos según los atributos a considerar sucesivamente hasta que:
o Hemos clasificado todos los datos de la muestra
o Hemos usado todos los atributos considerados para este modelo
Clasificación basada en redes neuronales
Otra técnica que puede usarse para Data Mining serían las redes neuronales (RNA).
Definición
Big Data es un término que define un conjunto de datos tan grande (del orden, al menos de TB)
y complejo (desde datos de sensores a social media) que hace que su tratamiento y análisis
sea inabordable usando software, hardware y procesos tradicionales.
Volumen
Velocidad
Variedad
Aplicaciones
Análisis de textos
Análisis de sentimiento
Reconocimiento de formas
Análisis de voz
Análisis de trayectorias
Sensores
Tenemos sensores en todos los sitios, en los supermercados, GPS, en el móvil, en internet,
cuando hacemos clics en sitios web, emails, búsquedas, transacciones…
Podemos obtener los datos de videovigilancia, tráfico, polución, bolsa de acciones, etc.…
Se puede dividir en nueve fases, estas son comunes a las usadas en el ETL en Data Warehouses
Apache Hadoop
o Open-source. Motor para el análisis de datos, almacena los datos en un
clúster, utiliza el Hadoop Ditributed File system (HDFS) que es muy útil. Utiliza
también el paradigma MapReduce y utiliza Hbase como su base de datos.
Apache Spark:
o También Open-source, sirve igualmente para el análisis de datos, pero es más
rápido que Hadoop y es más indicado para procesamiento en tiempo real de
datos
Apache Storm
o Open-source, permite el procesado de flujos de datos (data streaming), es
decir hace MapReduce en tiempo real, idóneo para real time analytics,
continuous computation, online machine Learning, …
HPCC System
o Utilizado para la escalabilidad de un sistema
Apache Samoa
o Scalable Advanced Massive Online Analysis
o Para big data streams y Machine Learning distribuido
MongoDB
o SGDB NoSQL, diseñado para BD con grandes volúmenes de datos
Google BigQuery
o La alternativa de Google
Apache Mahout
o Librerías de ML para hacer algoritmos distribuidos y escalables (sobre Hadoop
normalmente)
RapidMiner
R-Programming
Sistemas Legados
Se entiende como sistema legado a aquella tecnología (hardware o software) que se ha
quedado anticuada
La tecnología en los sistemas de información tiende a envejecer muy rápidamente, debido a los
avances de la tecnología que van surgiendo por propia naturaleza.
Todos los sistemas tarde o temprano se vuelven legados y cada vez los sistemas se convierten
en legados con mayor rapidez.
Sistemas cerrados (sin APIs para poder manipularlos desde otras aplicaciones
Lenguajes y tecnologías desactualizadas (¿Dónde encontramos expertos en COBOL?)
Documentación escasa:
o El conocimiento se centra en pocas personas
Muchos parches
Datos duplicados, desactualizados e incompletos
Construir un sistema con la misma funcionalidad puede ser muy caro y conlleva muchos
riesgos, pero mantenerlo puede ser incluso peor.