Title: Spitfire
1 Spitfire A Relational DB Service for the Grid
Peter Z. Kunszt European DataGrid Data
Management CERN Database Group
2Motivation
- Small and large Grid applications
- working together to provide access to and
management of massive amounts of data - Examples
- replica metadata catalog, service registry,
application metadata, logging and performance
monitors - Use
- easy to use, interoperable and high-performing
database technology - Otherwise
- continue to use many proprietary approaches
towards metadata storage and retrieval
3Baseline
- Aim Unified Grid enabled front end to relational
databases. - Convenient, scalable and efficient storage,
retrieval and query of data held in any type of
local or remote RDBMS. - Core SQL functionality is insert, delete, update
and query. - Implement as Grid Service
4WP2 What did we sign up for?
- Metadata Management
- 'Simple' Grid Persistency
- Grid Metadata
- Application Metadata
- Metadata Replication and Consistency
- Publish information on the metadata service
5Local Application
Local Database
Local Computing
Grid Application Layer
Grid
Job Management
Data Management
Metadata Management
Object to File Mapper
Collective Services
Information Monitoring
Replica Manager
Grid Scheduler
Replica Catalog Interface
Replica Optimization
Underlying Grid Services
Computing Element Services
Authorisation, Authentication and Accounting
Replica Catalog
Storage Element Services
Spitfire MetaData Service
Service Index
Grid
Fabric services
Fabric
Node Installation Management
Monitoring and Fault Tolerance
Fabric Storage Management
Configuration Management
Resource Management
6Spitfire Architecture
- Atomic RDBMS is always consistent
- No local replication of data
- Role-based authorization
- Web/Grid Services Paradigm
- SOAP interfaces
- JDBC interface to RDBMS
- But not a 'real' distributed DBMS
- no distributed locking transactions (yet?)
- lazy consistency model
7The Local Layer
- Required from the local Site
- Any JDBC-enabled RDBMS backend. (PostGreSQL,
Oracle, ..) - Any Servlet Container. (Tomcat, Oracle
Application Server, WebSphere) - SSL
- Provides
- SOAP WSDL interface
- Role-based Authorization
- Simple Persistency
- Expiration based on a timestamp
8The Global Layer
- These are all only 'on the table' not worked
out in detail, see also Database BoF - Distributed Querying
- Needs additional information on the given data,
like definition of common schemata and indices. - Caching/Replication mechanisms
- Consistency
- Expiration
- Cleanup
- Transactions
9Local Layer Architecture
Client API
SSL Auth
Security Servlet
Translator Servlet
RDBMS
JDBC
Expiration Servlet
10Security Mechanism
Servlet Container
SSLServletSocketFactory
RDBMS
Trusted CAs
TrustManager
Revoked Certsrepository
Security Servlet
ConnectionPool
Authorization Module
Does user specify role?
Role repository
Translator Servlet
Role
Connectionmappings
Map role to connection id
11Local Layer Functionality
- DB Administration
- Create Database
- Delete Database
- Create Table
- Drop Table
- Role Administration
- Create Role
- Delete Role
- Update Role
- DB Information
- Quotas
- Memory, Disk space
- User Info
- Schemata
- Core Functionality
- Insert
- Update
- Delete
- Select
- Timestamps
- Set Table Timestamp
- Set Row Timestamp
- Connections
- Open Dedicated Connection
- Close Connection