- P. Baumann: Raster Databases – VLDB 2007
p.baumann@jacobs-university.de
Raster Databases
- tutorial -
Raster Databases - tutorial - VLDB 2007 Vienna, 25-sep-2007 Peter - - PowerPoint PPT Presentation
Raster Databases - tutorial - VLDB 2007 Vienna, 25-sep-2007 Peter Baumann Jacobs University Bremen, rasdaman GmbH P. Baumann: Raster Databases VLDB 2007 p.baumann@jacobs-university.de About the Presenter
p.baumann@jacobs-university.de
p.baumann@jacobs-university.de
www.faculty.jacobs-university.de/pbaumann
p.baumann@jacobs-university.de
p.baumann@jacobs-university.de
aerospace industry, turbines, process industry, astronomy, experimental physics, high energy physics, ...
p.baumann@jacobs-university.de
and work on auxiliary structure
but not on objects >>> main memory size
whenever possible
selection, data reduction high-level analysis
p.baumann@jacobs-university.de
Server App_n App_1 App_n App_1 DBMS App- Server
p.baumann@jacobs-university.de
p.baumann@jacobs-university.de
[Chang, Fu 1980; Stucky, Menzi 1989; Neumann et al 1992]
rasdaman array algebra [Baumann 1991] & system [Baumann 1994+] AQL [Libkin, Machlin, Wong 1996; Machlin 2007] AML [Marathe & Salem 1997, 1999]; RAM [Ballegooij, de Vries, Kersten 2003];
[Ordinez, Garcia 2007]
ESRI ArcSDE, Oracle GeoRaster [200x]
p.baumann@jacobs-university.de
for finite multi-dimensional interval X⊂Zd, d>0, algebraic structure F
X: spatial domain, F: Value set (range), Pixel, Voxel, ... (spatial) domain
dimensions
42 25 30
cell
Array constructor Condenser Sort
p.baumann@jacobs-university.de
result type F
MARRAYX,p( a[p] + b[p] ) =: a + b MARRAYX,p( p[0] )
find(a) = MARRAYX,x( f( a(x) ) ) unary induced operation
gind(a,b) = MARRAYX,x( g( a(x), b(x) ) ) binary induced operation
p.baumann@jacobs-university.de
containing a and pi
max_cells(), min_cells(), some_cells(), all_cells()
p.baumann@jacobs-university.de
p.baumann@jacobs-university.de
p.baumann@jacobs-university.de
typedef marray < unsigned char, [ 1:1024, 1:768 ] > XgaGreyImage;
my_coll array array OID
p.baumann@jacobs-university.de
< struct { double vx, vy; }, [ 0:*, 0:127, 0:63, 0:16 ] > ECHAM_T42_Windspeed;
p.baumann@jacobs-university.de
p.baumann@jacobs-university.de
eg, pyramids visible
declare g sdo_georaster; b blob; begin select raster into g from uk_rasters where id = 4; dbms_lob.createTemporary(b,true); sdo_geor.getRasterSubset( georaster => g, pyramidlevel => 0, window => sdo_number_array(0,0,699,899), bandnumbers => '0', rasterBlob => b ); end; select g.green[0:699,0:899] from uk_rasters as g where oid(g) = 4
p.baumann@jacobs-university.de
p.baumann@jacobs-university.de
access times independent from array position
access times independent from access sequence
p.baumann@jacobs-university.de
correlated
{ (x1,f1), (x2,f2), ..., (xn,fn) }
p.baumann@jacobs-university.de
Index
[Sarawagi, DeWitt]
p.baumann@jacobs-university.de
compression
performance, bus bandwidth, ...
eg rasj class RasStorageLayout
insertion
possible via API
p.baumann@jacobs-university.de
regular directional area of interest
p.baumann@jacobs-university.de
hot spots
high volume, frequent access
infrequent access, high volume
p.baumann@jacobs-university.de
p.baumann@jacobs-university.de
p.baumann@jacobs-university.de
heuristic optimization
cost-based optimization
select avg_cells( a + b ) from a, b select avg_cells( a ) + avg_cells( b ) from a, b
avg + a avg b avg +ind b a
p.baumann@jacobs-university.de
select jpeg( scale(bild0[...],[1:300,1:300]) * { 1c, 1c, 1c}
from ...
p.baumann@jacobs-university.de
[Ritsch 2000, Widmann 2001]
topt tindex tio
tcpu
ttransport 20% 40% 60% 80% 100% 50 200 350 500 650 800 950 1100 1250 1400 1550 1700 1850 2000 #cells [1000] per MDD ttransport tcpu tio tindex topt
p.baumann@jacobs-university.de
0,00 5,00 10,00 15,00 20,00 25,00 30,00 35,00 40,00 45,00 50,00 Query 1 Query 2 Query 3 Query 4 Query 5 Query 6 NoIter, NoOps Iter, Ops
Query 1: access to 2-D object Query 2: + 1 induced operation Query 3: + 2 induced operations Query 3: + 3 induced operations Query 4: + 4 induced operations Query 5: + 5 induced operations
[Ritsch 2000, Widmann 2001]
p.baumann@jacobs-university.de
p.baumann@jacobs-university.de
in face of non-trivial access patterns
values img[ f(x) ]
1 3 1
values condense +
using a[x+y] * kernel[y]
p.baumann@jacobs-university.de
p.baumann@jacobs-university.de
p.baumann@jacobs-university.de
data with original semantics, may be interpreted, extrapolated, etc."
p.baumann@jacobs-university.de
DLR-DFD: eoweb.dlr.de [Diedrich et al 2001] based on rasdaman
p.baumann@jacobs-university.de
for var in ( coverageList ) [ where condition(var) ] return processingExpr(var)
for m in ( ModisA, ModisB, ModisC ) where max( m.red > 127 ) return encode( m.red + m.nir, "tiff" ) ( tiff_A, tiff_C )
p.baumann@jacobs-university.de
wind speed x/y, humidity, pressure, CO2, ...
DKRZ: 24-node NEC SX-6
extent dimension 2,190,000 (200 years) time (24 min per time slice) 17 Elevation 64 Latitude 128 Longitude
p.baumann@jacobs-university.de
(Mega Parsec; 1 pc = 3.27 light years)
p.baumann@jacobs-university.de
and their cell components
per dimension
p.baumann@jacobs-university.de
select tiff( ht[ $1, *:*, *:* ] ) from HeadTomograms as ht, Hippocampus as mask where count_cells( ht > $2 and mask ) / count_cells( mask ) > $3
$1 = slicing position, $2 = intensity threshold value, $3 = confidence
p.baumann@jacobs-university.de
select jpeg( scale( {1c,0c,0c}*e[0,*:*,*:*] +{0c,1c,0c}*e[1,*:*,*:*] +{0c,0c,1c}*e[2,*:*,*:*], 0.2 ) ) from EmbryoImages as e
→
http://urchin.spbcas.ru/Mooshka/ [Samsonova et al]
p.baumann@jacobs-university.de
p.baumann@jacobs-university.de
p.baumann@jacobs-university.de
challenge in geo databases" [Xavier Lopez, Oracle]
commercialized + research vehicle