Download Bases de Datos: Teoría General y Aplicaciones - U

Document related concepts
Transcript
IN60E – Aplicaciones de Bases de Datos
en la Empresa y Minería de Datos
Otoño 2008
Bases de Datos:
Teoría General y Aplicaciones
Universidad de Chile
Departamento de Ingeniería Industrial
Profesor: Richard Weber ([email protected])
Prof. Auxiliar: Gastón L’Huillier ([email protected])
1
Motivación
Bases de Datos permiten almacenar datos
Datos son utilizados para la generación de
Información
Información utilizada para generar conocimiento.
Aplicaciones de Bases de Datos en la Empresa.
Minería de Datos.
Proceso KDD.
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
2
Historia – Bases de Datos
1963 – Primera vez utilizado el termino Bases de
Datos.
1970 – E.F. Codd propone modelo Entidad –
Relación
1974 – IBM desarrolla las bases del lenguaje SQL
1979 – Primeras BD comerciales (Oracle, IBM)
1989 – PostgreSQL (Universidad de California,
Berkley)
1995 – MySQL (Suecia)
‘90s – Bases de datos Orientadas a Objetos,
Espaciales
‘90s – Knowledge Discovery in Databases (KDD)
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
2000s – Bases de datos XML, VLDBs, SOA, Grid
3
Definiciones
Base de Datos: “Un conjunto lógicamente coherente
de datos relacionados, construido para una cierta
aplicación”.
Sistema Administración de Bases de Datos
(SABD): “Software que permite a las bases de datos
ser definidas, construidas y operarlas”.
Diagrama Entidad – Relación (ER): Modelo lógico
de la base de datos para representar información de
manera estructurada.
Structured Query Language (SQL): Lenguaje de
consulta estructurado para interactuar con la BD.
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
4
Diagrama Entidad – Relación
Representación conceptual de
datos estructurado mediante
Entidades y Relaciones.
Para implementar un modelo ER es necesario:
o
o
Requerimientos del sistema usuario, en cuanto a las
salidas, entradas y transformaciones de contenido.
Parámetros clave de búsqueda, ordenamiento, tiempos de
respuesta (estructura física del modelo).
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
5
Lenguaje de consulta SQL
Permite obtener cualquier conjunto de datos presentes
en una base de datos relacional mediante una
sentencia.
SELECT [DISTINCT | ALL]
{* | [column_expression [AS new_name]]
[,...] }
FROM table_name [alias] [, ...] FROM Especifica las tablas que se usaran
[WHERE condition]
WHERE Establece los filtros.
[GROUP BY column_list]
SELECT Especifica las columnas que se
[ HAVING condition]
consultaran.
[ORDER BY column_list]
GROUP BY Permite agrupar los datos.
HAVING Permite generar filtros sobre los
grupos de datos.
ORDER BY Especifica el orden de los datos.
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
6
ACID – Control de concurrencia en BDs
Atomicidad:
o
Consistencia:
o
Los datos son consistentes antes que una transacción se inicie,
y la transacción siempre abandona los datos en un estado
consistente.
Aislamiento (Isolation):
o
Grupo lógico de una o más sentencias de una operación
indivisible o atómica. (i.e. Se realizan todas las sentencias o no
se realiza ninguna).
Transacciones son invisibles para las demás transacciones.
Durabilidad:
o
Después que la transacción se ejecute, los efectos que causa
en la base de datos persiste, aún así si el sistema falla (caídas
de sistema).
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
7
…en las Empresas: Escenario Actual [1]
Application
Screen
Scrape
Application
Download
File
Application
Message
Queue
Sockets
Transaction
File
Application
Sockets
RPC
Application
ORB
Screen
Scrape
Screen
Scrape
Transaction
File
CICS Gateway
Download
File
Application
Message
Application
Transaction
File
Application
ORB
APPC
Application
Message
Queue
Application
Transaction
File
Message
Queue
CICS Gateway
Screen
Scrape
Message
Download
File
APPC
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
RPC
8
…en las Empresas: Escenario Actual [2]
BDs interactúan sin excepciones con todos los
departamentos y áreas dentro de las empresas.
Marketing
Toda transacción realizada en una Proyectos
empresa queda registrada en algún
tipo de BD.
Finanzas
RRHH
Concepto de BD es más
amplio que un SABD relacional.
Ventas
Ordenes
Servicios
Producción
Cadena de Suministro
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
Compras
9
Bases de datos Operacionales:
On Line Transactional Processing (OLTP)
Operaciones transaccionales del día a día.
Responden a la gran cantidad de
transacciones presentes en las empresas.
Transacciones cortas de poca información.
Aplicaciones
Ejemplos:
o
o
o
o
o
o
Files
Excel,
XML
Enterprise Resource Planning (ERPs)
Manufacturing Resource Planning (MRPs)
Portales y aplicaciones Web (miles o millones de
usuarios cada día)
Transacciones Bancarias (Instituciones Financieras)
Interacción con Puntos de Ventas (POS)
OLTP integrados con Web Services (SOA)
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
10
OLTP en Instituciones Bancarias
Coordinación de transacciones en cajeros automáticos
como depósitos, transferencias, saldos y retiros de
dinero.
Pagos en supermercados con tarjetas de débito o
crédito.
Compras de productos o mercadería a través de
internet.
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
11
OLTP en Retail y Tiendas Comerciales
Coordinación de la información en Puntos de Venta
(POS)
Integración de sitios E-Commerce y POS con bodegas
Interacción transaccional con bancos e instituciones
financieras (Redbank, VISA, MasterCard).
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
12
OLTP, Web Services y SOA
Sistemas operacionales integrados con Web Services
(WS).
SOA: Arquitectura Orientada a los Servicios.
Orquestación de WS permite integrar servicios que
proveen distintas empresas
Caso MapCity y servicios logísticos
Caso crédito bancario.
Otros ejemplos:
o
o
o
Sinacofi
Publiguías
Dicom
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
13
Aplicaciones[1]: Grid Computing
Alta disponibilidad al distribuir el almacenamiento en
varios puntos dentro de la grilla.
Mayor capacidad de procesamiento al integrar distintos
servidores para realizar operaciones.
Computación distribuida.
Storage Grid
Database
Grid
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
14
Aplicaciones[1]: Grid Computing
Ejemplos:
o
Real Application Cluster (Oracle)
•
o
DeRemate.com
Sistemas 24x7 – Instituciones financieras
Computación Distribuida
o
SETI@home (Search for Extraterrestrial Intelligence)
•
o
TSP distribuido (instancia de 48 ciudades)
•
o
http://seti.astroseti.org/setiathome/
http://bob.myisland.as/tsp/
Rossetta@home (Funciones y Estructuras de
Proteínas)
•
http://boinc.bakerlab.org/rosetta/
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
15
Aplicaciones[2]: Bases de datos XML
XML: Extensible Markup Languaje
Permite integrar de manera natural distintos sistemas
presentes en las empresas, mejorando la compatibilidad
entre aplicaciones.
Utilizado actualmente en gran cantidad de empresas
disminuyendo complejidad de comunicación entre
sistemas.
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
16
Aplicaciones[4]: VLDBs
VLDBs: “Very Large Data Bases”.
Manejo de grandes volúmenes de información
(Información > 10 TB).
Aplicaciones:
o
Costanera Norte (Intelligent Transport Systems)
•
o
ALMA Project
•
o
http://www.alma.nrao.edu/
NCBI – Genomas varios
•
o
Manejo de imágenes ( flujo > 5 TB diarios)
http://www.ncbi.nlm.nih.gov/sites/gquery
Google
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
17
Aplicaciones[5]:
Knowledge Discovery in Databases
(KDD)
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
18
Aplicaciones[6]: Data Warehousing
IN60E – Aplicaciones de Bases de Datos para la Empresa y Minería de Datos - Otoño 2008
19