www.resc.rdg.ac.uk
Download
Report
Transcript www.resc.rdg.ac.uk
Managing and serving large volumes
of gridded spatial environmental data
Adit Santokhee, Chunlei Liu, Jon Blower, Keith Haines
Reading e-Science Centre
University of Reading, United Kingdom
Ian Barrodale, E. Davies
Barrodale Computing Services Ltd.,
Victoria, Canada
http://www.resc.rdg.ac.uk
[email protected]
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
Background
At Reading we hold copies of various datasets (~2TB)
–
–
–
–
Mainly from models of oceans and atmosphere
Four-dimensional, spatio-temporal data
Also some observational data (e.g. satellite data)
From UK Met Office, National Oceanography Centre, European Centre
for Medium Range Weather Forecasts (ECMWF), more
Most of these datasets are in the form of files
–
–
–
–
Variety of formats (e.g. NetCDF, GRIB, HDF5)
Large 4D spatio-temporal grids
Contain data about many variables (e.g. temperature, salinity etc)
Data are discretized on a number of different grids (e.g. standard lat-lon
grids of different resolutions, rotated grids)
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
Background (2)
We required a Web Service interface to this data store
– Hence development of GADS (Grid Access Data Service)
– Developed as part of GODIVA project (Grid for Ocean Diagnostics,
Interactive Visualisation and Analysis NERC e-Science pilot project)
– Originally developed by Woolf et al (2003)
GADS similar to OPeNDAP in principle, but uses SOAP messaging
instead of URL-based queries
– Hides more details of storage than OPeNDAP
Modern database systems now include capability for storing
geospatial data
– ReSC has been evaluating Informix with Grid DataBlade
– Our data are spatio-temporal, i.e. four dimensional! (x, y, z, t)
– A lot of geospatial systems are “two and a half”-dimensional.
We are investigating whether data can be managed and served
more efficiently by being stored in DB
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
GADS
User’s don’t need to know anything about storage details
Can expose data with conventional names without changing data files
Users can choose their preferred data format, irrespective of how data
are stored
Behaves as aggregation server
– Delivers single file, even if original data spanned several files
Deployed as a Web Service
– Can be called from any platform/language
– Can be called programmatically (easily incorporated into larger systems),
workflows
– Java / Apache Axis / Tomcat
Doesn’t support “advanced” features like interpolation, re-projection,
etc
Will be re-engineered as WCS-compliant in near future
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
GODIVA Web Portal
(http://www.nerc-essc.ac.uk/godiva)
• Allows users to
interactively
select data for
download using a
GUI
• Users can create
movies on the fly
• cf. Live Access
Server
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
The Grid DataBlade
Plug-in for the IBM Informix database (also version for PostgreSQL)
Written, supplied and supported by Barrodale Computing Services
Stores gridded data and metadata in an object-relational DBMS
– Any data on a regular grid, not just met-ocean
– Stores grids using a tiling scheme in conjunction with Smart BLOBS
– Manages own (low-level) metadata automatically
Provides functions to load data directly from GIEF (Grid Import
Export Format) file format (netCDF)
– Metadata is automatically read from the GIEF file
Provides functions to extract data from the grids
– Extractions can be sliced, subsetted or at oblique angles to the original
axes
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
Main features of the Grid DataBlade
Can store:
–
–
–
–
–
1D: timeseries, vectors
2D: raster images, arrays
3D: spatial volumes, images at different times
4D: volumes at different times
5D: 4D grids with a set of variables at each 4D point
Provides interpolation options using N-Linear, nearestneighbour or user-supplied interpolation schemes
Provides C, Java and SQL APIs
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
Example use of Grid DataBlade
Using North
Atlantic FOAM
Data
extract data along a path e.g. along a ship track that involves many
“legs”. The DataBlade automatically does interpolation along the path.
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
Testing Methodology
A key criterion for evaluating a data server is the time required to extract
a certain volume of data from an archive and re-package it as a new
file, ready for download
We performed test extractions of data from the UK Met Office
operational North Atlantic marine forecast dataset, which has a total
size of 100 GB
The data are stored under GADS as a set of NetCDF files and another
copy is held in the Informix database
– There is one NetCDF file per time step, i.e. one per model day, in GADS
– Data ordering is (time, depth, latitude, longitude)
We tested many parameters that control the data extraction time,
including:
– size of the extracted data in MB
– number of source files used in the extraction
– shape of the extracted data volume
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
Testing: notes
GADS is just an interface: we are really comparing the
DataBlade with the latest version of the Java NetCDF API
We also tested our OPeNDAP aggregation server
– Much slower than both GADS and DataBlade
– Probably because it was based on earlier NetCDF API
– Would expect performance to be close to that of GADS with same
API.
– Detailed results not reported here
Reported times include time to parse query, search metadata,
extract data and produce data product
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
Preliminary test results
Comparison between DataBlade and GADS for small area
extraction
18
16
Response time (s)
14
12
10
DataBlade
GADS
8
6
4
2
0
1
2
3
4
5
6
Data Size (MB)
Shape of extracted data : 50 * increasing depth * 50 * 50
DataBlade is faster than GADS for small data extraction
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
Preliminary test results
Comparison between DataBlade and GADS
90
80
Response time (s)
70
60
50
DataBlade
40
GADS
30
20
10
0
10
20
30
40
50
60
70
80
90
100
Data Size (MB)
Shape of extracted data : 50 * increasing depth * 200 * 200
DataBlade’s performance declines sharply around 40 MB point
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
Preliminary test results
Comparison between GADS and DataBlade
10
9
GADS :
Max 360 FILES
Time (Minutes)
8
7
6
GADS
5
DataBlade
4
3
DataBlade :
Max 12 SBLOBs
(1 blob = 30 Files)
2
1
0
30
60
90
120
150
180
210
240
270
300
330
360
Number of source files
Shape of extracted data : fixed depth level but different lat-lon space
DataBlade’s performance declines around 40 MB point (120 files)
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
Preliminary test results
DataBlade : Extracting data from single BLOB compared to
multiple BLOBS
200
180
Response Time (s)
160
140
120
Single BLOB
100
Multiple BLOBS
80
60
40
20
0
10
20
30
40
50
60
70
80
90
100
Data Size (MB)
Shape for single BLOB extract: time * 1 * 128 * 200
Shape for 10 BLOBS extract : 10 * 1 * 128 * 200 (per BLOB)
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
Preliminary test results
GADS : Extracting data from single file compared to multiple files
18
16
Response time (s)
14
12
10
Single file
100 files
8
6
4
2
0
1
2
3
4
5
6
7
8
Data Size (MB)
Shape for single File extract : 1*depth*400 *400
Shape for 100 Files extract : 100*1*lat*lon
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
Preliminary test results
GADS: Extracting large amounts of data
2
GADS (360 files and single depth
level)
Time (minutes)
GADS (30 files and multiple depth
levels)
1
0
10
20
30
40
50
60
70
80
90
100 110 120 130 140 150
Data Extracted (MB)
Shape for 360 Files : 360 * 1 * lat * lon
Shape for 30 Files : 30 *10 * lat * lon
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
Conclusions (1)
We found that in general, for extracted data volumes below 10MB,
the database outperformed GADS
Above 40MB, GADS was generally found to be capable of the fastest
extractions
The performance of the DataBlade decreased dramatically when
attempting to extract more than 100MB of data in a single query
With DataBlade, extracting large amounts of data from a single blob
is also faster than extracting similar sized data from multiple blobs
but the difference is small for small areas
– Similarly with GADS the extraction time increases with the number of
source files involved
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
Conclusions (2)
The Grid DataBlade is optimised to support its entire feature set;
in particular, it is optimised to retrieve relatively small (a few tens
of megabytes) of data rapidly in the case where multiple users
are querying the database simultaneously
– Multiple simultaneous connections not yet tested
Data archives (where users typically download large amounts of
data at a time) most efficiently implemented using something
like GADS
Data browse tools (where one needs to quickly generate
pictures of small subsets of data in different projections) best
implemented using something like the DataBlade
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com
Future Work
GADS will be re-engineered as OGC-compliant Web Coverage Server
The DataBlade does not support spherical rotations of the latitude-longitude
geographic coordinate system (i.e., shifts of poles).
– A lot of the model data we are dealing with are actually stored as rotated grids
with the North Pole shifted
There is currently no (efficient) way to fetch portions of a grid based on its
contents
– for example, “in what locations did the temperature exceed 25 Celsius during the
summer of 2003?”
It is also not currently possible to create virtual datasets
– Would like to dynamically create a density field from temperature and salinity
Evaluation of Grid DataBlade for PostgreSQL DBMS
Feeding results back to NetCDF engineers
BARRODALE
COMPUTING
SERVICES LTD.
www.barrodale.com