170 likes | 303 Views
Databases and the Grid. Peter Brezany Institut e für Scientific Computing Universit y of Vienna Diplomarbeit: Mobile Computing (Dr. Karin Hummel). This lecture part outlines how databases can be integrated into the Grid. Most existing and proposed applications are file-based.
E N D
Databases and the Grid Peter Brezany Institute für Scientific Computing University of Vienna Diplomarbeit: Mobile Computing (Dr. Karin Hummel)
This lecture part outlines how databases can be integrated into the Grid. Most existing and proposed applications are file-based. Consequently, there has been little work on how databases can be made available on the Grid for access by distributed applications. If the Grid is to support a wider range of applications, then database integration into the Grid will become important. E.g. many applications in the life and earth sciences, and many business applications are heavily dependent on databases. The database integration into the Grid is not possible just by adopting or adapting the existing Grid services that handle files, as databases offer much richer operations (e.g. queries and transac-tions), and there is much greater heterogeneity between different database management systems than there is between different file systems. There are major differences between database paradigms (e.g. object and relational) – within one paradigm different database products (e.g. Oracle and DB2) vary in their functionality and interfaces. Introduction
Existing DB systems do not offer Grid integration. They are however result of many hundreds of person-years of effort that allows them to provide a wide range of functionality, valuable programming interfaces and tools, and important properties such as security, performance, dependability (Verlässlichkeit), and (new development) autonomous behaviour. Because the above attributes will be required by Grid applications, scientists strongly believe that building new Grid-enabled database management systems (DBMSs) from scratch is both unrealistic and a waste of effort. Instead we must consider how to integrate existing DBMSs into the Grid. Introduction (2)
If database data is to be accessible in Grid applications, then a Database System must supportthe relevant, existing, existing and emerging, Grid standards; for example the Grid SecurityInfrastructure (GSI).These standards should bear in mind the requirements of databases. A typical application may consist of a computation that queries one or more databases and carries outfurther analysis on the retrieved data. If the compute and database systems all conformto the same standards for security,accounting, performance monitoring and scheduling etc. then the task of buildingsuch applications will be greatly simplified. Note:A Database System (DBS) is created, using a DBMS, to manage a specific database.The DBS includes any associated application software. Many Grid applications willneed to utilize morethan one DBS. To reduce the effort required to achieve this, federated databases use a layer ofmiddleware running on top of autonomous databases, to present applications with some degree of integration. Other requirements of applications on Grid-enabled DBMS: scalability, handling unpredictableusage, metadata-driven access, multiple database federation, etc. Basic Grid Database Requirements
Two possible approaches: Grid-enabled version of JDBC/ODBC - The core set of functionality offered byJDBC/ODBC does not include a number of operations to fulfill Grid database requirements. Service-based approach shown in the next slide, with a service wrapper placed between theGrid and the DBS Integrating Databases into the Grid
Grid Database Access With OGSA-DAI GDS gets a query via Perform Document GDS Engine process specified activities GDS returns results
Grid Data Mediation Service (our own development): Federation of Databases - Architecture
Heterogeneities: Name in A is „Alexander Wöhrer“ Name in C has to be combined Distribution: 3 data sources GDMS – Example Scenario
Literature Sources http://www.cs.man.ac.uk/grid-db/ http://www.gridminer.org/
Distributed Query Processing on the Grid A representative query over bioninformatics resources is used as an example. The query accesses 2 databases: (1) the Gene Ontology database GO (www.geneontology.org) stored in a MySQL (www. mysql.com) RDBMS; and (2) GIMS, a genome database running on a Polar parallel object DB server. The query also calls a local installation of the BLAST sequence similarity program (www.ncbi.nlm.nih.gov/BLAST/) which, given a protein sequence, returns a set of structures containing protein Ids and similarity scores. The query identifies proteins that are similar to the human proteins with the GO term 8372.
Distributed Query Processing on the Grid selectstruct(A:c.proteinID, B:Blast(c.sequence))from c in proteins, d in proteinTerms where d.termID="8372" and c.proteinID=d.proteinID;
In the query, protein is a class extent in GIMS, while proteinTerm is a table in GO. Therefore, as illustrated in the figure, the infrastructure initiates 2 subqueries: one on GIMS, and the other on GO. The results of these subqueries are then joined in a computation running on the Grid. Finally, each protein in the result is used as a parameter to the call to BLAST. One key opportunity created on the Grid is the flexibility it offers on resource allocation decisions. In our example, machines need to be found to run both the join operator, and the operation call. If it is a danger that the join will be the bottleneck in the query, than it could be allocated to a system with large amounts of main memory so as to reduce IO costs asociated with the management of intermediate results. Distributed Query Processing on the Grid
Further, a parallel algorithm could be used to implement the join, so a set of machines acquired on the Grid could each contribute to its execution. Similarly, the BLAST calls could be speeded-up by allocating a set of machines, each of which can run BLAST on a subset of the proteins. The information needed to make these resource allocation decisions comes from 2 sources: (1) the query optimizer estimates the cost of executing each part of a query and so identifies performance critical operations; (2) the Globus Grid infrastructure provides information on available resources. Distributed Query Processing on the Grid