Title: GRIDS
1GRIDS e- Ciencia
- Curso Postgrado CSIC
- Junio 2006, Santander
- David Rodríguez González
- Consejo Superior de Investigaciones Científicas
- Instituto de Física de Cantabria, IFCA
- (Centro Mixto CSIC-Universidad de Cantabria)
- Santander SPAIN
2Bases de datos, Grids y e-Ciencia
- David Rodríguez González
- IFCA (CSIC-UC)
3Contenidos
- Introducción a las Bases de Datos
- Bases de datos relacionales
- Extensiones Objeto-Relacionales
- Bases de datos XML
- Data Management en Grid
- Almacenamiento distribuido.
- Uso de bases de datos en Grid
- Metadatos
- Data Management en algunos proyectos Grid.
- Bases de datos y e-Ciencia.
- Altas Energías.
4Introducción a las Bases de Datos
5Introducción Bases de Datos
- Colección de datos relacionados lógicamente.
- 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. - 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 muchas aplicaciones grid no necesitan
acceder a bases de datos, el middleware hace uso
de la mismas para diversas tareas como el control
de réplicas de los datos.
6Ventajas 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 está 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.
7Tipos 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 y objeto-relacionales.
- Orientadas a objetos.
- Acceso directo a objetos desde programas OO.
Tipos de datos flexibles, abstracción, etc. - Fracaso comercial.
- XML.
8SGBD 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 y Objeto-Relacionales IBM DB2,
Informix, Oracle, MySQL, PostGress, SQL Server - XML Tamino, Apache Xindice, Berkeley dbXML
- OO Objectivity
9Propiedades ACID
- Acrónimo inglés que se refiere a las siguientes
propiedades de un SGBD transaccional - Atomicity (Atomicidad) Todas las operaciones de
una transacción son ejecutadas o ninguna. - Consistency (Consitencia) Solo se ejecutan
transacciones que dejen a la base de datos en un
estado consistente al final, es decir, que no
violen las reglas de integridad (integrity
constraints). - Isolation (Aislamiento) ninguna operación fuera
de la transacción puede ver el estado de los
datos en un estado intermedio de esta. - Durability (Durabilidad) una vez realizada la
operación, ésta persistirá y no se podrá deshacer
aunque falle el sistema. - Estas propiedades permiten que los datos puedan
ser compartidos de forma segura.
10El 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
SQL3. Aunque la mayoría de las bases de datos
solo implementan el entry level del SQL92. - El modelo objeto-relacional que hoy implementan
las compañías más importantes (IBM, Microsoft y
Oracle) es una extensión del mismo.
Estandarizado en SQL3.
11El modelo relacional (2)
- La estructura fundamental del modelo relacional
es la "relación", 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 corresponde a una
tupla de la relación, mientras que los atributos
de la relación representan 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.
12El modelo relacional (3)
- Para distinguir una tupla de otra, se recurre al
concepto de "llave primaria (primary key) 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), porque en ese caso no permitirían
identificar una tupla concreta en una relación.
Esta propiedad de las relaciones y de sus llaves
primarias se denomina integridad de las entidades
(entity integrity).
13Diseño de Bases de Datos (Relacionales)
- Se pueden considerar tres niveles
- Conceptual proceso de construir un modelo de la
información que se quiere almacenar. - Independiente de toda consideración física.
- Modelo de Entidad-Relación (E-R).
- Lógico traslada la representación conceptual a
una estructura lógica (relaciones). - Estructura de los datos (tablas)
- Integridad de los datos
- Físico
14Normalizació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.
15Las cuatro 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. - Una tabla está en cuarta forma normal si y sólo
si para cualquier combinación clave - campo no
existen valores duplicados.
16SQL
- Acrónimo inglés para Structured Query Language
- Estándar. El SQL-92 entry level ha sido lo más
usado durante muchos años. En 1999 salió una
versión nueva del estándar (SQL3), que ha sufrido
algunas modificaciones en 2003. - Tres tipos de sentencias SQL
- DDL (Data Definition Language)
- Crear/modificar tablas, índices, vistas
(CREATE,ALTER) - DML (Data Manipulation Language)
- Consultas a la base de datos. (SELECT)
- Insertar, actualizar y borrar datos.(INSERT,UPDATE
,DELETE) - DCL (Data Control Language).
- Gestión de los permisos (GRANT, REVOKE.)
17Extensiones Objeto Relacionales
- Tipos de datos definidos por el usuario.
- Jerarquías de objetos.
- Funciones sobrecargadas.
- Implementaciones comerciales
- IBM DB2
- Informix Universal Server (IDS 9)
- Oracle 8, muchas nuevas características en 9i.
- Open Source
- PostGres SQL
18Bases de datos XML
- XML eXtensible Markup Language (lenguaje de
marcado extensible). Es una especificación del
World Wide Web Consortium (W3C). - Podemos distinguir entre
- Bases de datos nativa XML es, según la XMLDB
Initiative, un modelo lógico para documentos XML.
El SGBD correspondiente almacena y recupera
documentos de acuerdo a dicho modelo. - eXist, Apache Xindice, Berkeley dbXML.
- Base de datos compatible con XML (XML-enabled)
es una base de datos, por lo general O/R, que
admite entrada en forma de XML y proporciona
salida en este mismo formato. - Oracle, DB2 (Viper),
19Data Management en Grid
20Data 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.
21Almacenamiento distribuido
- Parte de la infraestructura de un Grid consiste
en recursos de almacenamiento distribuidos los
Storage Elements (SE). - Un SE es un servicio de acceso a datos
almacenados en un centro. Es una almacenamiento
grid-aware cercano a un Computing Element
(CE). - Estos proporcionan una forma de acceder a los
datos del sitio en cuestión que luego pueden
estar almacenados de formas diversas. - Interfases con MSS
22Usos 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.
- Metadatos de las aplicaciones
- Catálogos de datos
- Metadatos del middleware
- Monitorización.
- Réplicas.
23Tipos de metadatos
- 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. - Contexto para mapeo de esquema
- Evolución y conversión del esquema
- Proyectos
- MCAT
- Spitfire (EDG)
24Servicios de Réplica
- Los servicios de Réplica proporcionan grandes
ventajas en términos de disponibilidad de los
datos y rendimiento. - Términos
- LFN (Logical File Name) nombre lógico de un
fichero. Debe ser único pero puede ser
modificado. - GUID Identificador único por construcción
(UUID). Cada LFN tiene un GUID. Los GUIDs son
inmutables. - PFN (Physical File Name) Identifica una réplica
de un fichero. También SURL. - Replica Manager programa de gestión de las
réplicas. - Replica Catalog
- Relaciona los LFNs y los PFNs.
- Replica Location Service
- Registro distribuido.
- Almacena la localización de los datos.
- Permite descubrir las réplicas.
25Bases de Datos en EDG
- EL WP2 era el encargado del trabajo en el área de
Data Management. - Sus principales proyectos fueron
- Replicación
- Un primer prototipo de middleware de replicación
GDMP (Grid Data Mirroring Package, antes Grid
Data Management Pilot). - EDG 1.4.x
- edg-replica-manager
- Replica Catalog (el de globus retocado).
- EDG 2.x se desarrollo un sistema de replicas
nuevo, Reptor - EDG Replica Manager
- Replica Location Service (desarrollado junto con
Globus) - Replica Optimization Service
- RMC Replica Metadata Catalog
- Metadata Spitfire.
- Seguridad EDG-Java-Security
26Spitfire
- Spitfire permite acceder a bases de datos
relacionales desde el Grid. - Consiste en
- Spitfire Server
- Spitfire Client libraries
- Browser
- Ejecutables de línea de comando
- El objetivo es proporcionar un acceso
transparente y seguro a bases de datos de
metadata para applicaciones y otro middleware
Grid.
27Catálogos de Réplicas de EDG
- RLS
- Local Replica Catalog (LRC) mapea GUIDs a PFNs.
- Replica Location Index (RLI) mapea GUIDs a LRC.
- Replica Metadata Catalog (RMC)
- Mapea LFNs a GUIDs
- O(10) items of user metadata.
28Data Management en CrossGrid
- Se reutiliza en gran parte el trabajo de EDG
- En el WP3 se ha trabajado en Data Access
Optimization. Se ha mejorado lo que había en EDG
y se han aportado esas mejoras - Se usan bases de datos en
- Monitoring
- Migrating desktop
29OGSA-DAI
30Data Management en GGF
- El grupo DATA del Global Grid Forum se encarga de
temas diversos. - Replicación, Metadata, Movimiento de datos
(grid-ftp), Grid File Systems - Cubre todos los grupos de investigación y trabajo
relacionados con el manejo y movimiento de
grandes cantidades de datos en entornos Grid. - Lo más relacionado con bases de datos se realiza
en el Working Group DAIS (Data Acces and
Integration).
31DAIS WG
- Es un Working Group del Global Grid Forum
- Se encarga de coodinar las actividades de
desarrollo de componentes para permitir el acceso
e integración de bases de datos en el Grid. - Su principal tarea es identificar formas
consistentes y efectivas de hacer disponibles en
un entorno Grid bases de datos existentes
administradas de manera autónoma. - Su página web original está alojada en la
Universidad de Manchester, y el grupo está
liderado por genre de la iniciativa UK E-Science
(Database Task Force). - DAIS WG Nueva página en GGF (gridforge).
32Proyecto OGSA DAI
- Quiere decir Open Grid Services Architecture
Data Access and Integration. Su página web es
http//www.ogsadai.org.uk/ - Su objetivo es elaborar middleware para
permitir el acceso e integración de fuentes de
datos distribuidas en el Grid. - Son los servicios relacionados con el acceso a
bases de datos de la nueva arquitectura orientada
a servicios del Grid OGSA. - Es un proyecto del UK Database Task Force que
trabaja estrechamente con el DAIS-WG del GGF y
con el Globus team. - En su primera fase se encargo de identificar los
requerimientos para tales servicios, y en diseñar
soluciones y un prototipo. - Continuado por el proyecto DAIT (también
británico).
33OGSA-DAI
Request to Registry for sources of data about x
Registry GDSR
Request to Factory for access to database
Registry responds with Factory handle
Factory GDSF
Analyst
Factory returns handle of GDS to client
Factory creates GridDataService
Client queries GDS with SQL, XPath, XQuery etc
Database (Xindice, MySQL Oracle, DB2)
Query results returned XML
Grid Data Service GDS
ORdelivered to consumer as XML
Consumer
GDS interacts with database
34OGSA Servicios de datos
- Objetivos
- Mover los datos a donde se necesitan
- Gestionar las replicas
- Correr queries y actualizaciones
- Transformación entre distintos formatos
- Gestión de metadata
- Tipos de recursos de datos
- Fichero plano
- Streams
- SGBD
- Catálogo
- Datos derivados
35Requerimientos Data Management OGSA
- Acceso a datos
- Se requiere que se provea acceso sencillo y
eficiente a varios tipos de datos (tales como
streaming y cache) independientemente de su
localización física, por medio de la abstracción
de los datos. - También se requieren mecanismos para controlar
los permisos de acceso en diferentes niveles de
granularidad. - Consistencia de los datos
- La consistencia se debe mantener cuando los datos
son cacheados o replicados. - Persistencia de los datos
- Los datos y su asociación con su metadata debe
mantenerse durante todo su tiempo de vida.
36Requerimientos Data Management OGSA (2)
- Integración de los datos
- OGSA debe proveer mecanismos para integrar datos
heterogéneos y distribuidos. - También se requiere la posibilidad de buscar los
datos disponibles en varios formatos de una
manera uniforme. - Aprovisionamento de datos
- Los datos requeridos deben ser puestos a
disposición en el lugar requerido - OGSA debe permitir la elección entre varias
posibilidades como transferencia, copia y
caching, dependiendo de la naturaleza de los
datos.
37Componentes GT 4.0
pyGlobus (contributed)
Authz Framework
Data Management
Security
WS Core
Resource Management
Information Services
38Servicios de Datos en GT 4.0
- GridFTP protocolo de transferencia de datos.
- RFT (Reliable File Transfer Service) Se encarga
del movimiento de datos en GT4 (WSRF-enabled).
Internamente usa GridFTP. - RLS (Replica Location Service) Registro
distribuido de las copias de los datos
existentes. - DRS (Data Replication Service) usa RLS y RFT
para asegurar que los nodos disponen de copias
locales de los datos cuando sea necesario. - DAIS (Data Access and Integration Service)
Servicio de acceso a bases de datos relacionales
y XML.
39Bases de datos y e-Ciencia
40Experimentos de Altas Energías
- Los datos se toman en un pequeño número de
instalaciones (experimentos). - Pero deben poder ser consultados y procesados
desde muchos lugares potencialmente distribuidos
por todo el mundo. - El procesado y la transferencia de datos puede
necesitar de muchos recursos. - Los científicos implicados pueden necesitar el
acceso tanto a los datos procesados como a los
originales tal y como salen del experimento (raw
data). - Esto debe hacerse de forma eficiente a una escala
internacional.
41Problemas
- Nos encontraremos problemas derivados del volumen
de datos sin precedentes. - También el tener los datos replicados en muchas
localizaciones resulta en un problema potencial
de consistencia. - Para evitar esto únicamente se replicarán, en
principio, datos de solo lectura.
42(No Transcript)
43Desde el detector al usuario
event filter (selection reconstruction)
processed data
event summary data
raw data
batch physics analysis
event reconstruction
analysis objects (extracted by physics topic)
event simulation
44Grid en LHC
- Las tecnologías Grid han pasado a ser una parte
importante dentro la computación para LHC - Grandes volúmenes de datos.
- Grandes necesidades de computo que ya no se
pueden satisfacer de forma centralizada en el
CERN. - Recursos de cálculo y de almacenamiento
disponibles en centros en los distintos países
que colaboran en los experimentos. - MONARC modelo de computación en centros
regionales distribuidos de forma jerárquica que
fue desarrollado para LHC. - MONARC encaja bien con la filosofía Grid.
- LCG LHC Computing Grid.
- Ahora gLite.
45Componentes LCG
- Globus Toolkit (GT2) del proyecto Globus
- Condor system University of Wisconsin, Madison
- Virtual Data Toolkit Univeristy of Wisconsin,
Madison. - Paquetes del DataGrid Project (EDG).
- Nuevos componentes middleware desarrollados como
parte del toolkit gLite del EGEE project.
46Servicios de datos de gLite
- File and Replica Catalog
- File Transfer and Placement Services
- gLite I/O
- Metadata Catalog
47Data Management en LCG
- Lcg_utils
- LFC (LCG File Catalog) maps LFNs to replicas in
a UNIXlie virtual file system. - Developed as quick response to Data challenge
feedback. - Espacio de nombres jerárquico
- Oracle y MySQL backends disponibles
- Tested and shown to be scalable to at least 40
million entries, 100 client threads (Caitriana
Nicholson HPDC-14). - Storage Resource Manager Interface (SRM) es un
servicio que gestiona la interacción con el
almacenamiento local y provee una interfase cpara
recursos externos. - SRM provee reserva dinámica de espacio y gestión
de ficheros en SEs. - SRM soporta negociación de protocolo y un sistema
de réplica fiable. - La especificación SRM estadariza el interfase,
permitiendo así, el acceso uniforme a SEs
heterogéneos.
48Servicio de réplicas (Michael Ernst, CHEP04)
Attribute Specification
Replica Catalog
Metadata Catalog
Application/ Data Management System
Multiple Locations
Logical Collection and Logical File Name
Selected Replica
Replica Selection
MDS
SRM commands
Performance Information and Predictions
Disk Cache
Tape Library
Disk Array
Disk Cache
Replica Location 1
Replica Location 2
Replica Location 3