SlideShare a Scribd company logo
1 of 46
Download to read offline
SciQL
Bridging the Gap between Science
and Relational DBMS

Ying Zhang, Martin Kersten, Niels Nes
CWI Amsterdam
Dec. 03, 2012

Virtual(Observatory(Infrastructure(
for(Earth(Observation(Data

Project(acronym:(
TELEIOS
Grant(agreement(no:(( FP7(8 257662
Who needs arrays anyway?
Seismology

– 1-D waveforms, 3-D spatial data

Astronomy

– temporal ordered rasters

Climate simulation

– temporal ordered grid

Remote sensing

– images of 2-D or higher

Genomics

– ordered DNA strings

Forensics

– images, strings, graphs

Scientists love arrays: FITS, MSEED, NETCDF, HDF5…
but also use: lists, tables, XML, ...

2012-12-03

Ying Zhang

2
Arrays In DBMS
Research issues already in the 80’s
Algebraic frameworks

OODB, multi-dimensional DBMS,
Sequence DBMS, ...
The Longhorn Array Database

(S)RAM, AQL, AML, ...

RasDaMan

SQL language extension

Store large arrays in chunks as BLOBs

RasQL, AQuery, SRQL, …

Array query (RasQL) optimisation on
top of DBMS

a notion of order

Known to work up to 12 TBs!

PostgreSQL 8.1

SQL:1999, SQL:2003

SciDB

collection type, C-style arrays

Array DBMS from scratch

aggregation functions over arrays

Overlapping chunks for parallel
execution

2012-12-03

Ying Zhang

3
What Not RDBMS?
SQL is difficult
Appropriate array denotations?
Functional complete operation set?

DBMSs are slow
Too much overhead
Size limitations (due to BLOB representations)?
Existing foreign files?
Scale
...

2012-12-03

Ying Zhang

4
SciQL
An array query language based on SQL:2003
Lower the entrance fee to RDBMSs
Reveal optimisation opportunities

Distinguish features (Kersten et al., AD’11; Zhang et al.
IDEAS2011):
Arrays and tables as first class citizens of DBMSs
Seamless integration of relational and array paradigms
Named dimensions with constraints
Flexible structure-based grouping

2012-12-03

Ying Zhang

5
Array Definitions
y
3

0.0

0.0

0.0

0.0

2

0.0

0.0

0.0

0.0

1

0.0

0.0

0.0

0.0

0

0.0

0.0

0.0

0.0

0

1

2

3

x

CREATE ARRAY A1 (
x INT DIMENSION [0:1:4], y INT DIMENSION [0:1:4],
v FLOAT DEFAULT 0.0);

2012-12-03

Ying Zhang

6
Array Definitions
y
3

0.0

0.0

0.0

0.0

2

0.0

0.0

0.0

0.0

1

0.0

0.0

0.0

0.0

0

0.0

0.0

0.0

0.0

0

1

2

3

x

CREATE ARRAY A1 (
x INT DIMENSION [0:1:4], y INT DIMENSION [0:1:4],
v FLOAT DEFAULT 0.0);
dimensions,
any scalar data type

2012-12-03

Ying Zhang

6
Array Definitions
y
3

0.0

0.0

0.0

0.0

2

0.0

0.0

0.0

0.0

1

0.0

0.0

0.0

0.0

0

0.0

0.0

0.0

0.0

0

1

2

3

x

CREATE ARRAY A1 (
x INT DIMENSION [0:1:4], y INT DIMENSION [0:1:4],
v FLOAT DEFAULT 0.0);
dimensional range:
[(start|∗) : (step|∗) : (stop|∗)]

2012-12-03

Ying Zhang

7
Array Definitions
y
3

0.0

0.0

0.0

0.0

2

0.0

0.0

0.0

0.0

1

0.0

0.0

0.0

0.0

0

0.0

0.0

0.0

0.0

0

1

2

3

x

CREATE ARRAY A1 (
x INT DIMENSION [0:1:4], y INT DIMENSION [0:1:4],
v FLOAT DEFAULT 0.0);

cell values,
any column data type
2012-12-03

Ying Zhang

8
Array Definitions
y
3

0.0

0.0

0.0

0.0

2

0.0

0.0

0.0

0.0

1

0.0

0.0

0.0

0.0

0

0.0

0.0

0.0

0.0

0

1

2

3

x

CREATE ARRAY A1 (
x INT DIMENSION [0:1:4], y INT DIMENSION [0:1:4],
v FLOAT DEFAULT 0.0);

fixed array

2012-12-03

Ying Zhang

9
Array Definitions
Unbounded array
CREATE ARRAY A2 (
x INT DIMENSION[1:*],
y INT DIMENSION,
v FLOAT DEFAULT 0.0);
y
3
2

null

1
0
0

2012-12-03

1

2

Ying Zhang

3

x

10
Array Definitions
Unbounded array
CREATE ARRAY A2 (
x INT DIMENSION[1:*],
y INT DIMENSION,
v FLOAT DEFAULT 0.0);

INSERT INTO A2 VALUES
(1,0,5.5), (1,1,0.4), (2,2,4.5);

y
3
2

null

1
0
0

2012-12-03

1

2

Ying Zhang

3

x

10
Array Definitions
Unbounded array
CREATE ARRAY A2 (
x INT DIMENSION[1:*],
y INT DIMENSION,
v FLOAT DEFAULT 0.0);

INSERT INTO A2 VALUES
(1,0,5.5), (1,1,0.4), (2,2,4.5);

y
null

3
2
1

0.0 null 4.5
0.4
0.0

0

5.5

0.0

1

2

0

2012-12-03

null

Ying Zhang

null

3

x

10
Array Definitions
Unbounded array
CREATE ARRAY A2 (
x INT DIMENSION[1:*],
y INT DIMENSION,
v FLOAT DEFAULT 0.0);

INSERT INTO A2 VALUES
(1,0,5.5), (1,1,0.4), (2,2,4.5);

current range
y
null

3
2
1

0.0 null 4.5
0.4
0.0

0

5.5

0.0

1

2

0

2012-12-03

null

Ying Zhang

null

3

x

10
Array & Table Coercions
SELECT x, y, v FROM A1;
CREATE ARRAY A1 (
x INT DIMENSION[0:1:4],
y INT DIMENSION[0:1:4],
v FLOAT DEFAULT 0.0);
y
3

0.0

0.0

0.0

0.0

2

0.0

0.0

0.0

0.0

1

0.0

0.0

0.0

0.0

0

0.0

0.0

0.0

0.0

0

1

2

3

2012-12-03

x

x
0
0
0
0
1
1
1
1
2
2
2
2
3
3
3
3

y
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
Ying Zhang

v
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0

full materialisation!

11
Array & Table Coercions
SELECT [x], [y], v FROM T2;
CREATE TABLE T2 (
x INT, y INT,
v FLOAT DEFAULT 0.0);
INSERT INTO T2 VALUES
(1,0,5.5), (1,1,0.4),
(2,2,4.5), (1,1,1.3);
x

y

v

1

0

5.5

1

1

0.4

2

2

4.5

1

1

1.3

dimension qualifiers: ‘[’, ‘]’

y
null

3
2
1
0
0

4.5

0.4

0.0

5.5

null

0.0

0.0

1

2

null

null

3

x

An unbounded array
dimension ranges derived from the minimal bounding box
cells values from the table or the column default
duplicates are overwritten arbitrarily
2012-12-03

Ying Zhang

12
Array Modifications
DELETE FROM A1 WHERE x = 1;

y
3

0.0

null

0.0

0.0

2

0.0

null

0.0

0.0

1

0.0

null

0.0

0.0

0

0.0

null

0.0

0.0

0

1

2

3

x

creates holes in the array

2012-12-03

Ying Zhang

13
Array Modifications
UPDATE A1 SET v = 0.5 WHERE y = 1;
INSERT INTO A1 VALUES
(0,1,0.5), (1,1,0.5), (2,1,0.5), (3,1,0.5);
y
3

0.0

0.0

0.0

0.0

2

0.0

0.0

0.0

0.0

1

0.5

0.5

0.5

0.5

0

0.0

0.0

0.0

0.0

0

1

2

3

x

set/change cell values
overwrite existing values

2012-12-03

Ying Zhang

14
Array Views
CREATE VIEW A2 AS
SELECT [x], [y], v FROM A1[1:3][1:3];

y
3

0.0

0.0

0.0

0.0

2

0.0

0.0

0.0

0.0

1

0.5

0.5

0.5

0.5

0

0.0

0.0

0.0

0.0

0

1

2

3

x

array view A2

2012-12-03

Ying Zhang

15
Array Views
CREATE ARRAY VIEW A3 (
x INT DIMENSION [-1:1:5],
y INT DIMENSION [-1:1:5],
w FLOAT DEFAULT 0.0) AS
SELECT [x], [y], v FROM A1;

y
3

-1.0 -1.0 -1.0 -1.0

2

-1.0 -1.0 -1.0 -1.0

1

-1.0 0.5

0

-1.0 -1.0 -1.0 -1.0
0

2012-12-03

1

0.5

2

Ying Zhang

0.5

3

x

16
Array Views
CREATE ARRAY VIEW A3 (
x INT DIMENSION [-1:1:5],
y INT DIMENSION [-1:1:5],
w FLOAT DEFAULT 0.0) AS
SELECT [x], [y], v FROM A1;

y
4
3

0.0 -1.0 -1.0 -1.0 -1.0 0.0

2

0.0 -1.0 -1.0 -1.0 -1.0 0.0

1

0.0 -1.0 0.5

0

0.0 -1.0 -1.0 -1.0 -1.0 0.0

-1

0.0

0.0

0.0

0.0

0.0

0.0

-1

2012-12-03

0.0

0.0

0.0

0.0

0

1

2

3

4

0.5

Ying Zhang

0.0

0.5

0.0

0.0

x

17
Array Tiling
SELECT [x], [y], AVG(v) FROM A1
GROUP BY A1[x:x+2][y:y+2];

y
3

0.0

0.0

0.0

2

0.0

0.0

0.0

0.0

1

0.0

0.5

0.5

0.5

0

0.0

0.0

0.0

0.0

0

2012-12-03

0.0

1

2

3

Ying Zhang

x

18
Array Tiling
SELECT [x], [y], AVG(v) FROM A1
GROUP BY A1[x:x+2][y:y+2];

y
3

0.0

0.0

2

0.0

0.0

0.0

0.0

0.0

0.5

0.5

0.5

0

0.0

0.0

0.0

0.0

0

2012-12-03

0.0

1

Anchor point:
A1[x][y]

0.0

1

2

3

Ying Zhang

x

18
Array Tiling
SELECT [x], [y], AVG(v) FROM A1
GROUP BY A1[x:x+2][y:y+2];

y
3

0.0

0.0

2

0.0

0.0

0.0

0.0

0.0

0.5

0.5

0.5

0

0.0

0.0

0.0

0.0

0

2012-12-03

0.0

1

Anchor point:
A1[x][y]

0.0

1

2

3

Ying Zhang

x

18
Array Tiling
SELECT [x], [y], AVG(v) FROM A1
GROUP BY A1[x:x+2][y:y+2];

y
3

0.0

0.0

2

0.0

0.0

0.0

0.0

0.0

0.5

0.5

0.5

0

0.0

0.0

0.0

0.0

0

2012-12-03

0.0

1

Anchor point:
A1[x][y]

0.0

1

2

3

Ying Zhang

x

18
Array Tiling
SELECT [x], [y], AVG(v) FROM A1
GROUP BY A1[x:x+2][y:y+2];

y
3

0.0

0.0

2

0.0

0.0

0.0

0.0

0.0

0.5

0.5

0.5

0

0.0

0.0

0.0

0.0

0

2012-12-03

0.0

1

Anchor point:
A1[x][y]

0.0

1

2

3

Ying Zhang

x

18
Array Tiling
SELECT [x], [y], AVG(v) FROM A1
GROUP BY A1[x:x+2][y:y+2];

y
3

0.0

0.0

2

0.0

0.0

0.0

0.0

0.0

0.5

0.5

0.5

0

0.0

0.0

0.0

0.0

0

2012-12-03

0.0

1

Anchor point:
A1[x][y]

0.0

1

2

3

Ying Zhang

x

18
Array Tiling
SELECT [x], [y], AVG(v) FROM A1
GROUP BY A1[x:x+2][y:y+2];

y
3

0.0

0.0

0.0

0.0

2

0.0

0.0

0.0

0.0

1

0.125 0.25 0.25 0.25

0

0.125 0.25 0.25 0.25
0

2012-12-03

1

2

Ying Zhang

3

x

19
Array Tiling
SELECT [x], [y], AVG(v) FROM A1
GROUP BY A1[x:x+2][y:y+2]
HAVING x mod 2 = 0 AND y mod 2 = 0;
y
3

0.0

0.0

2

0.0

0.0

0.0

0.0

0.0

0.5

0.5

0.5

0

0.0

0.0

0.0

0.0

0

2012-12-03

0.0

1

Anchor point:
A1[x][y]

0.0

1

2

3

Ying Zhang

x

20
Array Tiling
SELECT [x], [y], AVG(v) FROM A1
GROUP BY A1[x-1][y], A1[x][y-1],
A1[x][y], A1[x+1][y], A1[x][y+1];
y
3

0.0

0.0

0.0

2

0.0

0.0

0.0

0.0

1

0.0

0.5

0.5

0.5

0

0.0

0.0

0.0

0.0

0

2012-12-03

0.0

1

2

3

Ying Zhang

x

21
the LOw Frequency ARray radio telescope
LOFAR Catalogue
ra DOUBLE,
decl DOUBLE,
ra_err DOUBLE,
decl_err DOUBLE,
flux DOUBLE,
...

frequency

zone (Gray et al. 2006)
90

...

...

ν4

2

ν3

1
0

ν2

-1

ν1
t1

-2

t2

t3

t4

...

I

Q

U

V

time

...
-90
0

2012-12-03

1

2

3

...

357

358

359

meridian

Ying Zhang

23
LOFAR Catalogue
ra DOUBLE,
decl DOUBLE,
ra_err DOUBLE,
decl_err DOUBLE,
flux DOUBLE,
...

frequency

zone (Gray et al. 2006)
90

...

...

ν4

2

ν3

1
0

ν2

-1

ν1
t1

-2

t2

t3

t4

...

I

Q

U

V

time

...
-90
0

1

2

3

...

357

358

359

meridian

CREATE
zone
ts
id

ARRAY LOFARsrc (
INT DIMENSION[-90:1:91], mrdn INT DIMENSION[0:1:360],
TIMESTAMP DIMENSION,
freq INT DIMENSION[30:10:241],
INT DIMENSION[0:1:*],
stks CHAR(1) DIMENSION
CHECK(stks=`I' OR stks=`Q' OR stks=`U' OR stks=`V'),
ra DOUBLE, decl DOUBLE, ra_err DOUBLE, decl_err DOUBLE,
flux DOUBLE, ...);

2012-12-03

Ying Zhang

23
LOFAR Use Case
ra DOUBLE,
decl DOUBLE,
ra_err DOUBLE,
decl_err DOUBLE,
flux DOUBLE,
...

frequency

zone (Gray et al. 2006)
90

...

...

ν4

2

ν3

1
0

ν2

-1

ν1
t1

-2

t2

t3

t4

...

I

Q

U

V

time

...
-90
0

1

2

3

...

357

358

359

meridian

Similarity of the flux of a LOFAR source at frequencies 30
MHz and 200 MHz
cross-correlation of two time series

2012-12-03

Ying Zhang

24
Cross-Correlation

F

idx

0

1

2

3

val

4

3

6

2
idx

Cr

2012-12-03

idx

-3

-2

1

2

val

G

0
1

5

7

-1

0

1

2

val

Ying Zhang

25
Cross-Correlation
Cr.idx = -3
idx

1

2

3

val

F

0
4

3

6

2

idx

0

1

2

val

1

5

7

G

Cr

2012-12-03

idx

-3

val

-2

-1

F [3 : 4]

0

1

G [0 : 1]

2

Ying Zhang

2

26
Cross-Correlation
Cr.idx = -2
idx

1

2

3

val

F

0
4

3

6

2

idx

0

1

2

val

1

5

7

G

Cr

2012-12-03

idx

-3

-2

val

2

-1

0

F [2 : 4]

1

G [0 : 2]

16

Ying Zhang

2

27
Cross-Correlation
Cr.idx = -1
idx

1

2

3

val

F

0
4

3

6

2

idx

0

1

2

val

1

5

7

G

Cr

2012-12-03

idx

-3

-2

-1

val

2

16

0

1

F [1 : 4]
G [0 : 3]

47

Ying Zhang

2

28
Cross-Correlation
Cr.idx = 0
idx

Cr

2012-12-03

2

3

4

3

6

2

idx

0

1

2

val

G

1

val

F

0

1

5

7

idx

-3

-2

-1

0

val

2

16

47

1

F [0 : 3]
G [0 : 3]

61

Ying Zhang

2

29
Cross-Correlation
Cr.idx = 1
idx

0

1

2

3

val

4

3

6

2

idx

0

1

2

val

1

5

7

F

G

Cr

2012-12-03

idx

-3

-2

-1

0

1

val

2

16

47

61

F [0 : 2]
G [1 : 3]

41

Ying Zhang

2

30
Cross-Correlation
Cr.idx = 2
idx

2012-12-03

2

3

4

3

6

2

idx

0

1

2

val

G

Cr

1

val

F

0

1

5

F [0 : 1]

7

G [2 : 3]

idx

-3

-2

-1

0

1

2

val

2

16

47

61

41

28

Ying Zhang

31
Cross-Correlation
Cr.idx = 2
idx

2012-12-03

2

4

3

6

idx

0

1

2

val

G

Cr

1

val

F

0

1

5

3
F [0 : 1]
2

7

G [2 : 3]

idx

-3

-2

-1

0

1

2

val

2

16

47

61

41

28

Ying Zhang

32
LOFAR Use Case
ra DOUBLE,
decl DOUBLE,
ra_err DOUBLE,
decl_err DOUBLE,
flux DOUBLE,
...

frequency

zone (Gray et al. 2006)
90

...

...

ν4

2

ν3

1
0

ν2

-1

ν1
t1

-2

t2

t3

t4

...

I

Q

U

V

time

...
-90
0

1

2

3

...

357

358

359

meridian

DECLARE fcnt INT, gcnt INT;
SET fcnt = SELECT COUNT(*) FROM LOFARsrc[*][*][*][30][11][‘I’];
SET gcnt = SELECT COUNT(*) FROM LOFARsrc[*][*][*][200][11][‘I’];
CREATE ARRAY VIEW F (idx INT DIMENSION[0:1:fcnt], flux DOUBLE DEFAULT 0.0) AS SELECT flux FROM
LOFARsrc[*][*][*][30][11][‘I’];
CREATE ARRAY VIEW G (idx INT DIMENSION[0:1:gcnt], val DOUBLE DEFAULT 0.0) AS SELECT flux FROM
LOFARsrc[*][*][*][200][11][‘I’];
CREATE ARRAY CrCorr30_200 (idx INT DIMENSION[-fcnt+1:1:gcnt], val DOUBLE DEFAULT 0.0);
INSERT INTO CrCorr SELECT SUM(F.flux * G.flux) FROM F, G, CrCorr30_200 AS C
GROUP BY F[MAX(0, -C.idx) : MIN(fcnt, gcnt-C.idx)], G[MAX(0, C.idx) : MIN(gcnt, fcnt+C.idx)];

2012-12-03

Ying Zhang

33
LOFAR Use Case
ra DOUBLE,
decl DOUBLE,
ra_err DOUBLE,
decl_err DOUBLE,
flux DOUBLE,
...

frequency

zone (Gray et al. 2006)
90

...

...

ν4

2

ν3

1
0

ν2

-1

ν1
t1

-2

t2

t3

t4

...

I

Q

U

V

time

...
-90
0

1

2

3

...

357

358

359

meridian

retrieve the time series

DECLARE fcnt INT, gcnt INT;
SET fcnt = SELECT COUNT(*) FROM LOFARsrc[*][*][*][30][11][‘I’];
SET gcnt = SELECT COUNT(*) FROM LOFARsrc[*][*][*][200][11][‘I’];
CREATE ARRAY VIEW F (idx INT DIMENSION[0:1:fcnt], flux DOUBLE DEFAULT 0.0) AS SELECT flux FROM
LOFARsrc[*][*][*][30][11][‘I’];
CREATE ARRAY VIEW G (idx INT DIMENSION[0:1:gcnt], val DOUBLE DEFAULT 0.0) AS SELECT flux FROM
LOFARsrc[*][*][*][200][11][‘I’];
CREATE ARRAY CrCorr30_200 (idx INT DIMENSION[-fcnt+1:1:gcnt], val DOUBLE DEFAULT 0.0);
INSERT INTO CrCorr SELECT SUM(F.flux * G.flux) FROM F, G, CrCorr30_200 AS C
GROUP BY F[MAX(0, -C.idx) : MIN(fcnt, gcnt-C.idx)], G[MAX(0, C.idx) : MIN(gcnt, fcnt+C.idx)];

2012-12-03

Ying Zhang

33
LOFAR Use Case
ra DOUBLE,
decl DOUBLE,
ra_err DOUBLE,
decl_err DOUBLE,
flux DOUBLE,
...

frequency

zone
90

...

...

ν4

2

ν3

1
0

ν2

-1

ν1
t1

-2

t2

t3

t4

...

I

Q

U

V

time

...
-90
0

1

2

3

...

357

358

359

meridian

dynamic grouping for every iteration

DECLARE fcnt INT, gcnt INT;
SET fcnt = SELECT COUNT(*) FROM LOFARsrc[*][*][*][30][11][‘I’];
SET gcnt = SELECT COUNT(*) FROM LOFARsrc[*][*][*][200][11][‘I’];
CREATE ARRAY VIEW F (idx INT DIMENSION[0:1:fcnt], flux DOUBLE DEFAULT 0.0) AS SELECT flux FROM
LOFARsrc[*][*][*][30][11][‘I’];
CREATE ARRAY VIEW G (idx INT DIMENSION[0:1:gcnt], val DOUBLE DEFAULT 0.0) AS SELECT flux FROM
LOFARsrc[*][*][*][200][11][‘I’];
CREATE ARRAY CrCorr30_200 (idx INT DIMENSION[-fcnt+1:1:gcnt], val DOUBLE DEFAULT 0.0);
INSERT INTO CrCorr SELECT SUM(F.flux * G.flux) FROM F, G, CrCorr30_200 AS C
GROUP BY F[MAX(0, -C.idx) : MIN(fcnt, gcnt-C.idx)], G[MAX(0, C.idx) : MIN(gcnt, fcnt+C.idx)];

2012-12-03

Ying Zhang

34
Discussion
Your use cases?
Your problems?
What do you need?
How can SciQL help?

2012-12-03

Ying Zhang

35

More Related Content

Viewers also liked

SciQL, Bridging the Gap between Science and Relational DBMS
SciQL, Bridging the Gap between Science and Relational DBMSSciQL, Bridging the Gap between Science and Relational DBMS
SciQL, Bridging the Gap between Science and Relational DBMSPlanetData Network of Excellence
 
Exploring The Hubness-Related Properties of Oceanographic Sensor Data
Exploring The Hubness-Related Properties of Oceanographic Sensor DataExploring The Hubness-Related Properties of Oceanographic Sensor Data
Exploring The Hubness-Related Properties of Oceanographic Sensor DataPlanetData Network of Excellence
 
What have fruits to do with technology? The case of Orange, Blackberry and Apple
What have fruits to do with technology? The case of Orange, Blackberry and AppleWhat have fruits to do with technology? The case of Orange, Blackberry and Apple
What have fruits to do with technology? The case of Orange, Blackberry and ApplePlanetData Network of Excellence
 
A Contextualized Knowledge Repository for Open Data about Trentino
A Contextualized Knowledge Repository for Open Data about TrentinoA Contextualized Knowledge Repository for Open Data about Trentino
A Contextualized Knowledge Repository for Open Data about TrentinoPlanetData Network of Excellence
 
Urbanopoly: Collection and Quality Assessment of Geo-spatial Linked Data via ...
Urbanopoly: Collection and Quality Assessment of Geo-spatial Linked Data via ...Urbanopoly: Collection and Quality Assessment of Geo-spatial Linked Data via ...
Urbanopoly: Collection and Quality Assessment of Geo-spatial Linked Data via ...PlanetData Network of Excellence
 
On the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream ProcessingOn the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream ProcessingPlanetData Network of Excellence
 
Automation in Cytomics: A Modern RDBMS Based Platform for Image Analysis and ...
Automation in Cytomics: A Modern RDBMS Based Platform for Image Analysis and ...Automation in Cytomics: A Modern RDBMS Based Platform for Image Analysis and ...
Automation in Cytomics: A Modern RDBMS Based Platform for Image Analysis and ...PlanetData Network of Excellence
 
Evolution of Workflow Provenance Information in the Presence of Custom Infere...
Evolution of Workflow Provenance Information in the Presence of Custom Infere...Evolution of Workflow Provenance Information in the Presence of Custom Infere...
Evolution of Workflow Provenance Information in the Presence of Custom Infere...PlanetData Network of Excellence
 

Viewers also liked (16)

SciQL, Bridging the Gap between Science and Relational DBMS
SciQL, Bridging the Gap between Science and Relational DBMSSciQL, Bridging the Gap between Science and Relational DBMS
SciQL, Bridging the Gap between Science and Relational DBMS
 
Second Presentation
Second PresentationSecond Presentation
Second Presentation
 
Exploring The Hubness-Related Properties of Oceanographic Sensor Data
Exploring The Hubness-Related Properties of Oceanographic Sensor DataExploring The Hubness-Related Properties of Oceanographic Sensor Data
Exploring The Hubness-Related Properties of Oceanographic Sensor Data
 
OntoGen Extension for Exploring Image Collections
OntoGen Extension for Exploring Image CollectionsOntoGen Extension for Exploring Image Collections
OntoGen Extension for Exploring Image Collections
 
What have fruits to do with technology? The case of Orange, Blackberry and Apple
What have fruits to do with technology? The case of Orange, Blackberry and AppleWhat have fruits to do with technology? The case of Orange, Blackberry and Apple
What have fruits to do with technology? The case of Orange, Blackberry and Apple
 
Model based similarity measure in time cloud
Model based similarity measure in time cloudModel based similarity measure in time cloud
Model based similarity measure in time cloud
 
Secondpresentation
SecondpresentationSecondpresentation
Secondpresentation
 
A Contextualized Knowledge Repository for Open Data about Trentino
A Contextualized Knowledge Repository for Open Data about TrentinoA Contextualized Knowledge Repository for Open Data about Trentino
A Contextualized Knowledge Repository for Open Data about Trentino
 
Data and Knowledge Evolution
Data and Knowledge Evolution  Data and Knowledge Evolution
Data and Knowledge Evolution
 
SciQL, A Query Language for Science Applications
SciQL, A Query Language for Science ApplicationsSciQL, A Query Language for Science Applications
SciQL, A Query Language for Science Applications
 
Urbanopoly: Collection and Quality Assessment of Geo-spatial Linked Data via ...
Urbanopoly: Collection and Quality Assessment of Geo-spatial Linked Data via ...Urbanopoly: Collection and Quality Assessment of Geo-spatial Linked Data via ...
Urbanopoly: Collection and Quality Assessment of Geo-spatial Linked Data via ...
 
On the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream ProcessingOn the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream Processing
 
Automation in Cytomics: A Modern RDBMS Based Platform for Image Analysis and ...
Automation in Cytomics: A Modern RDBMS Based Platform for Image Analysis and ...Automation in Cytomics: A Modern RDBMS Based Platform for Image Analysis and ...
Automation in Cytomics: A Modern RDBMS Based Platform for Image Analysis and ...
 
Heuristic based Query Optimisation for SPARQL
Heuristic based Query Optimisation for SPARQLHeuristic based Query Optimisation for SPARQL
Heuristic based Query Optimisation for SPARQL
 
Evolution of Workflow Provenance Information in the Presence of Custom Infere...
Evolution of Workflow Provenance Information in the Presence of Custom Infere...Evolution of Workflow Provenance Information in the Presence of Custom Infere...
Evolution of Workflow Provenance Information in the Presence of Custom Infere...
 
Sensor Data Management
Sensor Data ManagementSensor Data Management
Sensor Data Management
 

Similar to Bridging the Gap between Science and Relational DBMS

Descriptive Statistics with R
Descriptive Statistics with RDescriptive Statistics with R
Descriptive Statistics with RKazuki Yoshida
 
Seminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov Vyacheslav
Seminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov VyacheslavSeminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov Vyacheslav
Seminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov VyacheslavVyacheslav Arbuzov
 
Adobe AIR: Stage3D and AGAL
Adobe AIR: Stage3D and AGALAdobe AIR: Stage3D and AGAL
Adobe AIR: Stage3D and AGALDaniel Freeman
 
Big Data Mining in Indian Economic Survey 2017
Big Data Mining in Indian Economic Survey 2017Big Data Mining in Indian Economic Survey 2017
Big Data Mining in Indian Economic Survey 2017Parth Khare
 
ON APPROACH TO DECREASE DIMENSIONS OF FIELD-EFFECT TRANSISTORS FRAMEWORK ELEM...
ON APPROACH TO DECREASE DIMENSIONS OF FIELD-EFFECT TRANSISTORS FRAMEWORK ELEM...ON APPROACH TO DECREASE DIMENSIONS OF FIELD-EFFECT TRANSISTORS FRAMEWORK ELEM...
ON APPROACH TO DECREASE DIMENSIONS OF FIELD-EFFECT TRANSISTORS FRAMEWORK ELEM...ijfcstjournal
 
ON APPROACH TO DECREASE DIMENSIONS OF FIELD-EFFECT TRANSISTORS FRAMEWORK ELE...
ON APPROACH TO DECREASE DIMENSIONS OF  FIELD-EFFECT TRANSISTORS FRAMEWORK ELE...ON APPROACH TO DECREASE DIMENSIONS OF  FIELD-EFFECT TRANSISTORS FRAMEWORK ELE...
ON APPROACH TO DECREASE DIMENSIONS OF FIELD-EFFECT TRANSISTORS FRAMEWORK ELE...ijfcstjournal
 
Distributed Architecture of Subspace Clustering and Related
Distributed Architecture of Subspace Clustering and RelatedDistributed Architecture of Subspace Clustering and Related
Distributed Architecture of Subspace Clustering and RelatedPei-Che Chang
 
Student_Garden_geostatistics_course
Student_Garden_geostatistics_courseStudent_Garden_geostatistics_course
Student_Garden_geostatistics_coursePedro Correia
 
Student_Garden_geostatistics_course
Student_Garden_geostatistics_courseStudent_Garden_geostatistics_course
Student_Garden_geostatistics_coursePedro Correia
 
ComputeFest 2012: Intro To R for Physical Sciences
ComputeFest 2012: Intro To R for Physical SciencesComputeFest 2012: Intro To R for Physical Sciences
ComputeFest 2012: Intro To R for Physical Sciencesalexstorer
 
Practical data science_public
Practical data science_publicPractical data science_public
Practical data science_publicLong Nguyen
 
Principal Components Analysis, Calculation and Visualization
Principal Components Analysis, Calculation and VisualizationPrincipal Components Analysis, Calculation and Visualization
Principal Components Analysis, Calculation and VisualizationMarjan Sterjev
 
Information Matrices and Optimality Values for various Block Designs
Information Matrices and Optimality Values for various Block DesignsInformation Matrices and Optimality Values for various Block Designs
Information Matrices and Optimality Values for various Block Designstheijes
 

Similar to Bridging the Gap between Science and Relational DBMS (20)

Families of Triangular Norm Based Kernel Function and Its Application to Kern...
Families of Triangular Norm Based Kernel Function and Its Application to Kern...Families of Triangular Norm Based Kernel Function and Its Application to Kern...
Families of Triangular Norm Based Kernel Function and Its Application to Kern...
 
20100528
2010052820100528
20100528
 
20100528
2010052820100528
20100528
 
Descriptive Statistics with R
Descriptive Statistics with RDescriptive Statistics with R
Descriptive Statistics with R
 
Seminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov Vyacheslav
Seminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov VyacheslavSeminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov Vyacheslav
Seminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov Vyacheslav
 
Adobe AIR: Stage3D and AGAL
Adobe AIR: Stage3D and AGALAdobe AIR: Stage3D and AGAL
Adobe AIR: Stage3D and AGAL
 
Yasser y thesis
Yasser y thesisYasser y thesis
Yasser y thesis
 
D3.js workshop
D3.js workshopD3.js workshop
D3.js workshop
 
talk9.ppt
talk9.ppttalk9.ppt
talk9.ppt
 
Big Data Mining in Indian Economic Survey 2017
Big Data Mining in Indian Economic Survey 2017Big Data Mining in Indian Economic Survey 2017
Big Data Mining in Indian Economic Survey 2017
 
R for Statistical Computing
R for Statistical ComputingR for Statistical Computing
R for Statistical Computing
 
ON APPROACH TO DECREASE DIMENSIONS OF FIELD-EFFECT TRANSISTORS FRAMEWORK ELEM...
ON APPROACH TO DECREASE DIMENSIONS OF FIELD-EFFECT TRANSISTORS FRAMEWORK ELEM...ON APPROACH TO DECREASE DIMENSIONS OF FIELD-EFFECT TRANSISTORS FRAMEWORK ELEM...
ON APPROACH TO DECREASE DIMENSIONS OF FIELD-EFFECT TRANSISTORS FRAMEWORK ELEM...
 
ON APPROACH TO DECREASE DIMENSIONS OF FIELD-EFFECT TRANSISTORS FRAMEWORK ELE...
ON APPROACH TO DECREASE DIMENSIONS OF  FIELD-EFFECT TRANSISTORS FRAMEWORK ELE...ON APPROACH TO DECREASE DIMENSIONS OF  FIELD-EFFECT TRANSISTORS FRAMEWORK ELE...
ON APPROACH TO DECREASE DIMENSIONS OF FIELD-EFFECT TRANSISTORS FRAMEWORK ELE...
 
Distributed Architecture of Subspace Clustering and Related
Distributed Architecture of Subspace Clustering and RelatedDistributed Architecture of Subspace Clustering and Related
Distributed Architecture of Subspace Clustering and Related
 
Student_Garden_geostatistics_course
Student_Garden_geostatistics_courseStudent_Garden_geostatistics_course
Student_Garden_geostatistics_course
 
Student_Garden_geostatistics_course
Student_Garden_geostatistics_courseStudent_Garden_geostatistics_course
Student_Garden_geostatistics_course
 
ComputeFest 2012: Intro To R for Physical Sciences
ComputeFest 2012: Intro To R for Physical SciencesComputeFest 2012: Intro To R for Physical Sciences
ComputeFest 2012: Intro To R for Physical Sciences
 
Practical data science_public
Practical data science_publicPractical data science_public
Practical data science_public
 
Principal Components Analysis, Calculation and Visualization
Principal Components Analysis, Calculation and VisualizationPrincipal Components Analysis, Calculation and Visualization
Principal Components Analysis, Calculation and Visualization
 
Information Matrices and Optimality Values for various Block Designs
Information Matrices and Optimality Values for various Block DesignsInformation Matrices and Optimality Values for various Block Designs
Information Matrices and Optimality Values for various Block Designs
 

More from PlanetData Network of Excellence

On Leveraging Crowdsourcing Techniques for Schema Matching Networks
On Leveraging Crowdsourcing Techniques for Schema Matching NetworksOn Leveraging Crowdsourcing Techniques for Schema Matching Networks
On Leveraging Crowdsourcing Techniques for Schema Matching NetworksPlanetData Network of Excellence
 
Towards Enabling Probabilistic Databases for Participatory Sensing
Towards Enabling Probabilistic Databases for Participatory SensingTowards Enabling Probabilistic Databases for Participatory Sensing
Towards Enabling Probabilistic Databases for Participatory SensingPlanetData Network of Excellence
 
Demo: tablet-based visualisation of transport data in Madrid using SPARQLstream
Demo: tablet-based visualisation of transport data in Madrid using SPARQLstreamDemo: tablet-based visualisation of transport data in Madrid using SPARQLstream
Demo: tablet-based visualisation of transport data in Madrid using SPARQLstreamPlanetData Network of Excellence
 
Linking Smart Cities Datasets with Human Computation: the case of UrbanMatch
Linking Smart Cities Datasets with Human Computation: the case of UrbanMatchLinking Smart Cities Datasets with Human Computation: the case of UrbanMatch
Linking Smart Cities Datasets with Human Computation: the case of UrbanMatchPlanetData Network of Excellence
 
Scalable Nonmonotonic Reasoning over RDF Data Using MapReduce
Scalable Nonmonotonic Reasoning over RDF Data Using MapReduceScalable Nonmonotonic Reasoning over RDF Data Using MapReduce
Scalable Nonmonotonic Reasoning over RDF Data Using MapReducePlanetData Network of Excellence
 
Towards Parallel Nonmonotonic Reasoning with Billions of Facts
Towards Parallel Nonmonotonic Reasoning with Billions of FactsTowards Parallel Nonmonotonic Reasoning with Billions of Facts
Towards Parallel Nonmonotonic Reasoning with Billions of FactsPlanetData Network of Excellence
 
Adaptive Semantic Data Management Techniques for Federations of Endpoints
Adaptive Semantic Data Management Techniques for Federations of EndpointsAdaptive Semantic Data Management Techniques for Federations of Endpoints
Adaptive Semantic Data Management Techniques for Federations of EndpointsPlanetData Network of Excellence
 
Hubness-Based Fuzzy Measures for High-Dimensional k-Nearest Neighbor Classifi...
Hubness-Based Fuzzy Measures for High-Dimensional k-Nearest Neighbor Classifi...Hubness-Based Fuzzy Measures for High-Dimensional k-Nearest Neighbor Classifi...
Hubness-Based Fuzzy Measures for High-Dimensional k-Nearest Neighbor Classifi...PlanetData Network of Excellence
 

More from PlanetData Network of Excellence (19)

Dl2014 slides
Dl2014 slidesDl2014 slides
Dl2014 slides
 
On Leveraging Crowdsourcing Techniques for Schema Matching Networks
On Leveraging Crowdsourcing Techniques for Schema Matching NetworksOn Leveraging Crowdsourcing Techniques for Schema Matching Networks
On Leveraging Crowdsourcing Techniques for Schema Matching Networks
 
Towards Enabling Probabilistic Databases for Participatory Sensing
Towards Enabling Probabilistic Databases for Participatory SensingTowards Enabling Probabilistic Databases for Participatory Sensing
Towards Enabling Probabilistic Databases for Participatory Sensing
 
Privacy-Preserving Schema Reuse
Privacy-Preserving Schema ReusePrivacy-Preserving Schema Reuse
Privacy-Preserving Schema Reuse
 
Pay-as-you-go Reconciliation in Schema Matching Networks
Pay-as-you-go Reconciliation in Schema Matching NetworksPay-as-you-go Reconciliation in Schema Matching Networks
Pay-as-you-go Reconciliation in Schema Matching Networks
 
Demo: tablet-based visualisation of transport data in Madrid using SPARQLstream
Demo: tablet-based visualisation of transport data in Madrid using SPARQLstreamDemo: tablet-based visualisation of transport data in Madrid using SPARQLstream
Demo: tablet-based visualisation of transport data in Madrid using SPARQLstream
 
Linking Smart Cities Datasets with Human Computation: the case of UrbanMatch
Linking Smart Cities Datasets with Human Computation: the case of UrbanMatchLinking Smart Cities Datasets with Human Computation: the case of UrbanMatch
Linking Smart Cities Datasets with Human Computation: the case of UrbanMatch
 
CLODA: A Crowdsourced Linked Open Data Architecture
CLODA: A Crowdsourced Linked Open Data ArchitectureCLODA: A Crowdsourced Linked Open Data Architecture
CLODA: A Crowdsourced Linked Open Data Architecture
 
Scalable Nonmonotonic Reasoning over RDF Data Using MapReduce
Scalable Nonmonotonic Reasoning over RDF Data Using MapReduceScalable Nonmonotonic Reasoning over RDF Data Using MapReduce
Scalable Nonmonotonic Reasoning over RDF Data Using MapReduce
 
Access Control for RDF graphs using Abstract Models
Access Control for RDF graphs using Abstract ModelsAccess Control for RDF graphs using Abstract Models
Access Control for RDF graphs using Abstract Models
 
Abstract Access Control Model for Dynamic RDF Datasets
Abstract Access Control Model for Dynamic RDF DatasetsAbstract Access Control Model for Dynamic RDF Datasets
Abstract Access Control Model for Dynamic RDF Datasets
 
Towards Parallel Nonmonotonic Reasoning with Billions of Facts
Towards Parallel Nonmonotonic Reasoning with Billions of FactsTowards Parallel Nonmonotonic Reasoning with Billions of Facts
Towards Parallel Nonmonotonic Reasoning with Billions of Facts
 
Adaptive Semantic Data Management Techniques for Federations of Endpoints
Adaptive Semantic Data Management Techniques for Federations of EndpointsAdaptive Semantic Data Management Techniques for Federations of Endpoints
Adaptive Semantic Data Management Techniques for Federations of Endpoints
 
Building a Front End for a Sensor Data Cloud
Building a Front End for a Sensor Data CloudBuilding a Front End for a Sensor Data Cloud
Building a Front End for a Sensor Data Cloud
 
Exposing Real World Information for the Web of Things
Exposing Real World Information for the Web of ThingsExposing Real World Information for the Web of Things
Exposing Real World Information for the Web of Things
 
Spatio-temporal reasoning for traffic scene understanding
Spatio-temporal reasoning for traffic scene understandingSpatio-temporal reasoning for traffic scene understanding
Spatio-temporal reasoning for traffic scene understanding
 
Tractor Pulling on Data Warehouse
Tractor Pulling on Data WarehouseTractor Pulling on Data Warehouse
Tractor Pulling on Data Warehouse
 
Declarative Repairing Policies for Curated KBs
Declarative Repairing Policies for Curated KBsDeclarative Repairing Policies for Curated KBs
Declarative Repairing Policies for Curated KBs
 
Hubness-Based Fuzzy Measures for High-Dimensional k-Nearest Neighbor Classifi...
Hubness-Based Fuzzy Measures for High-Dimensional k-Nearest Neighbor Classifi...Hubness-Based Fuzzy Measures for High-Dimensional k-Nearest Neighbor Classifi...
Hubness-Based Fuzzy Measures for High-Dimensional k-Nearest Neighbor Classifi...
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Bridging the Gap between Science and Relational DBMS

  • 1. SciQL Bridging the Gap between Science and Relational DBMS Ying Zhang, Martin Kersten, Niels Nes CWI Amsterdam Dec. 03, 2012 Virtual(Observatory(Infrastructure( for(Earth(Observation(Data Project(acronym:( TELEIOS Grant(agreement(no:(( FP7(8 257662
  • 2. Who needs arrays anyway? Seismology – 1-D waveforms, 3-D spatial data Astronomy – temporal ordered rasters Climate simulation – temporal ordered grid Remote sensing – images of 2-D or higher Genomics – ordered DNA strings Forensics – images, strings, graphs Scientists love arrays: FITS, MSEED, NETCDF, HDF5… but also use: lists, tables, XML, ... 2012-12-03 Ying Zhang 2
  • 3. Arrays In DBMS Research issues already in the 80’s Algebraic frameworks OODB, multi-dimensional DBMS, Sequence DBMS, ... The Longhorn Array Database (S)RAM, AQL, AML, ... RasDaMan SQL language extension Store large arrays in chunks as BLOBs RasQL, AQuery, SRQL, … Array query (RasQL) optimisation on top of DBMS a notion of order Known to work up to 12 TBs! PostgreSQL 8.1 SQL:1999, SQL:2003 SciDB collection type, C-style arrays Array DBMS from scratch aggregation functions over arrays Overlapping chunks for parallel execution 2012-12-03 Ying Zhang 3
  • 4. What Not RDBMS? SQL is difficult Appropriate array denotations? Functional complete operation set? DBMSs are slow Too much overhead Size limitations (due to BLOB representations)? Existing foreign files? Scale ... 2012-12-03 Ying Zhang 4
  • 5. SciQL An array query language based on SQL:2003 Lower the entrance fee to RDBMSs Reveal optimisation opportunities Distinguish features (Kersten et al., AD’11; Zhang et al. IDEAS2011): Arrays and tables as first class citizens of DBMSs Seamless integration of relational and array paradigms Named dimensions with constraints Flexible structure-based grouping 2012-12-03 Ying Zhang 5
  • 6. Array Definitions y 3 0.0 0.0 0.0 0.0 2 0.0 0.0 0.0 0.0 1 0.0 0.0 0.0 0.0 0 0.0 0.0 0.0 0.0 0 1 2 3 x CREATE ARRAY A1 ( x INT DIMENSION [0:1:4], y INT DIMENSION [0:1:4], v FLOAT DEFAULT 0.0); 2012-12-03 Ying Zhang 6
  • 7. Array Definitions y 3 0.0 0.0 0.0 0.0 2 0.0 0.0 0.0 0.0 1 0.0 0.0 0.0 0.0 0 0.0 0.0 0.0 0.0 0 1 2 3 x CREATE ARRAY A1 ( x INT DIMENSION [0:1:4], y INT DIMENSION [0:1:4], v FLOAT DEFAULT 0.0); dimensions, any scalar data type 2012-12-03 Ying Zhang 6
  • 8. Array Definitions y 3 0.0 0.0 0.0 0.0 2 0.0 0.0 0.0 0.0 1 0.0 0.0 0.0 0.0 0 0.0 0.0 0.0 0.0 0 1 2 3 x CREATE ARRAY A1 ( x INT DIMENSION [0:1:4], y INT DIMENSION [0:1:4], v FLOAT DEFAULT 0.0); dimensional range: [(start|∗) : (step|∗) : (stop|∗)] 2012-12-03 Ying Zhang 7
  • 9. Array Definitions y 3 0.0 0.0 0.0 0.0 2 0.0 0.0 0.0 0.0 1 0.0 0.0 0.0 0.0 0 0.0 0.0 0.0 0.0 0 1 2 3 x CREATE ARRAY A1 ( x INT DIMENSION [0:1:4], y INT DIMENSION [0:1:4], v FLOAT DEFAULT 0.0); cell values, any column data type 2012-12-03 Ying Zhang 8
  • 10. Array Definitions y 3 0.0 0.0 0.0 0.0 2 0.0 0.0 0.0 0.0 1 0.0 0.0 0.0 0.0 0 0.0 0.0 0.0 0.0 0 1 2 3 x CREATE ARRAY A1 ( x INT DIMENSION [0:1:4], y INT DIMENSION [0:1:4], v FLOAT DEFAULT 0.0); fixed array 2012-12-03 Ying Zhang 9
  • 11. Array Definitions Unbounded array CREATE ARRAY A2 ( x INT DIMENSION[1:*], y INT DIMENSION, v FLOAT DEFAULT 0.0); y 3 2 null 1 0 0 2012-12-03 1 2 Ying Zhang 3 x 10
  • 12. Array Definitions Unbounded array CREATE ARRAY A2 ( x INT DIMENSION[1:*], y INT DIMENSION, v FLOAT DEFAULT 0.0); INSERT INTO A2 VALUES (1,0,5.5), (1,1,0.4), (2,2,4.5); y 3 2 null 1 0 0 2012-12-03 1 2 Ying Zhang 3 x 10
  • 13. Array Definitions Unbounded array CREATE ARRAY A2 ( x INT DIMENSION[1:*], y INT DIMENSION, v FLOAT DEFAULT 0.0); INSERT INTO A2 VALUES (1,0,5.5), (1,1,0.4), (2,2,4.5); y null 3 2 1 0.0 null 4.5 0.4 0.0 0 5.5 0.0 1 2 0 2012-12-03 null Ying Zhang null 3 x 10
  • 14. Array Definitions Unbounded array CREATE ARRAY A2 ( x INT DIMENSION[1:*], y INT DIMENSION, v FLOAT DEFAULT 0.0); INSERT INTO A2 VALUES (1,0,5.5), (1,1,0.4), (2,2,4.5); current range y null 3 2 1 0.0 null 4.5 0.4 0.0 0 5.5 0.0 1 2 0 2012-12-03 null Ying Zhang null 3 x 10
  • 15. Array & Table Coercions SELECT x, y, v FROM A1; CREATE ARRAY A1 ( x INT DIMENSION[0:1:4], y INT DIMENSION[0:1:4], v FLOAT DEFAULT 0.0); y 3 0.0 0.0 0.0 0.0 2 0.0 0.0 0.0 0.0 1 0.0 0.0 0.0 0.0 0 0.0 0.0 0.0 0.0 0 1 2 3 2012-12-03 x x 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 y 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 Ying Zhang v 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 full materialisation! 11
  • 16. Array & Table Coercions SELECT [x], [y], v FROM T2; CREATE TABLE T2 ( x INT, y INT, v FLOAT DEFAULT 0.0); INSERT INTO T2 VALUES (1,0,5.5), (1,1,0.4), (2,2,4.5), (1,1,1.3); x y v 1 0 5.5 1 1 0.4 2 2 4.5 1 1 1.3 dimension qualifiers: ‘[’, ‘]’ y null 3 2 1 0 0 4.5 0.4 0.0 5.5 null 0.0 0.0 1 2 null null 3 x An unbounded array dimension ranges derived from the minimal bounding box cells values from the table or the column default duplicates are overwritten arbitrarily 2012-12-03 Ying Zhang 12
  • 17. Array Modifications DELETE FROM A1 WHERE x = 1; y 3 0.0 null 0.0 0.0 2 0.0 null 0.0 0.0 1 0.0 null 0.0 0.0 0 0.0 null 0.0 0.0 0 1 2 3 x creates holes in the array 2012-12-03 Ying Zhang 13
  • 18. Array Modifications UPDATE A1 SET v = 0.5 WHERE y = 1; INSERT INTO A1 VALUES (0,1,0.5), (1,1,0.5), (2,1,0.5), (3,1,0.5); y 3 0.0 0.0 0.0 0.0 2 0.0 0.0 0.0 0.0 1 0.5 0.5 0.5 0.5 0 0.0 0.0 0.0 0.0 0 1 2 3 x set/change cell values overwrite existing values 2012-12-03 Ying Zhang 14
  • 19. Array Views CREATE VIEW A2 AS SELECT [x], [y], v FROM A1[1:3][1:3]; y 3 0.0 0.0 0.0 0.0 2 0.0 0.0 0.0 0.0 1 0.5 0.5 0.5 0.5 0 0.0 0.0 0.0 0.0 0 1 2 3 x array view A2 2012-12-03 Ying Zhang 15
  • 20. Array Views CREATE ARRAY VIEW A3 ( x INT DIMENSION [-1:1:5], y INT DIMENSION [-1:1:5], w FLOAT DEFAULT 0.0) AS SELECT [x], [y], v FROM A1; y 3 -1.0 -1.0 -1.0 -1.0 2 -1.0 -1.0 -1.0 -1.0 1 -1.0 0.5 0 -1.0 -1.0 -1.0 -1.0 0 2012-12-03 1 0.5 2 Ying Zhang 0.5 3 x 16
  • 21. Array Views CREATE ARRAY VIEW A3 ( x INT DIMENSION [-1:1:5], y INT DIMENSION [-1:1:5], w FLOAT DEFAULT 0.0) AS SELECT [x], [y], v FROM A1; y 4 3 0.0 -1.0 -1.0 -1.0 -1.0 0.0 2 0.0 -1.0 -1.0 -1.0 -1.0 0.0 1 0.0 -1.0 0.5 0 0.0 -1.0 -1.0 -1.0 -1.0 0.0 -1 0.0 0.0 0.0 0.0 0.0 0.0 -1 2012-12-03 0.0 0.0 0.0 0.0 0 1 2 3 4 0.5 Ying Zhang 0.0 0.5 0.0 0.0 x 17
  • 22. Array Tiling SELECT [x], [y], AVG(v) FROM A1 GROUP BY A1[x:x+2][y:y+2]; y 3 0.0 0.0 0.0 2 0.0 0.0 0.0 0.0 1 0.0 0.5 0.5 0.5 0 0.0 0.0 0.0 0.0 0 2012-12-03 0.0 1 2 3 Ying Zhang x 18
  • 23. Array Tiling SELECT [x], [y], AVG(v) FROM A1 GROUP BY A1[x:x+2][y:y+2]; y 3 0.0 0.0 2 0.0 0.0 0.0 0.0 0.0 0.5 0.5 0.5 0 0.0 0.0 0.0 0.0 0 2012-12-03 0.0 1 Anchor point: A1[x][y] 0.0 1 2 3 Ying Zhang x 18
  • 24. Array Tiling SELECT [x], [y], AVG(v) FROM A1 GROUP BY A1[x:x+2][y:y+2]; y 3 0.0 0.0 2 0.0 0.0 0.0 0.0 0.0 0.5 0.5 0.5 0 0.0 0.0 0.0 0.0 0 2012-12-03 0.0 1 Anchor point: A1[x][y] 0.0 1 2 3 Ying Zhang x 18
  • 25. Array Tiling SELECT [x], [y], AVG(v) FROM A1 GROUP BY A1[x:x+2][y:y+2]; y 3 0.0 0.0 2 0.0 0.0 0.0 0.0 0.0 0.5 0.5 0.5 0 0.0 0.0 0.0 0.0 0 2012-12-03 0.0 1 Anchor point: A1[x][y] 0.0 1 2 3 Ying Zhang x 18
  • 26. Array Tiling SELECT [x], [y], AVG(v) FROM A1 GROUP BY A1[x:x+2][y:y+2]; y 3 0.0 0.0 2 0.0 0.0 0.0 0.0 0.0 0.5 0.5 0.5 0 0.0 0.0 0.0 0.0 0 2012-12-03 0.0 1 Anchor point: A1[x][y] 0.0 1 2 3 Ying Zhang x 18
  • 27. Array Tiling SELECT [x], [y], AVG(v) FROM A1 GROUP BY A1[x:x+2][y:y+2]; y 3 0.0 0.0 2 0.0 0.0 0.0 0.0 0.0 0.5 0.5 0.5 0 0.0 0.0 0.0 0.0 0 2012-12-03 0.0 1 Anchor point: A1[x][y] 0.0 1 2 3 Ying Zhang x 18
  • 28. Array Tiling SELECT [x], [y], AVG(v) FROM A1 GROUP BY A1[x:x+2][y:y+2]; y 3 0.0 0.0 0.0 0.0 2 0.0 0.0 0.0 0.0 1 0.125 0.25 0.25 0.25 0 0.125 0.25 0.25 0.25 0 2012-12-03 1 2 Ying Zhang 3 x 19
  • 29. Array Tiling SELECT [x], [y], AVG(v) FROM A1 GROUP BY A1[x:x+2][y:y+2] HAVING x mod 2 = 0 AND y mod 2 = 0; y 3 0.0 0.0 2 0.0 0.0 0.0 0.0 0.0 0.5 0.5 0.5 0 0.0 0.0 0.0 0.0 0 2012-12-03 0.0 1 Anchor point: A1[x][y] 0.0 1 2 3 Ying Zhang x 20
  • 30. Array Tiling SELECT [x], [y], AVG(v) FROM A1 GROUP BY A1[x-1][y], A1[x][y-1], A1[x][y], A1[x+1][y], A1[x][y+1]; y 3 0.0 0.0 0.0 2 0.0 0.0 0.0 0.0 1 0.0 0.5 0.5 0.5 0 0.0 0.0 0.0 0.0 0 2012-12-03 0.0 1 2 3 Ying Zhang x 21
  • 31. the LOw Frequency ARray radio telescope
  • 32. LOFAR Catalogue ra DOUBLE, decl DOUBLE, ra_err DOUBLE, decl_err DOUBLE, flux DOUBLE, ... frequency zone (Gray et al. 2006) 90 ... ... ν4 2 ν3 1 0 ν2 -1 ν1 t1 -2 t2 t3 t4 ... I Q U V time ... -90 0 2012-12-03 1 2 3 ... 357 358 359 meridian Ying Zhang 23
  • 33. LOFAR Catalogue ra DOUBLE, decl DOUBLE, ra_err DOUBLE, decl_err DOUBLE, flux DOUBLE, ... frequency zone (Gray et al. 2006) 90 ... ... ν4 2 ν3 1 0 ν2 -1 ν1 t1 -2 t2 t3 t4 ... I Q U V time ... -90 0 1 2 3 ... 357 358 359 meridian CREATE zone ts id ARRAY LOFARsrc ( INT DIMENSION[-90:1:91], mrdn INT DIMENSION[0:1:360], TIMESTAMP DIMENSION, freq INT DIMENSION[30:10:241], INT DIMENSION[0:1:*], stks CHAR(1) DIMENSION CHECK(stks=`I' OR stks=`Q' OR stks=`U' OR stks=`V'), ra DOUBLE, decl DOUBLE, ra_err DOUBLE, decl_err DOUBLE, flux DOUBLE, ...); 2012-12-03 Ying Zhang 23
  • 34. LOFAR Use Case ra DOUBLE, decl DOUBLE, ra_err DOUBLE, decl_err DOUBLE, flux DOUBLE, ... frequency zone (Gray et al. 2006) 90 ... ... ν4 2 ν3 1 0 ν2 -1 ν1 t1 -2 t2 t3 t4 ... I Q U V time ... -90 0 1 2 3 ... 357 358 359 meridian Similarity of the flux of a LOFAR source at frequencies 30 MHz and 200 MHz cross-correlation of two time series 2012-12-03 Ying Zhang 24
  • 41. Cross-Correlation Cr.idx = 2 idx 2012-12-03 2 3 4 3 6 2 idx 0 1 2 val G Cr 1 val F 0 1 5 F [0 : 1] 7 G [2 : 3] idx -3 -2 -1 0 1 2 val 2 16 47 61 41 28 Ying Zhang 31
  • 42. Cross-Correlation Cr.idx = 2 idx 2012-12-03 2 4 3 6 idx 0 1 2 val G Cr 1 val F 0 1 5 3 F [0 : 1] 2 7 G [2 : 3] idx -3 -2 -1 0 1 2 val 2 16 47 61 41 28 Ying Zhang 32
  • 43. LOFAR Use Case ra DOUBLE, decl DOUBLE, ra_err DOUBLE, decl_err DOUBLE, flux DOUBLE, ... frequency zone (Gray et al. 2006) 90 ... ... ν4 2 ν3 1 0 ν2 -1 ν1 t1 -2 t2 t3 t4 ... I Q U V time ... -90 0 1 2 3 ... 357 358 359 meridian DECLARE fcnt INT, gcnt INT; SET fcnt = SELECT COUNT(*) FROM LOFARsrc[*][*][*][30][11][‘I’]; SET gcnt = SELECT COUNT(*) FROM LOFARsrc[*][*][*][200][11][‘I’]; CREATE ARRAY VIEW F (idx INT DIMENSION[0:1:fcnt], flux DOUBLE DEFAULT 0.0) AS SELECT flux FROM LOFARsrc[*][*][*][30][11][‘I’]; CREATE ARRAY VIEW G (idx INT DIMENSION[0:1:gcnt], val DOUBLE DEFAULT 0.0) AS SELECT flux FROM LOFARsrc[*][*][*][200][11][‘I’]; CREATE ARRAY CrCorr30_200 (idx INT DIMENSION[-fcnt+1:1:gcnt], val DOUBLE DEFAULT 0.0); INSERT INTO CrCorr SELECT SUM(F.flux * G.flux) FROM F, G, CrCorr30_200 AS C GROUP BY F[MAX(0, -C.idx) : MIN(fcnt, gcnt-C.idx)], G[MAX(0, C.idx) : MIN(gcnt, fcnt+C.idx)]; 2012-12-03 Ying Zhang 33
  • 44. LOFAR Use Case ra DOUBLE, decl DOUBLE, ra_err DOUBLE, decl_err DOUBLE, flux DOUBLE, ... frequency zone (Gray et al. 2006) 90 ... ... ν4 2 ν3 1 0 ν2 -1 ν1 t1 -2 t2 t3 t4 ... I Q U V time ... -90 0 1 2 3 ... 357 358 359 meridian retrieve the time series DECLARE fcnt INT, gcnt INT; SET fcnt = SELECT COUNT(*) FROM LOFARsrc[*][*][*][30][11][‘I’]; SET gcnt = SELECT COUNT(*) FROM LOFARsrc[*][*][*][200][11][‘I’]; CREATE ARRAY VIEW F (idx INT DIMENSION[0:1:fcnt], flux DOUBLE DEFAULT 0.0) AS SELECT flux FROM LOFARsrc[*][*][*][30][11][‘I’]; CREATE ARRAY VIEW G (idx INT DIMENSION[0:1:gcnt], val DOUBLE DEFAULT 0.0) AS SELECT flux FROM LOFARsrc[*][*][*][200][11][‘I’]; CREATE ARRAY CrCorr30_200 (idx INT DIMENSION[-fcnt+1:1:gcnt], val DOUBLE DEFAULT 0.0); INSERT INTO CrCorr SELECT SUM(F.flux * G.flux) FROM F, G, CrCorr30_200 AS C GROUP BY F[MAX(0, -C.idx) : MIN(fcnt, gcnt-C.idx)], G[MAX(0, C.idx) : MIN(gcnt, fcnt+C.idx)]; 2012-12-03 Ying Zhang 33
  • 45. LOFAR Use Case ra DOUBLE, decl DOUBLE, ra_err DOUBLE, decl_err DOUBLE, flux DOUBLE, ... frequency zone 90 ... ... ν4 2 ν3 1 0 ν2 -1 ν1 t1 -2 t2 t3 t4 ... I Q U V time ... -90 0 1 2 3 ... 357 358 359 meridian dynamic grouping for every iteration DECLARE fcnt INT, gcnt INT; SET fcnt = SELECT COUNT(*) FROM LOFARsrc[*][*][*][30][11][‘I’]; SET gcnt = SELECT COUNT(*) FROM LOFARsrc[*][*][*][200][11][‘I’]; CREATE ARRAY VIEW F (idx INT DIMENSION[0:1:fcnt], flux DOUBLE DEFAULT 0.0) AS SELECT flux FROM LOFARsrc[*][*][*][30][11][‘I’]; CREATE ARRAY VIEW G (idx INT DIMENSION[0:1:gcnt], val DOUBLE DEFAULT 0.0) AS SELECT flux FROM LOFARsrc[*][*][*][200][11][‘I’]; CREATE ARRAY CrCorr30_200 (idx INT DIMENSION[-fcnt+1:1:gcnt], val DOUBLE DEFAULT 0.0); INSERT INTO CrCorr SELECT SUM(F.flux * G.flux) FROM F, G, CrCorr30_200 AS C GROUP BY F[MAX(0, -C.idx) : MIN(fcnt, gcnt-C.idx)], G[MAX(0, C.idx) : MIN(gcnt, fcnt+C.idx)]; 2012-12-03 Ying Zhang 34
  • 46. Discussion Your use cases? Your problems? What do you need? How can SciQL help? 2012-12-03 Ying Zhang 35