Download Bases de datos en Grid

Document related concepts

Modelo relacional wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Base de datos wikipedia , lookup

Normalización de bases de datos wikipedia , lookup

Base de datos jerárquica wikipedia , lookup

Transcript
GRID
GRIDS
ING. DE INFORMACION II
Ing. Alfredo Ramos
Uso de Bases de Datos en Grid
Introducción
¿Qué es una base de datos?
Un conjunto de datos no redundantes, almacenados en un
soporte informático, organizados de forma independiente
de su utilización y accesibles simultáneamente por distintos
usuarios y aplicaciones.
Un conjunto de datos relacionados almacenados de forma
persistente.
Las bases de datos son necesarias cuando el
volumen o la organización de los datos hace
imposible un seguimiento “a mano” de los mismos
por el usuario.
Si bien hay aplicaciones grid que tienen poca o
ninguna necesidad de acceso a base de datos, el uso
de aplicaciones cada vez más complejas ha hecho
que cada vez estén más presentes en este entorno.
Ventajas del uso de bases de datos
Globalización de la información.
Eliminación de información redundante.
Eliminación de información inconsistente. Si el sistema esta
desarrollado a través de archivos convencionales, esta es una
operación costosa y potencialmente peligrosa.
Permite compartir información. Varios sistemas o usuarios
pueden utilizar una misma entidad.
Permite mantener la integridad en la información. Solo se
almacena la información correcta.
Independencia de datos. La independencia de datos implica un
divorcio entre programas y datos; es decir, se pueden hacer
cambios a la información que contiene la base de datos o tener
acceso a la base de datos de diferente manera, sin hacer
cambios en las aplicaciones o en los programas.
SGBD: Sistema Gestor de Bases de Datos
Es el conjunto de programas que permiten:
definir, manipular y utilizar la información que contienen las bases de
datos,
realizar todas las tareas de administración necesarias para mantenerlas
operativas, mantener su integridad, confidencialidad y seguridad.
Una BD nunca se accede o manipula directamente sino a
través del SGBD. Se puede considerar al SGBD como el interfaz
entre el usuario y la BD.
Se pueden considerar tres niveles:
Externo.
Lógico.
Interno.
Algunos de los más conocidos son:
Relacionales: IBM DB2, Informix, Oracle, MySQL, PostGreSQL, SQL Server…
XML: Tamino, Xindice…
Tipos de Bases de datos
Jerárquica.
Estructura en árbol (padre/hijo).
• Relaciones uno-a-uno o uno-a-muchos.
• Pero no muchos-a-muchos.
Problemas:
• Redundancia de la información.
• Borrado en cascada.
Red.
Evita el problema de redundancia con conectores.
Relacionales (objeto-relacionales)
Orientadas a objeto.
Acceso directo a objetos desde programas OO. Tipos de
datos flexibles, abstracción, etc.
Propiedades ACID
Las bases de datos con transacciones deben
implementar estas de tal manera que se cumplan las
siguientes propiedades:
Atomicity (atomicidad): las operaciones de una transacción
son o bien completadas con éxito o bien abortadas (la base
de datos queda en su estado anterior).
Consistency (consistencia): una transacción lleva la base de
datos de un estado consistente a otro.
Isolation (aislado): los efectos de la transacción no son
visibles para otras transacciones (u otras operaciones de la
base de datos) hasta que se ha completado.
Durability (durabilidad): los cambios realizados en una
transacción que finaliza correctamente son permanentes, y
deben ser inmunes a un fallo del sistema.
El modelo relacional
Desarrollado por E. F. Codd a finales de los sesenta.
Es el más extendido hoy en día. Motivos de su éxito:
ofrecen sistemas simples y eficaces para representar y manipular
los datos
se basan en un modelo, el relacional, con sólidas bases teóricas
(matemáticas): álgebra y teoría de conjuntos.
La estructura fundamental es la relación o tabla.
SQL es el lenguaje que se utiliza para manejar este tipo de
bases de datos.
Estándar ANSI (1986), ISO (1987). Versión actual SQL92. Aunque
la mayoría de las bases de datos solo implementan el “entry
level”.
Sirve para realizar tanto operaciones en los datos (DML) como en
su estructura (DDL).
El modelo objeto-relacional que hoy implementan las
compañías más importantes (IBM, Microsoft y Oracle) es una
extensión del mismo.
Debe ser estandarizado en parte con la adopción especificación
SQL3 (SQL1999).
El modelo relacional (2)
La estructura fundamental del modelo relacional es
precisamente esa, "relación", es decir una tabla bidimensional
constituida por líneas (tuplas) y columnas (atributos). Las
relaciones representan las entidades que se consideran
interesantes en la base de datos. Cada instancia de la entidad
encontrará sitio en una tupla de la relación, mientras que los
atributos de la relación representarán las propiedades de la
entidad.
En realidad, siendo rigurosos, una relación es sólo la definición
de la estructura de la tabla, es decir su nombre y la lista de
los atributos que la componen. Cuando se puebla con las
tuplas, se habla de "instancia de relación".
Las tuplas en una relación son un conjunto en el sentido
matemático del término, es decir una colección no ordenada
de elementos diferentes.
El modelo relacional (3)
Para distinguir una tupla de otra, se recurre al concepto de
"llave primaria", o sea a un conjunto de atributos que
permiten identificar unívocamente una tupla en una relación.
Naturalmente, en una relación puede haber más
combinaciones de atributos que permitan identificar
unívocamente una tupla ("llaves candidatas"), pero entre éstas
se elegirá una sola para utilizar como llave primaria.
Los atributos de la llave primaria no pueden asumir el valor
nulo (que significa un valor no determinado), en tanto que ya
no permitirían identificar una tupla concreta en una relación.
Esta propiedad de las relaciones y de sus llaves primarias está
bajo el nombre de integridad de las entidades (entity
integrity).
Normalización
El proceso de normalización es un estándar que
consiste, básicamente, en un proceso de conversión
de las relaciones entre las entidades, evitando:
La redundancia de los datos: repetición de datos en un
sistema.
Anomalías de actualización: inconsistencias de los datos
como resultado de datos redundantes y actualizaciones
parciales.
Anomalías de borrado: pérdidas no intencionadas de datos
debido a que se han borrado otros datos.
Anomalías de inserción: imposibilidad de adicionar datos en
la base de datos debido a la ausencia de otros datos.
Existen 4 formas normales básicas.
Existen algunas más menos extendidas y prácticas.
Las TRES formas normales
Se dice que una tabla se encuentra en primera
forma normal (1NF) si y solo si cada uno de los
campos contiene un único valor para un registro
determinado.
La segunda forma normal compara todos y cada uno
de los campos de la tabla con la clave definida. Si
todos los campos dependen directamente de la
clave se dice que la tabla está es segunda forma
normal (2NF).
Se dice que una tabla está en tercera forma normal
si y solo si los campos de la tabla dependen
únicamente de la clave, dicho en otras palabras los
campos de las tablas no dependen unos de otros.
.
Extensiones Objeto Relacionales
Nuevos tipos de datos:
BLOB
CLOB
Arrays
“Estructuras”
Tipos de datos definidos por el usuario.
Jerarquías de tablas.
Funciones sobrecargadas.
Implementaciones comerciales:
IBM DB2
Informix Universal Server (IDS 9.x)
Oracle 8i, muchas nuevas características en 9i.
Open Source:
PostgresSQL
Data Grid vs. Computational Grid
Primero surgió el concepto de Computational Grid:
Compartir recursos de cálculo a gran escala.
Transparente para el usuario.
Flexible, seguro.......
El Data Grid extiende los recursos a compartir a los
datos:
Compartir servidores: cinta, disco....
Grandes bases de datos distribuidas.
“Data mining” sobre bases de datos inhomogéneas.
"Access to distributed data is typically as important as
access to distributed computational resources."
Hoy en día los proyectos Grid también contemplan
compartir otros recursos como instrumentos de
medida.
Bases de datos en el Grid
La ausencia de un modelo unificado de almacenamiento de
datos es un problema potencial.
El “middleware” debe proporcionar métodos de acceso
transparente para consultar los distintos tipos de bases de
datos presentes.
Nuestro grupo ha propuesto el uso de XML como lenguaje
común de intercambio de datos.
Las bases de datos relacionales no tuvieron en un principio
muy buena acogida en grid pero:
Se fueron introduciendo en el campo del metadata, por ejemplo,
Spitfire del WP2 de EU DataGrid.
El paso al modelo tipo web services facilitará su integración ya
que es un campo más conocido para el desarrollo de aplicaciones
que usan bases de datos.
Las grandes empresas de software (de bases de datos) están
dando pasos para adaptarse al grid. Oracle ha denominado a la
última versión de su SGBD Oracle 10g.
Usos de Bases de Datos en Grid
Datos de las aplicaciones
Por ahora no son muy usadas para los datos en si.
Generalmente se usan ficheros planos.
Metadata de las aplicaciones
Catálogos de ficheros de datos.
Sirven para seleccionar los ficheros de datos que se quieren
usar.
Metadata del “middleware”
Monitorización
Replicas
…
Acceso a bases de datos en Grid
Un acceso grid a bases de datos debería ser posible
usando la Grid Security Infrastructure (GSI).
GSI está basado en el uso de claves públicas encriptadas,
certificados X.509, SSL...
Por ahora las bases de datos no admiten el acceso directo a
las mismas usando tecnologías grid (autentificación con
certificados, etc.) ¿Oracle 10g?
Autentificación GSI mediante middleware:
Spitfire (webservice front end):
• Mapeado de certificados de usuarios a roles en la base de
datos.
SRB (Storage Resource Broker):
• Admite la autentificación GSI de clientes ante servidores.
Tipos de metadata
Técnico
Localización, esquema físico, características de los datos,
propietario, versión, métodos de acceso.
Capacidades de las bases de datos.
Contextual
Esquema lógico, clasificaciones, terminologías, ontologías,
datos derivados.
Mapeo de esquema
Evolución y conversión del esquema
Proyectos:
MCAT (SRB)
Spitfire (EDG)
TOPOLOGIA
Registry
GDSR
Factory
GDSF
Analyst
Factory creates
GridDataService
Grid Data
Service
GDS
Consumer
GDS interacts
with database
Database
(Xindice, MySQL
Oracle, DB2)
Futuro
Migración a web/grid services
Nuevos casos de uso:
Queries distribuidas en grid
Aplicaciones grid que accedan directamente a bases
de datos
Adaptación a grid de bases de datos existentes:
Oracle 10g
IBM DB2 v8.1
MySQL (open source) (autentificación GSI en 4.1)
¿Será posible mantener una infraestructura estándar?