Professional Documents
Culture Documents
Tecnologías Emergentes de
Bases de Datos
Objetivos: Conocer las diferentes tecnologías
emergentes en bases de datos y sus aplicaciones.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 1
Contenidos
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 2
Introducción
• Se cumplen ya más de treinta años desde
que el Dr. Codd propuso el modelo relacional
en 1970, dando lugar a la "segunda
generación" de productos de bases de datos:
ORACLE, DB2, INGRES, INFORMIX, SYBASE,
etc. que presentan una mayor independencia
físico/lógica, mayor flexibilidad y lenguajes
de especificación (que actúan sobre
conjuntos de registros).
• Este tipo de productos se ha impuesto en el
mercado y ha sido uno de los principales
focos de investigación durante las décadas
de los setenta y ochenta.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 3
Introducción - 2
• En los últimos años hemos asistido a un avance
espectacular en la tecnología de bases de datos.
• Aparecen :
– Bases de datos multimedia
– Activas
– Deductivas
– Distribuídas
– Orientadas a Objetos
– Seguras
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 4
Introducción - 3
• Esta nueva generación de bases de datos (la
"tercera"), se caracteriza por proporcionar
capacidades de gestión de datos, objetos y
gestión de conocimiento.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 5
Introducción - 4
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 6
Bases de Datos Activas
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 7
ADBMS - 2
• Se distinguen algunos conceptos y características que se
deben cumplir obligatoriamente para considerar un DBMS
como un sistema activo, a su vez otro grupo de estas son
características “deseables” en este tipo de sistemas.
• Las Bases de Datos activas pretenden la generación de
sistemas autónomos o semi-autónomos.
• El concepto de sistema activo, conlleva que de alguna manera
los sistemas deben contar con un mecanismo que les permita
estar “al tanto” de lo que sucede a su alrededor.
• El concepto de “Evento” y “Respuesta” es un paradigma para
muchos de los sistemas de información futuros, y ya que se
trata de un fenómeno horizontal, las tecnologías de bases de
datos han tenido que simplemente sumarse al paradigma
evento-respuesta.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 8
ADBMS - 3
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 11
Características de un ADBMS…
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 12
Características de un ADBMS
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 16
Características de un ADBMS
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 17
Características de un ADBMS
5. Un ADBMS debe proveer diferentes modos de
acoplamiento: La relación entre transacción “que invoca” y
la transacción “invocada” debe ser posible de especificar a
través de “modos de acoplamiento” o “coupling modes”.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 19
Características de un ADBMS
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 20
Características de un ADBMS
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 21
Características de un ADBMS
10.Un ADBMS debe poder ser optimizable.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 22
Bases de Datos Objeto-Relacionales
(Object – Relational OR)
Limitaciones del Modelo Relacional:
• En el tiempo ha quedado demostrado que los modelos
de bases de datos relacionales son en extremo
poderosos en aplicaciones tradicionales de bases de
datos (sistemas de negocios o sistemas de información
administrativo).
• Además de su simplicidad, el concepto de TABLA ofrece
una aproximación ideal para la representación de
“datos del negocio” o “bussines data”.
• Sin embargo, cuando el modelo relacional es aplicado
en soluciones informáticas que no estan relacionadas a
la administración de los “datos del negocio”, tales como
aplicaciones de CAD, imágenes, multimedia, información
geográfica... Se hace obvio que el modelo relacional no
es el más apropiado.
• Este tipo de aplicaciones involucra datos y estructuras
extremadamente complejas para ser representadas en
la tradicional estructura de tabla “plana”.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 23
Limitaciones del Modelo
Relacional
Estructuras de Bajo nivel de soporte a estructuras de
Datos Complejas datos complejas.
Operaciones
No provee soporte para la
Tipo-Específicas especificación y construcción de
operaciones tipo-específicas.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 24
Atributos Multi-Valor
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 26
Binary Large Objects (BLOBs)
La Solución ...
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 28
Abstract Data Types (ADTs)
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 30
Abstract Data Types (ADTs)
ADT
Tipo de un Objeto
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 32
Tendencias
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 33
Tendencias
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 34
Tendencias
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 35
Tendencias
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 36
Object Relational Databases
& SQL3
• El modelo Objeto Relacional extiende el modelo relacional con
características de orientación a objetos (OO), manteniendo el acceso
declarativo a los datos.
• SQL3 ha sido diseñado para estandarizar el soporte para ADTs y
objetos, manteniendo compatibilidad con SQL2 (SQL tradicional).
• Las características de orientación a objetos presentes en SQL3
incluyen:
• Identificador de Objeto y tipos de referencias.
• Tipos de Datos complejos y representaciones no-1FN (relaciones
anidadas, listas de valores).
• Herencia de tipo y tabla.
• Querys y funciones complejas.
• SQL3 adicionalmente intenta estandarizar los procedimientos
almacenados, o módulos almacenados persistentes (persistent stored
modules), extensiones multimedia , lenguaje de definición de
transacciones, y una interface para aplicaciones (application interface)
similar a ODBC.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 37
Collection Types (colecciones)
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 38
Collection Types (colecciones)
• Los constructores de tipos también pueden ser utilizados para
construir querys, por ejemplo:
SELECT title, revision
FROM DOCUMENT
WHERE title in SET ('DBS', 'DDBS', 'MDBS');
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 39
Tipos de Datos definidos por el usuario
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 40
User-Defined Types
• Por ejemplo,
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 41
Row Types (Tipos de Filas)
• Un tipo de dato estructurado especial es el row type (tipo de
fila/registro), que puede representar los tipos de filas en una tabla.
CREATE ROW TYPE Doc_row
(title String,
revision MyDate,
keyword SET(String),
authors LIST (String))
• Completando la definición:
CREATE TABLE Document OF TYPE Doc_row
(PRIMARY KEY (title))
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 42
Type Inheritance
(Herencia de Tipo)
• El modelo O-R soporta tanto herencia simple como múltiple.
• Herencia simple: hereda de solo un objeto.
• Herencia múltiple: hereda de dos o más objetos.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 46
Object IDs and Reference Types
(Ids de Objetos y Tipo de Referencia)
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 47
Object IDs and Reference Types
(Ids de Objetos y Tipo de Referencia)
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 48
Object IDs and Reference Types
(Ids de Objetos y Tipo de Referencia)
• En el ejemplo anterior, se referencia la Tabla en authors.
Alternativamente, podemos referenciar vía Row Type.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 49
Querys y tipos de datos complejos
• Podemos referenciar los componentes de una fila, a
través de la construcción de una expresión de path,
usando notación de doble punto.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 50
Querys y tipos de datos complejos
• Un Tipo Colección (Collection Type), tal como el
resultado de una expresión de path, puede aparecer
en la cláusula FROM.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 51
User-Defined Functions
(Funciones definidas por el usuario)
• Una función definida por el usuario puede ser escrita tanto en
SQL o en un lenguado de alto nivel como C y C++, en este
último caso la función es compilada externamente pero es
cargada y ejecutada como parte del DBMS.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 52
User-Defined Functions
(Funciones definidas por el usuario)
SELECT title
FROM Document d
WHERE author-count(d) > 1
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 53
Insertando Valores en estructuras
complejas
• Los comandos DELETE y UPDATE en el modelo OR
son lo mismo que en el modelo tradicional.
• INSERT tambien es bastante similar, pero
requieren la utilización del constructor SET para
atributos multi-valor (tipos de datos de colección o
collections types).
• Por ejemplo, consideremos la operación de INSERT
de la tabla Document, la cual contiene atributos
multi-valor en autores y keywords:
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 54
Variant Data Types
(Tipos de datos variantes)
• Mencionamos anteriormente que la necesidad de
soportar nuevas formas de datos, tales como
multimedia, llevó a la introducción del concepto de
abstracción de objetos en el área de las bases de
datos.
• A continuación discutiremos tres nuevos tipos de
datos que los DBMS actuales en general no
soportan adecuadamente, para los cuales sin
embargo se espera soporte masivo en el futuro
cercano:
1. Multimedia Datatypes
2. Time-Series Data
3. Spatial Data
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 55
Multimedia Datatypes
• Los Tipos de Datos Multimedia incluyen imágenes, tales como
fotografías y gráficos, video clips, audio clips, tales como canciones
o mensajes de voz, y documentos, tales como libros y páginas html.
Estos tipos de datos fueron referidos anteriormente como BLOBs y
CLOBs.
• Dado su gran tamaño, los dos principales factores en la adecuada
administración de data multimedia son:
• Cómo Almacenar y Acceder eficientemente
• Cómo realizar extracciones basadas en el contenido (content-based
retrieval)
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 56
Multimedia Datatypes
• De manera de soportar operaciones de recuperación
basadas en el contenido (content-based retrieval), se
requiere un modelo que pueda organizar e indexar datos
multimediales basado en sus contenidos.
• Identificar los contenidos en una fuente multimedia no es
simple. Algunas características matemáticas tipo-
específicas pueden ser extraídas automáticamente. Por
ejemplo, en un audio clip, características como
intensidad, claridad, amplificación, y otras puedes ser
extraídas automáticamente. Otras características
requieren la intervención humana, por ejemplo, la
identificación de un sonido que es placentero al oído.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 57
Multimedia Datatypes
• La principal técnica en la identificación de
características es aislarlas en un segmento de la
fuente. En el caso de imágenes, un segmento es una
región de celdas rectangulares adyacentes de un
determinado alto y ancho. En el caso de videos, un
segmento es un determinado número de frames
contiguos, identificado por sus frames de inicio y fin
en la fuente.
• Habiendo determinado la presencia de características
relevantes en un segmento, esta información puede
ser utlizada para indexar dicho segmento.
Diferentes estructuras de indexación han sido
propuestas para diferentes datos multimediales.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 58
Multimedia Datatypes
• Los Indices Clúster (Clustered Index) pueden ser
utilizados para agrupar segmentos que son similares.
Para estos propósitos, una función distancia entre
dos segmentos es definida en términos de un
conjunto de características. Si el valor resultante de
una distancia calculada es pequeño, entonces la
probabilidad de coincidencia es alta, por consiguiente
los segmentos son agrupados contiguos.
• La investigación de técnicas más eficientes y de
mejor calidad en la administración datos
multimediales es un área bastante activa dentro del
ámbito de las tecnologías emergentes y el manejo de
BLOBs y CLOBs.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 59
Time-Series Data
(Series de Datos Temporales)
• Las series de datos temporales representan un tipo
de colección especial que típicamente encontramos
en aplicaciones financieras y científicas.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 60
Time-Series Data
(Series de Datos Temporales)
• Los querys tradicionales sobre series temporales incluyen
“agregación temporal” sobre diferentes intervalos de tiempo.
La agregación temporal permite la abstracción respecto de la
unidad de medida de una operación sobre un intervalo de
tiempo.
• Por ejemplo, considerando que se posee la información del
precio de cierre diario, se desea encontrar el promedio
semanal del precio de cierre de las acciones, o el valor
máximo del mes. Otro ejemplo es el query que compara el
máximo precio de cierre mensual de este año, respecto del
año anterior.
• Un query más complejo es aquel que dada una colección de
movimientos mensuales de acciones, encuentre una serie de
tiempo que sea similar a una dada, o a alguna de
determinadas características.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 61
Time-Series Data
(Series de Datos Temporales)
• Los DBMS tradicionales no proveían ningún tipo de
soporte para la agregación temporal, y los querys
anteriores simplemente no estaban soportados.
Recientemente los DBMS comerciales han
comenzado a ofrecer extensiones para series
temporales y existe un esfuerzo de estandarización
para definir el TSQL (Temporal SQL) que soportará
series temporales.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 62
Spatial Data (Datos Espaciales)
• Los datos espaciales son objetos en un espacio multi-dimensional,
que encontramos típicamente en sistemas de información
geográficos (GIS).
• Las coordenadas geográficas, latitud y longitud, son dos
descriptores espaciales. Las bases de datos cartográficas utilizan
estas coordenadas para especificar la ubicación de ciudades, ríos,
carreteras, etc. Las bases de datos meteorológicas son
tridimensionales, ya que además de latitud y longitud, requieren
conocer la altura respecto de la tierra.
• Con el objeto de almacenar y consultar data espacial, se requiere
de modelos de datos espaciales que permitan representar e
interpretar estas características. Por ejemplo, en un espacio bi-
dimensional geométrico, se requiere interpretar puntos, líneas,
segmentos, círculos, polígonos, etc. Las características espaciales
pueden ser estáticas, como la ubicación de un edificio, o dinámicas,
como un automóvil en movimiento.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 63
Spatial Data (Datos Espaciales)
• Con el objeto de ejecutar querys, se requerirá de operaciones
que permitan manipular las características espaciales. Por
ejemplo, se requiere de operadores que permitan calcular la
distancia entre dos puntos en un query de rango:
• Ej: Encontrar todas las estaciones de bencina 5 Km a la
redonda;
• otro operador que permita determinar qué objetos están más
cercanos a un punto determinado en un vecindario
• Ej: Encontrar la estación de bencina más cercana.
2006 Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - APAD y JJAA 64