Bases de datos en Grid

Download Report

Transcript Bases de datos en Grid

GRIDS
& 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
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Bases de datos, Grids y e-Ciencia
David Rodríguez González
IFCA (CSIC-UC)
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Contenidos
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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Introducción a las Bases de Datos
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Introducció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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
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 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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
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 y objeto-relacionales.
Orientadas a objetos.
Acceso directo a objetos desde programas OO. Tipos de datos
flexibles, abstracción, etc.
Fracaso comercial.
XML.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
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 y Objeto-Relacionales: IBM DB2, Informix, Oracle, MySQL,
PostGress, SQL Server…
XML: Tamino, Apache Xindice, Berkeley dbXML…
OO: Objectivity
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Propiedades 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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
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 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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
El 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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
El 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).
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Diseñ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
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Las 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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
SQL
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….)
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Extensiones 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
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Bases 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 XML:DB 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),…
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Data Management en Grid
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Almacenamiento 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
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
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.
Metadatos de las aplicaciones
Catálogos de datos
Metadatos del “middleware”
Monitorización.
Réplicas.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Tipos 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)
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Servicios 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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Bases 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
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Spitfire
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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Catá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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Data 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
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
OGSA-DAI
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Data 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”).
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
DAIS 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).
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Proyecto 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).
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
OGSA-DAI
Request to Registry for sources of
data about “x”
Registry responds
with Factory
handle
service creation
API interactions
Request to Factory for access to
database
Factory returns handle of
GDS to client
Analyst
SOAP/HTTP
Registry
GDSR
Factory
GDSF
Factory creates
GridDataService
Client queries GDS with SQL,
XPath, XQuery etc
Query results
returned XML
OR
delivered to consumer
as XML
Consumer
Grid Data
Service
GDS
GDS interacts
with database
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Database
(Xindice, MySQL
Oracle, DB2)
OGSA: 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
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Requerimientos 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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Requerimientos 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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Componentes GT 4.0
GSI
New GridFTP
Pre-WS
GRAM
WS-Security
RFT
(WSRF)
WS-GRAM
(WSRF)
CAS
(WSRF)
RLS
CSF
(contribution)
SimpleCA
OGSA-DAI
MDS2
JAVA
WS Core
(WSRF)
WS-Index
(WSRF)
C WS Core
(WSRF)
pyGlobus
(contributed)
Authz
Framework
XIO
Security
Data
Management
Resource
Management
Information
Services
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
WS
Core
Servicios 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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Bases de datos y e-Ciencia
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Experimentos 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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Problemas
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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Desde el detector al usuario
event filter
(selection &
reconstruction)
processed
data
event
summary
data
raw
data
event
reconstruction
batch
physics
analysis
analysis objects
(extracted by physics topic)
event
simulation
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Grid 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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Componentes 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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Servicios de datos de gLite
File and Replica Catalog
File Transfer and Placement Services
gLite I/O
Metadata Catalog
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Data 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.
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006
Servicio de réplicas (Michael Ernst, CHEP04)
Metadata
Catalog
Attribute
Specification
Application/
Data Management
System
Logical Collection and
Logical File Name
Selected
Replica
SRM commands
Replica
Catalog
Multiple Locations
Replica
Selection
MDS
Performance
Information and
Predictions
Disk Cache
Tape Library
Disk Array
Replica Location 1
Disk Cache
Replica Location 2
Replica Location 3
Curso de Postgrado CSIC Grids & e-Ciencia Santander Junio 2006