Design

and

Implementation

of

On-Line

Analytical

Processing

-LRB-

OLAP

-RRB-

of

Spatial

Data

by

Neboj

sa

Stefanovi?c

B.Sc.

University

of

Belgrade

Yugoslavia

a

thesis

submitted

in

partial

fulfillment

of

the

requirements

for

the

degree

of

Master

of

Science

in

the

Department

of

Computing

Science

c

Neboj

sa

Stefanovi?c

SIMON

FRASER

UNIVERSITY

September

All

rights

reserved

This

work

may

not

be

reproduced

in

whole

or

in

part

by

photocopy

or

other

means

without

the

permission

of

the

author

APPROVAL

Name

Neboj

sa

Stefanovi?c

Degree

Master

of

Science

Title

of

thesis

Design

and

Implementation

of

On-Line

Analytical

Processing

-LRB-

OLAP

-RRB-

of

Spatial

Data

Examining

Committee

Dr.

Binay

Bhattacharya

Chair

Dr.

Jiawei

Han

School

of

Computing

Science

Senior

Supervisor

Dr.

Tiko

Kameda

School

of

Computing

Science

Supervisor

Dr.

Qiang

Yang

School

of

Computing

Science

SFU

External

Examiner

Date

Approved

ii

Abstract

On-line

analytical

processing

-LRB-

OLAP

-RRB-

has

gained

its

popularity

in

database

industry

With

a

huge

amount

of

data

stored

in

spatial

databases

and

the

introduction

of

spatial

components

to

many

relational

or

object-relational

databases

it

is

important

to

study

the

methods

for

spatial

data

warehousing

and

on-line

analytical

processing

of

spatial

data

This

thesis

investigates

methods

for

spatial

OLAP

by

integration

of

nonspatial

on-line

analytical

processing

-LRB-

OLAP

-RRB-

methods

with

spatial

database

implementation

techniques

A

spatial

data

warehouse

model

which

consists

of

both

spatial

and

nonspatial

dimensions

and

measures

is

proposed

Methods

for

computation

of

spatial

data

cubes

and

analytical

processing

on

such

spatial

data

cubes

are

studied

with

several

strategies

proposed

including

approximation

and

partial

materialization

of

the

spatial

objects

resulting

from

spatial

OLAP

operations

Some

techniques

for

selective

materialization

of

the

spatial

computation

results

are

worked

out

and

the

performance

study

has

demonstrated

the

effectiveness

of

these

techniques

Spatial

OLAP

has

been

partially

implemented

as

a

part

of

GeoMiner

a

system

prototype

for

spatial

data

mining

iii

Acknowledgments

I

would

like

to

thank

my

senior

supervisor

professor

Dr.

Jiawei

Han

for

introducing

me

to

data

mining

and

data

warehousing

concepts

and

for

directing

my

research

I

am

very

grateful

for

many

inspiring

discussions

and

for

confidence

that

he

has

in

me

He

has

been

available

and

helpful

throughout

the

preparation

of

this

thesis

and

his

support

and

supervision

have

been

invaluable

Thanks

also

goes

to

my

supervisor

professor

Dr.

Tiko

Kameda

and

external

examiner

professor

Dr.

Qiang

Yang

for

reading

this

thesis

and

making

very

valuable

suggestions

Additionally

I

would

like

to

thank

Krzysztof

Koperski

for

very

thoughtful

comments

and

suggestions

that

strengthened

and

focused

my

research

work

Moreover

it

was

great

fun

working

with

him

on

the

design

and

implementation

of

the

GeoMiner

system

prototype

I

would

like

to

thank

my

parents

and

my

brother

Veljko

for

their

love

encouragement

and

support

The

potpourri

of

my

gratitude

appreciation

and

feelings

are

more

than

words

can

say

Not

even

thousands

of

kilometers

could

ever

make

a

gap

between

us

Many

thanks

go

to

my

uncle

and

aunt

for

their

generosity

and

heart-warming

acceptance

to

their

family

If

it

were

not

for

them

it

is

unlikely

that

I

would

have

come

to

Canada

and

studied

at

Simon

Fraser

University

Finally

I

wish

to

thank

Ya

Ling

-LRB-

Donna

-RRB-

Hsiao

whose

emotional

support

sustained

me

through

periods

of

loneliness

and

self-doubt

Without

her

trust

love

and

care

I

would

have

never

overcome

numerous

problems

that

I

came

across

She

has

been

my

greatest

inspiration

and

I

am

delighted

that

she

knows

that

iv

Dedication

To

Mom

Dad

and

Veljko

v

Contents

Abstract

iii

Acknowledgments

iv

Dedication

v

List

of

Tables

viii

List

of

Figures

ix

Introduction

On-Line

Analytical

Processing

Motivations

for

Spatial

OLAP

The

role

of

Spatial

OLAP

in

Spatial

Data

Mining

Thesis

Organization

Related

Work

Logical

Design

of

a

Data

Warehouse

Physical

Design

of

a

Data

Warehouse

Architecture

of

OLAP

Servers

Materialization

of

Views

Indexing

of

OLAP

Data

SQL

Extensions

Spatial

Data

Mining

Model

of

a

Spatial

Data

Warehouse

Logical

Design

of

a

Spatial

Data

Warehouse

Dimensions

in

a

Spatial

Date

Warehouse

Measures

in

a

Spatial

Date

Warehouse

An

Example

of

a

Spatial

Data

Warehouse

vi

Implementation

of

a

Spatial

Data

Cube

Challenges

in

Implementation

of

a

Spatial

Data

Cube

Approaches

to

Computation

of

Spatial

Measures

Materialization

of

Spatial

Measures

Approximate

Computation

of

Spatial

Measures

Selective

Materialization

of

Spatial

Measures

The

Problem

Statement

Spatial

Greedy

Algorithm

Pointer

Intersection

Algorithm

Object

Connection

Algorithm

Utilization

of

Spatial

Measures

in

On-Line

Processing

Utilization

of

Estimated

Spatial

Measures

Utilization

of

Precomputed

Spatial

Measures

Implementation

and

Experiments

Design

and

Implementation

of

the

GeoMiner

system

System

Architecture

Implementation

of

OLAP

in

the

GeoMiner

System

Role

of

OLAP

in

Spatial

Data

Mining

Performance

Analysis

of

Proposed

Algorithms

Effectiveness

of

the

Algorithms

Efficiency

of

the

Algorithms

Conclusion

Summary

Discussion

and

Future

Research

Issues

Bibliography

vii

List

of

Tables

Weather

probes

table

Result

of

a

roll-up

operation

Result

of

another

roll-up

operation

Sets

of

pointers

for

selected

cuboids

Candidates

for

merged

MBRs

Merged

MBRs

that

are

stored

in

the

spatial

data

cube

Access

frequency

of

the

cuboids

First

three

iterations

of

spatial

greedy

algorithm

Access

frequencies

of

selected

cuboids

Candidate

table

for

selected

cuboids

Regions

to

be

premerged

Candidate

connected

obj

table

for

selected

cuboids

Candidates

for

selection

of

premerged

spatial

objects

viii

List

of

Figures

A

star

schema

A

snowflake

schema

A

data

cube

A

cuboid

Star

model

of

a

spatial

data

warehouse

BC

weather

Weather

probes

map

Concept

hierarchies

in

a

spatial

data

warehouse

BC

weather

Generalized

regions

after

different

roll-up

operations

A

lattice

of

cuboids

Rough

approximation

of

the

spatial

measures

A

merged

MBR

with

a

low

area

weight

A

lattice

showing

selected

cuboids

An

example

map

An

example

map

A

lattice

for

the

selected

cuboids

General

architecture

of

GeoMiner

Display

of

spatial

characteristic

rules

Drilling-down

along

spatial

dimension

Results

of

a

comparison

query

Spatial

greedy

algorithm

benefits

of

materialization

ix

Pointer

intersection

and

object

connection

algorithms

benefits

of

ma

terialization

Comparison

of

algorithms

benefit

of

materialization

Scalability

of

spatial

greedy

algorithm

as

a

function

of

number

of

map

objects

Scalability

of

spatial

greedy

algorithm

as

a

function

of

number

of

cuboids

Scalability

of

pointer

intersection

and

object

connection

algorithms

as

a

function

of

number

of

objects

Scalability

of

pointer

intersection

and

object

connection

algorithms

as

a

function

of

number

of

cuboids

x

Chapter

Introduction

With

the

rapid

growth

of

enterprise

data

it

is

essential

to

develop

techniques

that

summarize

such

voluminous

data

In

the

last

few

years

there

has

been

a

substantial

effort

on

creation

usage

and

maintenance

of

data

warehouses

A

data

warehouse

is

designed

to

manage

large

volumes

of

business

data

and

to

provide

a

foundation

for

analytical

processing

It

can

be

defined

as

a

subject-oriented

integrated

time

varying

non-volatile

collection

of

data

that

is

used

primarily

in

organizational

decision

making

-LSB-

-RSB-

The

goal

of

data

warehouses

is

to

provide

a

single

image

of

business

reality

for

the

organization

Typically

data

warehouse

systems

consist

of

a

set

of

programs

that

extract

data

from

the

operational

environment

a

repository

that

maintains

the

warehouse

data

and

systems

that

provide

information

to

users

In

this

chapter

we

give

a

brief

summary

of

the

conventional

OLAP

and

stress

the

importance

of

its

extension

for

handling

spatial

data

Then

we

present

the

outline

of

this

thesis

On-Line

Analytical

Processing

The

notion

of

extracting

useful

knowledge

from

collected

data

is

not

a

new

idea

in

information

systems

technology

Only

with

the

explosive

growth

of

the

quantity

of

data

has

it

become

crucial

to

systematically

examine

techniques

for

data

analysis

Many

organizations

possess

a

wealth

of

data

that

is

maintained

and

stored

but

CHAPTER

INTRODUCTION

they

are

unable

to

capitalize

on

the

nuggets

of

information

hidden

in

the

data

The

primary

goal

of

data

warehouses

is

to

improve

quality

of

decision

making

process

in

the

enterprise

Years

of

research

have

produced

state-of-the-art

technology

Furthermore

in

parallel

with

the

investigation

into

design

of

data

warehouses

various

techniques

for

analyzing

large

amounts

of

data

have

been

proposed

Accordingly

a

new

term

OLAP

-LRB-

On-Line

Analytical

Processing

-RRB-

-LSB-

-RSB-

was

coined

The

data

warehousing

supports

on-line

analytical

processing

-LRB-

OLAP

-RRB-

the

functional

and

performance

requirements

of

which

are

very

different

from

those

of

on-line

transaction

processing

-LRB-

OLTP

-RRB-

applications

traditionally

supported

by

the

operational

databases

Whereas

transaction

processing

systems

are

judged

on

their

ability

to

collect

and

manage

data

analytical

processing

systems

are

judged

on

their

ability

to

extract

information

from

data

These

two

types

of

data

processing

differ

in

a

number

of

aspects

and

the

differences

are

summarized

below

ffl

users

While

OLTP

is

performed

mainly

by

clerks

OLAP

is

used

by

management

people

in

a

decision

support

process

ffl

data

Data

in

OLTP

is

current

accurate

and

very

detailed

In

contrast

data

stored

in

data

warehouses

and

manipulated

by

OLAP

is

historical

multidimensional

and

often

summarized

ffl

unit

of

operation

Transactions

in

OLTP

are

usually

short

SQL

statements

as

opposed

to

OLAP

where

a

knowledge

worker

deals

with

very

complex

nested

queries

This

creates

a

necessity

for

a

flexible

user

interface

and

even

more

importantly

for

an

efficient

query

optimization

ffl

number

of

accessed

records

In

most

cases

the

number

of

records

accessed

by

an

OLAP

server

is

at

least

by

an

order

of

magnitude

larger

than

in

the

case

of

OLTP

CHAPTER

INTRODUCTION

ffl

metrics

Transaction

throughput

is

the

main

performance

indicator

in

OLTP

applications

however

query

throughput

and

response

time

are

critical

for

OLAP

applications

Only

if

response

time

is

adequate

-LRB-

a

few

seconds

-RRB-

can

OLAP

be

fruitful

and

appealing

for

data

analysts

All

these

characteristics

are

strong

arguments

for

physical

separation

of

data

warehouses

from

operational

data

Moreover

it

is

often

the

case

that

data

warehouses

contain

data

consolidated

from

heterogeneous

sources

including

legacy

data

The

different

sources

may

contain

data

of

varying

quality

and/or

may

use

inconsistent

representations

codes

formats

which

have

to

be

reconciled

In

most

cases

OLTP

is

developed

using

E-R

model

-LSB-

-RSB-

that

is

application-oriented

Such

a

model

can

not

effectively

serve

for

decision

support

since

a

database

model

for

OLAP

is

to

be

subject-oriented

Star

and

snowflake

schemas

-LSB-

-RSB-

have

emerged

as

the

main

candidates

for

models

for

efficient

OLAP

Two

basic

OLAP

operations

are

roll-up

-LRB-

decreasing

the

level

of

details

-RRB-

and

drilldown

-LRB-

increasing

the

level

of

details

-RRB-

along

one

or

more

dimensions

Roll-up/drilldown

is

often

considered

as

a

process

of

ascending/descending

concept

hierarchies

A

concept

hierarchy

provides

valuable

information

for

inductive

learning

It

is

related

to

a

specific

attribute

in

a

database

and

is

partially

ordered

according

to

generalto-specific

ordering

-LSB-

-RSB-

However

above

OLAP

operations

are

not

necessarily

associated

with

the

existence

of

hierarchies

To

solve

this

ambiguity

a

concept

any

is

introduced

for

each

dimension

Rolling-up

a

dimension

to

any

is

equal

to

dropping

it

If

selection

and

projection

are

applied

together

with

a

drill-down

operation

one

gets

slice-and-dice

OLAP

operation

Finally

the

operation

that

changes

the

orientation

of

a

multidimensional

view

of

data

is

known

as

pivoting

Data

warehouses

can

be

implemented

on

standard

or

extended

relational

DBMSs

called

Relational

OLAP

-LRB-

ROLAP

-RRB-

servers

-LSB-

-RSB-

These

servers

assume

that

data

is

stored

in

relational

databases

and

they

support

extensions

to

SQL

that

facilitate

implementation

of

a

multidimensional

data

model

In

contrast

Multidimensional

OLAP

-LRB-

MOLAP

-RRB-

servers

directly

store

multidimensional

data

in

a

special

data

structures

-LRB-

e.g.

multidimensional

arrays

-RRB-

and

implement

the

OLAP

operations

over

these

data

CHAPTER

INTRODUCTION

structures

-LSB-

-RSB-

Defining

a

schema

and

selecting

an

OLAP

server

is

only

one

step

in

the

process

of

building

and

maintaining

a

data

warehouse

It

is

very

important

that

the

architecture

which

fits

the

needs

of

knowledge

workers

be

chosen

carefully

Ideally

creating

an

integrated

enterprise

warehouse

that

collects

information

about

all

subjects

-LRB-

e.g.

customers

products

revenues

personnel

-RRB-

spanning

the

whole

organization

would

be

the

best

choice

The

problem

is

that

building

such

a

warehouse

is

a

long

and

a

complex

process

Many

different

kinds

of

metadata

including

administrative

business

and

operational

metadata

have

to

be

managed

Consequently

many

organizations

are

settling

for

data

marts

instead

A

data

mart

in

an

integrated

data

resource

is

a

subset

of

the

data

resource

usually

oriented

to

a

specific

purpose

or

major

data

subject

that

may

be

distributed

to

support

local

business

needs

-LSB-

-RSB-

Data

marts

enable

faster

roll

out

since

they

do

not

require

the

enterprise-wide

consensus

but

they

may

lead

to

complex

integration

problems

in

the

long

run

-LSB-

-RSB-

Motivations

for

Spatial

OLAP

Being

recognized

as

a

crucial

task

in

information

technology

the

OLAP

phenomenon

has

become

interesting

from

both

an

academic

and

an

industrial

point

of

view

We

are

witnessing

a

tremendous

burst

of

OLAP-related

research

activity

-LSB-

-RSB-

However

the

research

interests

have

been

mainly

directed

towards

OLAP

of

relational

data

while

neglecting

the

importance

of

consolidating

integrating

and

summarizing

other

types

of

more

complex

data

With

the

popular

use

of

satellite

telemetry

systems

remote

sensing

systems

medical

imaging

and

other

computerized

data

collection

tools

a

huge

amount

of

spatial

data

has

been

stored

in

spatial

databases

geographic

information

systems

spatial

components

of

many

relational

or

object-relational

databases

and

other

spatial

information

repositories

It

is

an

imminent

task

to

develop

efficient

methods

for

the

analysis

and

understanding

of

such

huge

amount

of

spatial

data

and

utilize

them

effectively

-LSB-

-RSB-

Following

the

trend

of

the

development

of

data

warehousing

and

data

mining

CHAPTER

INTRODUCTION

techniques

-LSB-

-RSB-

we

propose

to

construct

spatial

data

warehouses

to

facilitate

on-line

spatial

data

analysis

and

spatial

data

mining

-LSB-

-RSB-

Similar

to

nonspatial

data

warehouses

-LSB-

-RSB-

we

consider

that

a

spatial

data

warehouse

is

a

subject-oriented

integrated

time-variant

and

nonvolatile

collection

of

both

spatial

and

nonspatial

data

in

support

of

management

's

decision

making

process

In

this

thesis

we

study

how

to

construct

a

spatial

data

warehouse

and

how

to

implement

efficiently

on-line

analytical

processing

of

spatial

data

-LRB-

i.e.

spatial

OLAP

-RRB-

in

such

a

warehouse

environment

To

motivate

our

study

of

spatial

data

warehousing

and

spatial

OLAP

operations

we

examine

the

following

application

examples

Example

Regional

weather

pattern

analysis

There

are

about

weather

probes

scattered

in

British

Columbia

each

recording

daily

temperature

and

precipitation

for

a

designated

small

area

and

transmitting

signals

to

a

provincial

weather

station

A

user

may

like

to

view

weather

patterns

on

a

map

by

month

by

region

and

by

different

combinations

of

temperature

and

precipitation

or

may

even

like

to

dynamically

drill-down

or

roll-up

along

any

dimension

to

explore

desired

patterns

such

as

wet

and

hot

regions

in

Fraser

Valley

in

July

Example

Overlay

of

multiple

thematic

maps

There

often

exist

multiple

thematic

maps

in

a

spatial

database

such

as

altitude

map

population

map

and

daily

temperature

maps

of

a

region

By

overlaying

multiple

thematic

maps

one

may

find

some

interesting

relationships

among

altitude

population

density

and

temperature

For

example

flat

low

land

in

B.C.

close

to

the

coast

is

characterized

by

mild

climate

and

dense

population

One

may

like

to

perform

data

analysis

on

any

selected

dimension

such

as

drill

down

along

a

region

to

find

the

relationships

between

altitude

and

temperature

Example

Maps

containing

objects

of

different

spatial

data

types

Maps

may

contain

objects

with

different

spatial

data

types

For

example

one

map

could

contain

highways

and

roads

of

a

region

the

second

about

sewage

network

and

CHAPTER

INTRODUCTION

the

third

about

the

altitude

of

the

region

To

choose

an

area

for

housing

development

one

should

consider

many

factors

such

as

road

network

connection

sewage

network

connection

altitude

etc.

One

may

like

to

drill-down

and

roll-up

along

some

dimension

-LRB-

s

-RRB-

in

a

spatial

data

warehouse

which

may

require

overlay

of

multiple

thematic

maps

of

different

spatial

data

types

such

as

regions

lines

and

networks

The

above

examples

show

some

interesting

applications

of

spatial

data

warehouses

but

also

indicate

that

there

are

many

challenging

issues

in

implementing

spatial

data

warehouses

The

first

challenge

is

the

construction

of

spatial

data

warehouses

by

integration

of

spatial

data

from

heterogeneous

sources

and

systems

Spatial

data

is

usually

stored

in

different

industrial

firms

and

government

agencies

using

different

data

formats

Data

formats

are

not

only

structure-specific

-LRB-

e.g.

raster

vs.

vector-based

spatial

data

object-oriented

vs.

relational

models

different

spatial

storage

and

indexing

structures

etc.

-RRB-

but

also

vendor-specific

-LRB-

e.g.

ESRI

MapInfo

Intergraph

etc.

-RRB-

Moreover

even

with

a

specific

vendor

like

ESRI

there

are

different

formats

like

Arc/Info

and

ArcView

-LRB-

shape

-RRB-

files

There

have

been

a

lot

of

work

on

data

integration

and

data

exchange

In

this

thesis

we

are

not

going

to

address

data

integration

issues

and

we

assume

that

a

spatial

data

warehouse

can

be

constructed

either

from

a

homogeneous

spatial

database

or

by

integration

of

a

collection

of

heterogeneous

spatial

databases

with

data

sharing

and

information

exchange

using

some

existing

or

future

techniques

Methods

for

incremental

update

of

such

spatial

data

warehouses

to

make

it

consistent

and

up-to-date

will

not

be

addressed

in

this

thesis

either

The

second

challenge

is

the

realization

of

fast

and

flexible

on-line

analytical

processing

in

a

spatial

data

warehouse

This

is

the

theme

of

our

study

In

spatial

database

research

spatial

indexing

and

accessing

methods

have

been

studied

extensively

for

efficient

storage

and

access

of

spatial

data

-LSB-

-RSB-

Unfortunately

these

methods

alone

can

not

provide

sufficient

support

for

on-line

analytical

processing

of

spatial

data

because

spatial

OLAP

operations

summarize

and

characterize

a

large

set

of

spatial

objects

in

different

dimensions

and

at

different

levels

of

abstraction

which

requires

fast

and

flexible

presentation

of

collective

aggregated

CHAPTER

INTRODUCTION

or

general

properties

of

spatial

objects

New

models

and

techniques

should

be

developed

for

on-line

analysis

of

voluminous

spatial

data

In

this

thesis

we

propose

the

construction

of

a

spatial

data

warehouse

using

a

spatial

data

cube

model

-LRB-

also

called

a

spatial

multidimensional

database

model

-RRB-

A

star/snowflake

model

is

used

to

model

a

spatial

data

cube

which

consists

of

spatial

dimensions

and/or

measures

together

with

nonspatial

ones

Methods

for

efficient

implementation

of

spatial

data

cubes

are

examined

with

some

interesting

techniques

proposed

especially

on

precomputation

and

selective

materialization

of

spatial

OLAP

results

We

will

show

that

the

precomputation

of

spatial

OLAP

results

-LRB-

i.e.

spatial

measures

-RRB-

such

as

merge

of

a

number

of

spatially

connected

regions

is

beneficial

not

only

for

fast

response

in

result

display

but

also

and

often

more

importantly

for

further

spatial

analysis

and

spatial

data

mining

such

as

spatial

association

clustering

classification

etc

-LSB-

-RSB-

The

role

of

Spatial

OLAP

in

Spatial

Data

Mining

Spatial

data

mining

i.e.

knowledge

discovery

from

large

amounts

of

spatial

data

is

a

highly

demanding

field

because

voluminous

data

have

been

collected

in

various

applications

including

remote

sensing

medical

imaging

environmental

assessment

and

planning

geographical

information

systems

-LRB-

GIS

-RRB-

etc

-LSB-

-RSB-

Moreover

most

of

business

data

contains

at

least

implicitly

spatial

dimension

-LRB-

e.g.

postal

code

-RRB-

that

can

be

easily

geocoded

Since

most

data

mining

systems

can

work

with

data

stored

in

flat

files

or

operational

databases

neither

a

data

warehouse

nor

OLAP

is

required

Yet

mining

a

data

warehouse

usually

results

in

better

information

because

data

is

usually

cleansed

before

being

stored

there

Furthermore

one

of

the

premises

for

fruitful

data

mining

is

to

be

able

to

perform

it

at

different

levels

of

abstraction

Interactive

approach

in

knowledge

discovery

is

reflected

by

frequent

usage

of

various

OLAP

operations

When

integrated

with

data

mining

modules

such

as

associator

classifier

or

clustering

module

the

OLAP

engine

can

serve

as

a

backbone

of

an

interesting

and

powerful

data

CHAPTER

INTRODUCTION

mining

system

-LSB-

-RSB-

Thus

we

see

spatial

OLAP

as

a

prerequisite

for

spatial

data

mining

However

the

linkage

between

OLAP

and

data

mining

is

not

one-directional

Dealing

with

large

volumes

of

data

involves

a

high

probability

of

having

errors

Errors

both

spatial

and

nonspatial

are

often

caused

by

inconsistent

field

lengths

inconsistent

value

alignments

inconsistent

descriptions

missing

entries

and

violation

of

integrity

constraints

In

all

these

cases

data

cleaning

is

an

absolutely

necessary

step

in

the

process

of

building

a

data

warehouse

Data

cleaning

is

a

problem

that

is

reminiscent

of

heterogeneous

data

integration

a

challenging

problem

that

has

been

studied

for

years

But

here

the

emphasis

is

on

data

inconsistencies

rather

than

schema

inconsistencies

-LSB-

-RSB-

Data

cleaning

is

much

more

than

simply

updating

a

record

with

the

correct

data

because

the

detection

of

errors

is

a

crucial

part

in

this

process

Although

the

data

cleaning

process

can

hardly

be

fully

automated

by

using

data

mining

tools

such

as

clustering

trend

or

deviation

analysis

one

can

identify

data

anomalies

After

detected

errors

are

corrected

one

may

proceed

with

a

creation

of

a

data

warehouse

Thesis

Organization

This

thesis

is

organized

as

follows

Chapter

contains

a

review

of

previous

related

work

on

data

warehousing

OLAP

and

spatial

data

mining

Chapter

describes

the

model

of

a

spatial

data

warehouse

The

emphasis

is

put

on

spatial

measures

and

their

materialization

Chapter

addresses

challenges

for

selective

materialization

of

spatial

measures

and

presents

three

algorithms

Chapter

presents

the

OLAP

component

of

the

GeoMiner

system

and

the

performance

study

of

the

proposed

algorithms

Finally

Chapter

summarizes

this

study

and

discusses

the

future

research

issues

Chapter

Related

Work

In

this

chapter

we

briefly

summarize

previous

work

that

has

influenced

our

design

and

implementation

of

spatial

OLAP

It

includes

techniques

for

the

design

and

implementation

of

data

warehouses

and

the

work

on

spatial

data

mining

Logical

Design

of

a

Data

Warehouse

The

fundamental

characteristic

of

the

data

warehouse

technology

is

its

multidimensional

paradigm

In

contrast

operational

data

is

mainly

stored

in

a

form

of

flat

relational

tables

Thus

a

new

multidimensional

model

creates

a

number

of

challenges

Most

data

warehouses

are

built

using

a

star

schema

-LRB-

also

called

star

join

schema

-RRB-

to

represent

the

multidimensional

data

model

-LSB-

-RSB-

The

reason

behind

adopting

the

name

star

schema

is

quite

clear

the

database

contains

a

central

fact

table

and

a

number

of

radially

organized

dimension

tables

While

the

fact

table

is

large

especially

in

terms

of

the

number

of

tuples

the

dimensional

tables

are

usually

relatively

small

This

asymmetric

architecture

is

very

different

from

what

the

entity-relationship

model

is

built

on

Each

tuple

in

the

fact

table

contains

a

pointer

in

the

form

of

a

foreign

key

to

each

of

the

dimension

tables

On

the

other

hand

each

dimension

table

consists

of

columns

that

represent

attributes

of

the

dimension

CHAPTER

RELATED

WORK

product

time

customer

store

profit

expenses

count

dimension

Time

dimension

dimension

education

time

day

month

season

description

brand

category

Store

Fact

table

dimension

Product

city

province

address

Customer

Figure

A

star

schema

These

attributes

may

or

may

not

correspond

to

the

concept

hierarchy

of

the

dimension

An

example

of

a

star

schema

architecture

is

shown

in

Figure

While

the

fact

table

is

highly

normalized

the

attendant

dimension

tables

are

kept

denormalized

For

example

Store

dimension

table

is

denormalized

since

the

following

functional

dependency

-LSB-

-RSB-

holds

city

province

-LRB-

violating

the

third

normal

form

-RRB-

This

table

can

be

normalized

by

eliminating

column

province

and

creating

another

table

that

contains

only

city

and

province

columns

Store

table

may

contain

tuples

like

f#

Sears

Main

Street

Vancouver

B.C.g

and

f#

Eatons

First

Avenue

Vancouver

B.C.g.

The

normalized

table

would

contain

tuples

f#

Sears

Main

Street

Vancouverg

and

f#

Eatons

First

Avenue

Vancouverg

and

the

additional

dimension

table

would

contain

tuple

fVancouver

B.C.g

In

addition

to

dimensions

the

star

schema

collects

measures

of

the

business

Since

the

main

motivation

for

the

whole

data

warehouse

technology

is

to

enhance

decision

support

process

obtaining

useful

measures

presents

a

pivotal

issue

All

measures

of

the

business

are

stored

in

the

fact

table

P

rofit

expenses

and

count

are

measures

shown

in

Figure

Due

to

their

denormalized

dimension

tables

star

schemas

do

not

provide

an

explicit

support

for

concept

hierarchies

so

that

many

enterprise

data

warehouses

are

CHAPTER

RELATED

WORK

product

time

customer

store

profit

expenses

count

dimension

Time

dimension

dimension

education

time

day

month

season

description

brand

category

Store

Fact

table

dimension

Product

city

province

address

Customer

dimension

Month

dimension

month

year

description

Category

Figure

A

snowflake

schema

designed

using

a

snowflake

schema

shown

in

Figure

where

some

or

all

dimension

tables

are

fully

normalized

It

results

in

advantages

in

schema

maintenance

and

handling

of

concept

hierarchies

However

the

denormalized

structure

of

the

dimension

tables

in

a

star

schema

offers

easier

browsing

of

the

dimensions

For

this

reason

Kimball

one

of

the

leading

experts

in

data

warehouse

technology

strongly

discourages

using

a

snowflake

schema

The

dimension

tables

must

not

be

normalized

but

should

remain

as

flat

tables

Normalized

dimensions

destroy

the

ability

to

browse

-LSB-

-RSB-

The

main

reason

for

normalization

of

attendant

dimension

tables

is

to

minimize

storage

needs

albeit

the

amount

of

storage

used

by

all

dimension

tables

is

negligible

comparing

to

the

storage

used

by

the

fact

table

-LSB-

-RSB-

Finally

some

data

warehouses

are

built

around

fact

constellations

a

complex

structure

in

which

multiple

fact

tables

share

dimension

tables

-LSB-

-RSB-

For

instance

in

order

to

keep

track

of

both

projected

profit

and

actual

profit

one

may

form

a

fact

constellation

because

many

dimensions

are

shared

by

two

fact

tables

Using

any

of

the

above

structures

for

modeling

multidimensional

data

leads

to

large

benefits

during

decision

support

process

However

these

models

have

certain

limitations

in

handling

spatial

data

Although

many

existing

applications

deal

with

dimensions

that

contain

spatial

information

-LRB-

e.g.

Store

dimension

Geography

-RRB-

spatial

CHAPTER

RELATED

WORK

objects

are

not

considered

Introducing

spatial

objects

creates

a

number

of

challenges

New

types

of

dimensions

and

measures

have

to

be

added

to

the

model

Consequently

techniques

for

creating

using

and

maintaining

a

spatial

data

warehouse

will

significantly

differ

from

those

for

a

traditional

-LRB-

nonspatial

-RRB-

data

warehouse

The

detailed

discussion

on

the

necessary

extensions

is

presented

in

Chapter

Physical

Design

of

a

Data

Warehouse

Architecture

of

OLAP

Servers

Clearly

there

are

two

major

directions

in

the

implementation

of

a

data

warehouse

namely

MOLAP

and

ROLAP

and

most

corporations

have

followed

one

of

the

approaches

or

a

mixture

of

both

ROLAP

servers

extend

traditional

relational

servers

with

specialized

middleware

to

efficiently

support

multidimensional

OLAP

queries

and

they

are

typically

optimized

for

specific

back-end

relational

DBMS

servers

The

main

strength

of

ROLAP

is

in

exploiting

the

scalability

reliability

and

the

transactional

features

of

relational

systems

However

the

mismatch

between

OLTP

and

OLAP

style

querying

may

present

the

bottleneck

for

ROLAP

servers

MOLAP

servers

provide

a

direct

support

for

a

multidimensional

view

of

data

This

approach

has

the

advantage

of

excellent

indexing

properties

but

often

suffers

from

poor

space

utilization

especially

when

data

is

sparse

A

number

of

techniques

for

handling

sparse

data

have

been

proposed

We

will

give

a

short

overview

of

the

most

often

used

indexing

methods

in

the

following

subsection

The

current

state

of

MOLAP

is

very

chaotic

and

there

are

several

reasons

for

that

ffl

Unlike

in

the

relational

model

there

is

no

standard

multidimensional

model

ffl

There

are

no

standard

access

methods

or

API

's

ffl

The

products

range

from

narrow

to

broad

in

addressing

the

aspects

of

decision

support

ffl

Companies

do

not

reveal

their

design

strategies

CHAPTER

RELATED

WORK

Roll-up

along

dimensions

Base

-LRB-

least

generalized

-RRB-

cuboid

Apex

cuboid

-LRB-

getting

fewer

distinct

values

-RRB-

Figure

A

data

cube

There

is

an

on-going

debate

about

advantages

of

MOLAP

over

ROLAP

and

vice

versa

Two

approaches

are

compared

in

-LSB-

-RSB-

with

MOLAP

getting

a

significant

edge

In

the

same

paper

the

authors

proposed

an

efficient

algorithm

that

first

converts

the

relational

table

into

an

array

cube

the

array

and

then

convert

the

results

back

to

a

relational

table

Materialization

of

Views

One

of

distinctive

characteristics

of

OLAP

operations

is

that

the

queries

deal

with

summarized

data

or

aggregates

Hence

materialization

of

summary

data

can

accelerate

many

common

queries

Multidimensional

aggregates

that

serve

as

measures

of

the

business

are

usually

stored

in

a

data

cube

A

data

cube

consists

of

a

number

of

views

For

that

reason

views

are

often

called

CHAPTER

RELATED

WORK

product

store

customer

sales

Figure

A

cuboid

subcubes

or

cuboids

In

the

rest

of

this

thesis

we

will

use

these

terms

interchangeably

A

lattice

of

cuboids

that

constitute

one

data

cube

is

shown

in

Figure

A

cuboid

is

shown

in

Figure

In

this

cuboid

product

store

and

customer

are

dimensions

while

sales

is

a

measure

Roll-up/drill-down

along

any

of

the

dimensions

leads

to

decrease/increase

in

the

the

number

of

distinct

values

for

the

dimension

However

a

cuboid

is

associated

with

a

single

level

of

concept

hierarchies

for

all

dimensions

Note

that

some

dimensions

may

be

at

concept

any

i.e

dropped

dimension

In

order

to

explain

the

meaning

of

a

measure

we

for

the

moment

ignore

the

concept

hierarchies

for

dimensions

If

there

were

not

the

concept

hierarchies

cell

sales

would

contain

the

total

sales

of

a

particular

product

sold

in

a

particular

store

and

to

a

particular

customer

The

existence

of

concept

hierarchies

means

that

the

dimension

values

can

be

at

abstraction

levels

higher

that

that

of

raw

data

-LRB-

particular

product

ids

store

ids

or

customer

names

-RRB-

Each

cell

in

the

cuboid

corresponds

to

one

combination

of

dimension

values

The

main

incentive

for

materialization

is

to

shorten

on-line

processing

time

a

crucial

metric

for

data

warehouse

performance

Suppose

that

the

cuboid

-LRB-

view

-RRB-

shown

in

Figure

is

materialized

that

is

all

measures

-LRB-

cells

-RRB-

are

computed

off-line

Then

answering

an

OLAP

query

that

asks

for

this

cuboid

would

need

no

scan

of

the

database

table

The

major

challenges

in

exploiting

CHAPTER

RELATED

WORK

materialized

views

are

listed

in

-LSB-

-RSB-

as

follows

ffl

Identifying

the

views

to

materialize

There

are

three

obvious

approaches

to

materialization

of

cuboids

-LRB-

-RRB-

materialize

all

cuboids

-LRB-

-RRB-

materialize

of

the

cuboids

-LRB-

-RRB-

materialize

only

selected

cuboids

While

the

first

approach

suffers

from

the

explosion

of

consumed

space

the

second

one

results

in

a

slow

response

time

Thus

selective

materialization

seems

as

the

only

reasonable

solution

Harinarayan

Rajaraman

and

Ullman

proposed

a

scalable

greedy

algorithm

-LSB-

-RSB-

that

was

shown

to

have

a

good

performance

In

the

rest

of

this

thesis

we

will

refer

to

this

algorithm

as

HRU

algorithm

The

algorithm

recognizes

that

cuboids

can

be

organized

in

a

hierarchical

lattice

structure

Accordingly

it

uses

the

dependency

relationship

among

cuboids

to

determine

which

cuboids

should

be

selected

for

materialization

in

the

preprocessing

phase

The

objective

of

the

algorithm

is

to

minimize

the

average

time

taken

to

evaluate

a

view

-LRB-

cuboid

-RRB-

while

materializing

a

fixed

number

of

views

regardless

of

the

space

they

use

The

authors

assume

the

cost

of

answering

a

query

is

proportional

to

the

number

of

rows

examined

Then

they

observe

that

a

view

containing

dimensions

A

and

B

can

be

computed

using

view

A

B

and

C

without

scanning

the

original

relational

table

Thus

the

problem

is

to

select

a

set

of

optimal

views

that

leads

to

the

minimal

average

time

taken

to

evaluate

any

view

The

authors

show

that

the

problem

is

intractable

and

propose

a

greedy

algorithm

In

each

round

the

algorithm

chooses

a

view

to

materialize

considering

what

was

materialized

in

earlier

rounds

The

benefit

of

materialization

is

defined

as

the

decrease

in

the

number

of

rows

to

be

scanned

For

detailed

explanation

of

this

heuristic

we

refer

to

-LSB-

-RSB-

The

total

benefit

of

the

algorithm

is

at

least

of

the

benefit

of

the

optimal

algorithm

Later

the

same

research

group

augmented

this

algorithm

by

proposing

a

set

of

greedy

algorithms

that

select

cuboids

and

indices

in

parallel

-LSB-

-RSB-

These

algorithms

have

granularity

on

the

cuboid

level

We

will

show

that

this

characteristic

makes

the

algorithms

inadequate

for

applying

on

databases

with

complex

data

CHAPTER

RELATED

WORK

types

such

as

spatial

data

Furthermore

the

algorithms

do

not

take

access

frequency

into

account

ffl

Exploiting

the

materialized

views

to

answer

OLAP

queries

It

is

very

important

to

make

the

precomputed

aggregates

transparent

to

the

user

of

the

OLAP

engine

In

other

words

the

user

should

pose

queries

to

base

tables

rather

than

to

aggregates

On-line

processing

should

take

as

much

benefit

as

possible

from

precomputed

aggregations

In

general

there

may

be

several

candidates

that

can

be

used

in

answering

a

query

and

it

is

a

non-trivial

task

to

determine

which

of

the

candidate

-LRB-

s

-RRB-

is/are

most

suitable

for

the

query

Some

work

on

this

problem

have

been

reported

in

-LSB-

-RSB-

ffl

Efficient

updating

of

materialized

views

Although

OLAP

applications

are

mainly

read-only

all

materialized

views

have

to

be

precomputed

when

a

new

batch

of

data

is

loaded

There

are

two

main

streams

in

this

area

of

research

updating

the

values

of

precomputed

aggregations

and

updating

the

schema

Arguably

incremental

update

is

the

only

reasonable

approach

There

has

been

a

lot

of

on-going

research

work

in

addressing

this

issue

-LSB-

-RSB-

Indexing

of

OLAP

Data

Speeding

up

the

access

to

data

is

often

a

critical

concern

for

relational

DBMS

The

proliferation

of

end

user-oriented

tools

the

availability

of

sophisticated

applications

for

relational

DBMSs

and

especially

the

growing

interest

in

data

warehousing

and

on-line

analytical

processing

-LRB-

OLAP

-RRB-

applications

have

contributed

to

the

complexity

of

workloads

that

today

's

databases

must

support

OLAP

applications

require

viewing

data

from

many

different

angles

-LRB-

dimensions

-RRB-

It

is

crucial

that

these

applications

have

fast

interactive

response

time

to

a

variety

of

large

aggregate

queries

on

huge

amounts

of

data

Techniques

for

deciding

which

aggregate

views

to

materialize

certainly

improve

response

time

to

OLAP

queries

without

introducing

a

significant

CHAPTER

RELATED

WORK

performance

degradation

due

to

storage

overhead

However

only

if

the

indexing

structure

is

adequate

can

one

fully

exploit

the

benefits

of

OLAP

applications

According

to

-LSB-

-RSB-

existing

indexing

methods

in

OLAP

data

can

be

classified

into

the

following

four

classes

ffl

Multidimensional

array-based

methods

Arguably

the

most

natural

indexing

schema

for

the

OLAP

data

cube

is

a

multidimensional

array

This

would

be

the

ideal

model

if

the

data

cube

were

dense

However

in

most

applications

with

large

number

of

dimensions

the

cube

sparsity

is

a

huge

problem

Typically

only

of

data

in

the

data

cube

is

non-zero

-LSB-

-RSB-

An

interesting

solution

for

handling

sparse

data

is

used

in

Arbor

Essbase

-LSB-

-RSB-

in

which

dimensions

are

divided

into

dense

and

sparse

dimensions

An

index

tree

-LRB-

B

tree

-RRB-

is

formed

using

combinations

of

values

for

sparse

dimensions

Leaves

of

the

tree

point

to

multidimensional

arrays

of

dense

dimensions

However

with

a

large

number

of

sparse

dimensions

and

many

distinct

values

for

them

the

number

of

leaf

nodes

in

the

B

tree

grows

rapidly

Only

if

the

sparse

index

fits

in

the

memory

can

this

method

produce

satisfactory

performance

Thus

the

success

of

the

above

method

heavily

depends

on

the

ability

to

find

enough

dense

dimensions

Moreover

only

queries

that

specify

values

for

all

sparse

dimensions

have

adequate

performance

ffl

Bitmap

indices

The

increased

focus

on

complex

queries

for

data

warehousing

and

OLAP

has

revived

the

interest

in

bitmap

indices

The

basic

idea

behind

a

bitmap

is

to

use

a

single

bit

-LRB-

instead

of

multiple

bytes

of

data

-RRB-

to

indicate

that

a

specific

value

of

an

attribute

is

associated

with

an

entity

For

example

instead

of

storing

eleven

character

long

string

programmer

as

a

skill

of

a

particular

employee

the

skill

value

is

attributed

to

the

employee

by

using

a

single

bit

The

relative

position

of

the

bit

within

the

string

of

bits

is

mapped

to

the

relevant

tuple

Queries

can

be

answered

by

applying

bitwise

OR

operation

for

different

values

of

the

same

dimension

and

bitwise

AND

operation

among

different

dimensions

-LSB-

-RSB-

The

major

advantages

of

this

technique

are

that

-LRB-

-RRB-

For

low

cardinality

data

both

CHAPTER

RELATED

WORK

storage

space

and

response

time

are

low

-LRB-

-RRB-

Sparse

data

is

handled

in

the

same

way

as

dense

data

-LRB-

-RRB-

All

dimensions

are

treated

symmetrically

On

the

other

hand

some

clear

disadvantages

of

bitmap

indices

are

that

-LRB-

-RRB-

There

is

increased

storage

space

overhead

for

storing

bitmaps

especially

for

high

cardinality

data

-LRB-

-RRB-

Answering

range

queries

may

be

expensive

because

it

involves

a

number

of

bitwise

OR

operations

-LRB-

-RRB-

Updates

are

costly

because

all

indices

have

to

be

updated

for

even

a

single

row

insertion

Several

approaches

for

handling

high

cardinality

data

have

been

proposed

Compression

of

bitmaps

indices

-LSB-

-RSB-

can

significantly

reduce

storage

overhead

however

the

efficiency

of

performing

bitwise

AND/OR

operations

may

deteriorate

Some

products

-LSB-

-RSB-

use

a

hybrid

approach

that

combines

B-tree

with

bitmap

indices

ffl

Hierarchical

indexing

methods

Hierarchical

indexing

methods

exploit

hierarchical

nature

of

data

to

save

space

An

interesting

study

on

cube

forests

is

presented

in

-LSB-

-RSB-

The

authors

first

define

a

cube

tree

as

a

tree

whose

nodes

are

search

structures

-LRB-

e.g.

B-trees

or

multidimensional

structures

-RRB-

Each

node

represents

an

index

on

one

attribute

-LRB-

or

collection

of

attributes

-RRB-

In

order

to

create

a

cube

tree

attributes

have

to

be

ordered

and

the

relational

table

indexed

in

such

an

order

This

order

defines

a

template

This

method

favors

some

queries

over

others

i.e.

queries

that

form

a

prefix

of

the

template

are

answered

more

quickly

than

others

In

order

to

overcome

this

disadvantage

cube

trees

are

organized

in

cube

forests

Details

of

this

study

can

be

found

in

-LSB-

-RSB-

ffl

Conventional

multidimensional

indices

A

number

of

multidimensional

indices

have

been

proposed

for

handling

spatial

data

-LSB-

-RSB-

Data

structures

like

R-trees

Quad-trees

and

their

variations

are

primarily

used

for

two

-LRB-

or

three

-RRB-

dimensional

data

but

they

do

not

scale

well

if

applied

to

OLAP

applications

-LSB-

-RSB-

However

modifications

proposed

in

-LSB-

-RSB-

optimize

R-trees

for

efficient

access

to

OLAP

data

The

method

allows

for

two

types

of

nodes

-LRB-

-RRB-

rectangular

dense

regions

that

contain

more

points

than

that

specified

by

a

threshold

and

-LRB-

-RRB-

points

in

sparse

regions

Note

that

for

dense

CHAPTER

RELATED

WORK

regions

only

boundaries

are

stored

This

method

relies

on

the

ability

to

detect

dense

regions

in

the

multidimensional

space

In

most

cases

such

regions

can

be

identified

by

domain

experts

or

by

using

clustering

algorithms

that

retrieve

clusters

of

rectangular

shape

R-trees

and

bitmap

indices

are

compared

in

-LSB-

-RSB-

and

the

study

shows

that

R-trees

are

preferred

unless

the

cardinality

is

low

and

data

is

very

sparse

SQL

Extensions

We

believe

that

the

success

of

relational

databases

-LSB-

-RSB-

should

be

credited

in

part

to

the

creation

of

the

standardized

relational

query

language

SQL

Thus

a

number

of

researchers

have

studied

extensions

to

SQL

that

would

facilitate

the

expression

and

processing

of

OLAP

queries

Some

extensions

as

listed

in

-LSB-

-RSB-

are

ffl

Extended

family

of

aggregate

functions

Traditional

SQL

aggregate

functions

are

not

sufficient

for

efficient

decision

support

process

Thus

rank

percentile

and

a

number

of

functions

for

financial

analysis

are

being

added

to

SQL

standard

However

one

should

note

that

results

of

some

aggregate

functions

are

more

maintainable

than

those

of

the

others

Accordingly

aggregate

functions

can

be

classified

into

three

categories

distributive

algebraic

and

holistic

-LSB-

-RSB-

ffl

Multiple

Group-By

OLAP

applications

require

grouping

by

different

sets

of

attributes

This

could

be

achieved

by

a

set

of

SQL

statements

but

the

data

set

would

be

scanned

multiple

times

that

would

lead

to

poor

performance

Let

us

go

back

to

Figure

The

cuboid

shown

on

that

figure

corresponds

to

the

following

SQL

query

SELECT

product

store

customer

SUM

-LRB-

sales

-RRB-

FROM

Our

sales

GROUP

BY

product

store

customer

In

addressing

the

problem

of

a

multiple

scan

two

new

operators

Cube

and

Rollup

have

been

proposed

-LSB-

-RSB-

The

Cube

operator

is

the

n-dimensional

generalization

CHAPTER

RELATED

WORK

of

the

group-by

operator

It

computes

group-bys

corresponding

to

all

possible

combinations

of

a

list

of

dimensions

-LRB-

attributes

-RRB-

However

in

some

cases

it

is

not

necessary

to

compute

the

full

cube

In

such

cases

Rollup

operator

that

generates

only

super-aggregates

can

be

used

instead

While

the

order

of

specified

dimensions

is

irrelevant

in

the

Cube

clause

it

plays

an

important

role

in

Rollup

clause

Algorithms

for

efficient

implementation

of

Cube

operator

are

described

in

-LSB-

-RSB-

These

algorithms

extend

sort-based

and

hash-based

grouping

methods

with

several

optimizations

like

combining

common

operations

across

multiple

group-bys

caching

and

using

precomputed

group-bys

for

computing

other

group-bys

Similar

techniques

could

be

applied

for

efficient

implementation

of

Rollup

operator

ffl

Comparisons

Comparing

differences

among

different

portions

of

data

sets

is

a

common

operation

in

decision

support

process

Although

the

current

version

of

SQL

can

not

handle

comparisons

-LSB-

-RSB-

a

recent

research

paper

-LSB-

-RSB-

suggests

extensions

to

SQL

that

could

meliorate

this

problem

A

challenging

implementation

issue

is

how

to

avoid

multiple

sequential

scans

of

the

database

tables

Spatial

database

systems

lack

a

standardized

query

language

and

currently

the

most

promising

option

seems

to

be

Spatial

SQL

-LSB-

-RSB-

Extensions

similar

to

these

outlined

above

would

definitely

facilitate

spatial

OLAP

Spatial

Data

Mining

Recent

years

have

seen

a

rapid

progress

of

research

into

data

mining

and

data

warehousing

of

relational

and

transactional

data

-LSB-

-RSB-

Similarly

but

to

a

smaller

extent

there

have

been

a

number

of

promising

results

in

spatial

data

mining

Spatial

data

mining

is

a

subfield

of

data

mining

that

deals

with

extraction

of

implicit

knowledge

spatial

relationships

or

other

interesting

patterns

not

explicitly

stored

in

a

database

-LSB-

-RSB-

An

excellent

survey

on

state-of-the-art

work

in

spatial

data

mining

can

be

found

in

-LSB-

-RSB-

CHAPTER

RELATED

WORK

Research

into

spatial

data

mining

started

with

a

paper

by

Lu

et

al.

-LSB-

-RSB-

The

authors

suggest

two

methods

of

generalization

namely

nonspatial-data-dominant

generalization

and

spatial-data-dominant

generalization

The

algorithms

use

attributeoriented

induction

method

-LSB-

-RSB-

to

generalize

nonspatial

dimensions

Spatial

generalization

is

conducted

by

spatial

merging

and/or

spatial

approximations

This

study

showed

the

importance

of

discovery

of

general

knowledge

from

large

spatial

databases

Spatial

data

clustering

has

been

recognized

as

a

very

useful

data

mining

method

in

recent

years

Accordingly

there

has

been

reported

substantial

amount

of

research

in

this

field

A

distance-based

clustering

method

CLARANS

based

on

randomized

search

is

proposed

in

-LSB-

-RSB-

In

CLARANS

a

cluster

is

represented

by

its

medoid

the

most

centrally

located

data

point

within

the

cluster

The

clustering

process

is

formalized

in

terms

of

searching

a

graph

in

which

each

node

is

a

potential

solution

Unfortunately

being

an

I/O

extensive

algorithm

CLARANS

has

serious

drawbacks

with

respect

to

efficiency

The

method

proposed

in

-LSB-

-RSB-

augments

CLARANS

by

clustering

only

a

sample

of

the

data

set

that

is

drawn

from

corresponding

R

tree

-LSB-

-RSB-

data

pages

While

the

efficiency

is

greatly

improved

there

is

no

significant

degradation

of

clustering

quality

However

the

scalability

problem

gets

fully

addressed

in

-LSB-

-RSB-

where

the

authors

propose

a

distance-based

BIRCH

method

BIRCH

makes

full

use

of

available

memory

to

derive

the

finest

possible

clusters

by

minimizing

I/O

costs

It

exploits

the

important

observation

that

the

data

space

is

usually

not

uniformly

occupied

and

that

not

every

point

is

equally

important

for

the

clustering

process

Thus

BIRCH

performs

well

on

skewed

data

and

is

insensitive

to

the

data

input

order

Finally

DBSCAN

clustering

method

-LSB-

-RSB-

that

relies

on

density-based

notion

of

clusters

discovers

clusters

of

arbitrary

shapes

and

handles

noise

well

The

discovery

of

association

rules

from

relational

and

transactional

databases

has

attracted

a

large

number

of

researchers

As

a

result

several

interesting

methods

have

been

proposed

An

interesting

algorithm

suggested

in

-LSB-

-RSB-

proposes

an

extension

of

transaction

association

rules

by

taking

into

consideration

spatial

properties

of

objects

in

a

spatial

database

For

example

a

spatial

association

rule

may

show

that

golf

courses

that

are

close

to

resorts

generate

large

profit

in

Spring

months

Note

that

spatial

predicate

close

to

can

be

defined

as

a

certain

distance

-LRB-

e.g.

kilometers

-RRB-

CHAPTER

RELATED

WORK

The

method

explores

efficient

mining

of

spatial

association

rules

at

multiple

approximation

and

abstraction

levels

It

consists

of

two

major

steps

filtering

and

refining

Such

a

two-step

method

facilitates

mining

at

multiple

concept

levels

by

a

top-down

progressive

deepening

technique

Recently

in

-LSB-

-RSB-

the

authors

introduced

a

formal

framework

for

spatial

data

mining

by

proposing

a

set

of

basic

operations

which

should

be

supported

by

a

spatial

database

system

to

express

algorithms

for

knowledge

discovery

A

concept

of

neighborhood

graphs

and

paths

together

with

a

small

set

of

operations

for

their

manipulation

is

introduced

In

addition

the

authors

outline

algorithms

for

spatial

classification

and

spatial

trend

detection

Furthermore

the

authors

claim

that

materialization

of

neighborhood

indices

and

paths

significantly

speeds

up

proposed

operations

This

claim

implicitly

suggests

the

importance

of

spatial

OLAP

as

a

prerequisite

step

for

a

fruitful

spatial

data

mining

Chapter

Model

of

a

Spatial

Data

Warehouse

In

this

chapter

we

describe

the

model

of

a

spatial

data

warehouse

and

emphasize

its

distinctive

characteristics

from

the

relational

counterpart

We

explain

the

limitations

of

a

conventional

-LRB-

nonspatial

-RRB-

data

warehouse

in

handling

spatial

data

and

stress

the

importance

for

its

necessary

extensions

Consequently

we

recognize

a

need

for

different

algorithms

for

creation

usage

and

maintenance

of

a

spatial

data

warehouse

Logical

Design

of

a

Spatial

Data

Warehouse

To

model

a

spatial

data

warehouse

the

star

schema

model

is

still

considered

to

be

a

good

choice

because

it

provides

a

concise

and

organized

data

warehouse

structure

and

facilitates

OLAP

operations

and

easy

browsing

However

applying

the

star

schema

in

its

original

form

-LSB-

-RSB-

would

lead

to

inefficiency

in

performing

spatial

OLAP

To

show

the

importance

of

having

a

different

model

we

revive

the

examples

from

Chapter

Example

Regional

weather

pattern

analysis

There

are

about

weather

probes

scattered

in

British

Columbia

each

recording

daily

temperature

and

precipitation

for

a

designated

small

area

and

transmitting

signals

to

a

provincial

weather

station

A

user

may

like

to

view

weather

patterns

on

a

CHAPTER

MODEL

OF

A

SPATIAL

DATA

WAREHOUSE

map

by

month

by

region

and

by

different

combinations

of

temperature

and

precipitation

or

may

even

like

to

dynamically

drill-down

or

roll-up

along

any

dimension

to

explore

desired

patterns

such

as

wet

and

hot

regions

in

Fraser

Valley

in

July

Here

the

obvious

question

that

one

may

pose

is

Why

a

conventional

data

warehouse

and

conventional

OLAP

can

not

handle

on-line

analysis

described

in

the

above

example

By

answering

this

question

we

show

which

extensions

should

be

added

to

a

conventional

data

warehouse

model

Each

weather

station

is

associated

with

a

region

on

the

map

It

is

likely

that

neighboring

regions

have

similar

weather

patterns

Moreover

when

a

user

rolls-up

dimensions

the

likelihood

of

having

same

descriptions

for

neighboring

regions

increases

Consequently

one

should

get

a

number

of

compound

-LRB-

merged

-RRB-

regions

From

a

decision

support

perspective

these

merged

regions

are

measures

of

the

business

Note

that

this

measure

type

is

very

different

from

those

discussed

in

Chapter

such

as

profit

expenses

and

count

since

it

represents

spatial

objects

In

addition

a

user

may

wish

to

perform

OLAP

operations

directly

on

map

regions

of

these

can

be

done

by

applying

conventional

OLAP

methods

because

they

deal

only

with

measures

that

are

numeric

aggregations

Region

merge

is

only

one

of

the

reasons

for

exploring

a

new

model

There

are

a

number

of

applications

that

deal

with

multiple

thematic

maps

-LRB-

Example

-RRB-

and

on-line

analysis

of

such

maps

involves

frequent

map

overlay

operations

The

regions

resulting

from

overlays

are

treated

as

measures

Additionally

maps

may

contain

spatial

objects

of

different

types

-LRB-

Example

-RRB-

and

overlay

of

such

objects

often

has

to

be

calculated

too

Note

that

in

all

these

cases

a

user

may

want

to

drill-down/roll-up

along

both

spatial

and

nonspatial

dimensions

We

now

present

the

model

of

a

spatial

data

warehouse

From

the

above

discussion

it

is

clear

that

both

dimensions

and

measures

may

contain

spatial

components

Furthermore

a

spatial

data

cube

can

be

constructed

according

to

the

dimensions

and

the

measures

modeled

in

the

spatial

data

warehouse

CHAPTER

MODEL

OF

A

SPATIAL

DATA

WAREHOUSE

Dimensions

in

a

Spatial

Date

Warehouse

We

recognize

three

types

of

dimensions

in

a

spatial

data

warehouse

Nonspatial

dimension

A

nonspatial

dimension

is

a

dimension

containing

only

nonspatial

data

For

example

two

nonspatial

dimensions

temperature

and

precipitation

can

be

constructed

for

the

data

warehouse

in

Example

each

is

a

dimension

containing

nonspatial

data

whose

generalizations

are

nonspatial

such

as

hot

and

wet

Spatial-to-nonspatial

dimension

A

spatial-to-nonspatial

dimension

is

a

dimension

whose

primitive

level

data

is

spatial

but

whose

generalization

starting

at

a

certain

high

level

becomes

nonspatial

For

example

state

in

the

U.S.

map

is

spatial

data

However

each

state

can

be

generalized

to

a

nonspatial

value

such

as

pacific

northwest

or

big

state

and

its

further

generalization

is

nonspatial

and

thus

playing

a

similar

role

as

a

nonspatial

dimension

Spatial-to-spatial

dimension

A

spatial-to-spatial

dimension

is

a

dimension

whose

primitive

level

and

all

of

its

high-level

generalized

data

are

spatial

For

example

equi-temperature-region

in

Example

is

spatial

data

and

all

of

its

generalized

data

such

as

regions

covering

degree

degree

and

so

on

are

also

spatial

Note

that

the

last

two

dimension

types

indicate

that

a

spatial

attribute

such

as

county

may

have

more

than

one

way

to

be

generalized

to

high

level

concepts

and

the

generalized

concepts

can

be

spatial

such

as

map

representing

larger

regions

or

nonspatial

such

as

area

or

general

description

of

the

region

Measures

in

a

Spatial

Date

Warehouse

We

distinguish

two

types

of

measures

in

a

spatial

data

warehouse

Numerical

measure

A

numerical

measure

is

a

measure

containing

only

numerical

data

For

example

CHAPTER

MODEL

OF

A

SPATIAL

DATA

WAREHOUSE

one

measure

in

a

spatial

data

warehouse

could

be

monthly

revenue

of

a

region

and

a

roll-up

may

give

the

total

revenue

by

year

by

county

etc.

Numerical

measures

can

be

further

classified

into

distributive

algebraic

and

holistic

-LSB-

-RSB-

A

measure

is

distributive

if

it

can

be

computed

by

cube

partition

and

distributed

aggregation

such

as

count

sum

max

it

is

algebraic

if

it

can

be

computed

by

algebraic

manipulation

of

distributed

measures

such

as

average

standard

deviation

and

it

is

holistic

if

there

is

no

constant

bound

on

the

size

of

the

storage

needed

to

describe

a

sub-aggregate

such

as

median

most

frequent

rank

The

scope

of

our

discussion

related

to

numerical

measures

is

confined

to

distributive

and

algebraic

measures

Spatial

measure

A

spatial

measure

is

a

measure

which

contains

a

collection

of

pointers

to

spatial

objects

For

example

during

the

generalization

-LRB-

or

roll-up

-RRB-

in

a

spatial

data

cube

of

Example

the

regions

with

the

same

range

of

temperature

and

precipitation

are

grouped

into

the

same

cell

and

the

measure

so

formed

contains

a

collection

of

pointers

pointing

to

those

regions

A

computed

measure

can

be

used

as

a

dimension

in

a

data

warehouse

which

we

call

a

measure-folded

dimension

For

example

the

measure

monthly

average

temperature

in

a

region

can

be

treated

as

a

dimension

and

can

be

further

generalized

to

a

value

range

or

a

descriptive

value

such

as

cold

Moreover

a

dimension

can

be

specified

by

experts/users

based

on

the

relationships

among

attributes

or

among

particular

data

values

or

be

generated

automatically

based

on

spatial

data

analysis

techniques

such

as

spatial

clustering

-LSB-

-RSB-

spatial

classification

-LSB-

-RSB-

or

spatial

association

analysis

-LSB-

-RSB-

We

will

focus

on

computation

and

storage

of

spatial

measures

in

the

remainder

of

this

thesis

CHAPTER

MODEL

OF

A

SPATIAL

DATA

WAREHOUSE

time

precipitation

temperature

area

count

dimension

Time

dimension

dimension

temperature

precipitation

time

day

month

season

district

city

region

province

Temperature

Precipitation

dimension

Figure

Star

model

of

a

spatial

data

warehouse

BC

weather

An

Example

of

a

Spatial

Data

Warehouse

In

this

subsection

we

continue

examining

Example

by

presenting

the

star

schema

model

that

corresponds

to

it

The

star

schema

model

of

Example

with

its

dimensions

and

measures

is

illustrated

as

follows

Example

Spatial

data

warehouse

for

BC

weather

A

star

model

can

be

constructed

shown

in

Figure

for

the

BC

weather

data

warehouse

of

Example

where

the

B.C.

map

with

regions

covered

by

weather

probes

is

shown

in

Figure

Note

that

neither

the

map

nor

the

data

used

in

this

example

is

real

Nevertheless

we

believe

that

this

fact

does

not

weaken

our

study

The

spatial

data

warehouse

model

consists

of

four

dimensions

temperature

precipitation

time

and

region

name

and

three

measures

region

map

area

and

count

The

concept

hierarchy

for

each

dimension

shown

in

Figure

can

be

created

by

users

or

experts

or

generated

automatically

by

data

clustering

or

data

analysis

While

the

first

three

dimensions

are

nonspatial

the

fourth

one

-LRB-

region

name

-RRB-

is

spatial-to-spatial

dimension

Of

the

three

measures

region

map

is

a

spatial

measure

which

contains

a

collection

of

spatial

pointers

pointing

to

the

corresponding

regions

area

is

a

numerical

measure

which

represents

the

sum

of

the

total

areas

of

the

corresponding

spatial

CHAPTER

MODEL

OF

A

SPATIAL

DATA

WAREHOUSE

Figure

Weather

probes

map

objects

and

count

is

a

numerical

measure

which

represents

the

total

number

of

base

regions

-LRB-

probes

-RRB-

accumulated

in

the

corresponding

cell

Table

shows

a

data

set

that

may

be

collected

from

a

number

of

weather

probes

scattered

in

British

Columbia

Notice

that

region

name

at

the

primitive

level

is

a

spatial

object

name

representing

the

corresponding

spatial

region

on

the

map

For

example

region

name

may

represent

an

area

of

Burnaby

mountain

and

whose

generalization

could

be

North

Burnaby

and

then

Burnaby

Greater

Vancouver

Lower

Mainland

and

Province

of

BC

each

corresponding

to

a

region

on

the

B.C.

map

With

these

dimensions

OLAP

operations

can

be

performed

by

stepping

up

and

down

along

any

dimension

shown

in

Figure

Let

us

now

revive

popular

OLAP

operations

and

analyze

how

they

are

performed

on

a

spatial

data

cube

Slicing

and

dicing

each

of

which

selects

a

portion

of

the

cube

based

on

the

constant

-LRB-

s

-RRB-

in

one

or

a

few

dimensions

For

example

one

may

be

interested

only

in

cold

and

dry

regions

located

in

the

Northern

part

of

British

Columbia

This

can

be

realized

by

transforming

the

selection

criteria

into

a

query

against

the

spatial

data

warehouse

and

be

processed

by

query

processing

methods

-LSB-

-RSB-

CHAPTER

MODEL

OF

A

SPATIAL

DATA

WAREHOUSE

Region

name

probe

location

ae

district

ae

city

ae

region

ae

province

Time

day

ae

month

ae

season

Temperature

any

ae

-LRB-

cold

mild

hot

-RRB-

cold

ae

-LRB-

below

to

to

-RRB-

mild

ae

-LRB-

to

to

to

-RRB-

hot

ae

-LRB-

to

to

to

above

-RRB-

Precipitation

any

ae

-LRB-

dry

fair

wet

-RRB-

dry

ae

-LRB-

to

to

-RRB-

fair

ae

-LRB-

to

to

to

-RRB-

wet

ae

-LRB-

to

to

to

above

-RRB-

Figure

Concept

hierarchies

in

a

spatial

data

warehouse

BC

weather

Region

name

Time

Temperature

Precipitation

Table

Weather

probes

table

CHAPTER

MODEL

OF

A

SPATIAL

DATA

WAREHOUSE

Pivoting

which

presents

the

measures

in

different

cross-tabular

layouts

This

can

be

implemented

in

a

similar

way

as

in

nonspatial

data

cubes

For

example

a

spreadsheet

table

containing

temperature

and

precipitation

as

row

and

columns

respectively

may

be

presented

to

a

user

The

values

-LRB-

e.g.

cells

-RRB-

in

the

table

may

contain

area

of

the

corresponding

region

-LRB-

s

-RRB-

Roll-up

which

generalizes

one

or

a

few

dimensions

-LRB-

including

the

removal

of

some

dimensions

when

desired

-RRB-

and

performs

appropriate

aggregations

in

the

corresponding

measure

-LRB-

s

-RRB-

For

example

one

may

roll-up

on

temperature

dimension

to

get

summarized

information

For

nonspatial

measures

aggregation

is

implemented

in

the

same

way

as

in

nonspatial

data

cubes

-LSB-

-RSB-

However

for

spatial

measures

aggregation

takes

a

collection

of

a

spatial

pointers

in

a

map

or

map-overlay

and

performs

certain

spatial

aggregation

operation

such

as

region

merge

or

map

overlay

It

is

challenging

to

efficiently

implement

such

operations

since

it

is

both

time

and

space

consuming

to

compute

spatial

merge

or

overlay

and

save

the

merged

or

overlaid

spatial

objects

This

will

be

discussed

in

detail

in

later

sections

Drill-down

which

specializes

one

or

a

few

dimensions

and

presents

low-level

objects

collections

or

aggregations

This

can

be

viewed

as

a

reverse

operation

of

roll-up

and

can

often

be

implemented

by

saving

a

low

level

cuboid

and

performing

appropriate

generalization

from

it

when

necessary

From

this

analysis

one

can

see

that

a

major

performance

challenge

for

the

implementation

of

spatial

OLAP

is

the

efficient

construction

of

spatial

data

cubes

and

the

implementation

of

roll-up/drill-down

operations

Example

Spatial

OLAP

on

BC

weather

data

warehouse

The

roll-up

of

the

data

cube

of

B.C.

weather

probe

of

Example

can

be

performed

as

follows

The

roll-up

on

the

time

dimension

is

performed

to

roll-up

values

from

day

to

month

Since

temperature

is

a

measure-folded

dimension

the

roll-up

on

the

temperature

dimension

is

performed

by

first

computing

the

average

temperature

grouped

by

CHAPTER

MODEL

OF

A

SPATIAL

DATA

WAREHOUSE

Time

Temperature

Precipitation

Region

map

January

below

dry

January

below

fair

Table

Result

of

a

roll-up

operation

month

and

by

spatial

region

and

then

generalizing

the

values

to

ranges

-LRB-

such

as

to

-RRB-

or

to

descriptive

names

-LRB-

such

as

cold

-RRB-

Notice

that

one

may

also

obtain

average

daily

high/low

temperature

in

a

similar

manner

as

long

as

the

way

to

compute

the

measure

and

transform

it

into

dimension

hierarchy

is

specified

Similarly

one

may

roll-up

along

the

precipitation

dimension

by

computing

the

average

precipitation

grouped

by

month

and

by

spatial

region

The

region

name

dimension

can

be

dropped

if

one

does

not

want

to

generalize

data

according

to

specified

regions

Thus

the

generalized

data

cube

contains

three

dimensions

Time

-LRB-

in

month

-RRB-

Temperature

-LRB-

in

monthly

average

-RRB-

and

Precipitation

-LRB-

in

monthly

average

-RRB-

and

one

spatial

measure

Region

map

which

is

a

collection

of

spatial

object

ids

as

shown

in

Table

Moreover

roll-up

and

drill-down

can

be

performed

dynamically

which

may

produce

another

table

as

shown

in

Table

Two

different

roll-ups

from

the

B.C.

weather

map

data

-LRB-

Figure

-RRB-

produce

two

different

generalized

region

maps

as

shown

in

Figure

each

being

the

result

of

merging

a

large

number

of

small

-LRB-

probe

-RRB-

regions

from

the

map

shown

in

Figure

Computing

such

spatial

merges

of

a

large

number

of

regions

flexibly

and

dynamically

poses

a

major

challenge

to

the

implementation

of

spatial

OLAP

operations

Note

that

hundreds

of

small

regions

may

need

to

be

merged

together

If

such

an

operation

were

performed

on-the-fly

all

these

regions

would

have

to

be

fetched

-LRB-

likely

from

a

disk

-RRB-

and

then

merged

Thus

only

if

appropriate

precomputation

is

performed

can

the

response

time

be

satisfactory

to

end

users

CHAPTER

MODEL

OF

A

SPATIAL

DATA

WAREHOUSE

Time

Temperature

Precipitation

Region

map

March

cold

to

March

cold

to

Table

Result

of

another

roll-up

operation

Figure

Generalized

regions

after

different

roll-up

operations

CHAPTER

MODEL

OF

A

SPATIAL

DATA

WAREHOUSE

Implementation

of

a

Spatial

Data

Cube

A

nonspatial

data

cube

contains

only

nonspatial

dimensions

and

numerical

measures

If

a

spatial

data

cube

contained

spatial

dimensions

but

not

spatial

measures

its

OLAP

operations

could

be

implemented

in

a

way

similar

to

that

of

nonspatial

data

cubes

However

the

introduction

of

spatial

measures

raises

challenging

issues

on

efficient

implementation

which

is

the

focus

of

this

study

In

this

section

we

present

the

challenges

in

computation

of

spatial

measures

and

propose

some

methods

Challenges

in

Implementation

of

a

Spatial

Data

Cube

Similar

to

the

structure

of

a

nonspatial

data

cube

-LSB-

-RSB-

a

spatial

data

cube

consists

of

a

lattice

of

cuboids

where

the

lowest

cuboid

-LRB-

base

point

-RRB-

references

all

the

dimensions

at

the

primitive

abstraction

level

-LRB-

i.e.

group-by

all

the

dimensions

-RRB-

and

the

highest

cuboid

-LRB-

apex

point

-RRB-

summarizes

all

the

dimensions

at

the

top-most

abstraction

level

-LRB-

i.e.

no

group-by

's

in

aggregation

-RRB-

Thus

ascending/descending

the

lattice

corresponds

to

roll-up/drill-down

operation

A

lattice

structure

for

a

cube

with

three

dimensions

is

shown

in

Figure

where

A

B

and

C

represent

dimension

names

and

subscripts

annotate

concept

hierarchy

levels

-LRB-

for

the

lowest

level

-RRB-

Note

that

rolling-up

to

any

-LRB-

highest

level

-RRB-

for

a

dimension

is

same

as

dropping

the

dimension

-LRB-

i.e.

dimension

reduction

-RRB-

Drill-down

roll-up

and

dimension

reduction

in

a

spatial

data

cube

result

in

different

cuboids

in

which

each

cell

contains

the

aggregation

of

measure

values

or

clustered

spatial

object

pointers

While

the

aggregation

-LRB-

such

as

sum

average

etc.

-RRB-

of

numeric

values

results

in

a

new

numeric

value

the

clustering

of

spatial

object

pointers

may

not

lead

to

a

single

new

spatial

object

Only

if

all

the

objects

pointed

to

by

the

spatial

pointers

are

connected

can

they

be

merged

into

one

large

region

otherwise

they

will

be

represented

by

a

set

of

isolated

regions

A

numeric

measure

usually

takes

only

about

two

to

eight-byte

storage

space

and

requires

a

relatively

small

amount

of

computation

time

However

being

a

spatial

object

a

spatial

measure

may

take

kilo

to

mega-bytes

in

storage

space

and

it

is

much

more

costly

to

compute

the

merge

or

overlay

of

a

set

of

spatial

regions

than

its

CHAPTER

MODEL

OF

A

SPATIAL

DATA

WAREHOUSE

apex

point

base

point

A

B

C

A

B

C

A

B

B

C

A

B

Figure

A

lattice

of

cuboids

numerical

counterpart

Furthermore

one

may

expect

that

OLAP

operations

such

as

drilling

or

pivoting

be

performed

flexibly

in

a

spatial

data

warehouse

with

fast

response

time

since

a

user

may

like

to

interact

with

the

system

to

obtain

necessary

statistics

for

decision

making

Instead

of

computing

such

aggregations

on-the-fly

it

is

often

necessary

to

precompute

some

high-level

views

-LRB-

cuboids

-RRB-

-LSB-

-RSB-

and

save

them

as

materialized

views

-LRB-

computed

cuboids

-RRB-

to

facilitate

fast

response

to

OLAP

operations

Can

all

the

possible

results

of

spatial

OLAP

operations

be

precomputed

and

saved

for

efficient

OLAP

Let

us

perform

a

simple

analysis

There

are

different

products

in

-LRB-

nonspatial

-RRB-

data

warehouse

industry

some

materialize

every

cuboid

some

but

some

only

part

of

the

cube

-LRB-

i.e.

some

of

the

cuboids

-RRB-

There

are

interesting

studies

on

efficient

implementation

of

data

cubes

-LSB-

-RSB-

In

the

implementation

of

spatial

data

cubes

we

face

a

dilemma

of

balancing

the

cost

of

on-line

computation

and

the

storage

overhead

of

storing

computed

spatial

measures

the

substantial

computation

cost

of

on-the-fly

computation

of

spatial

aggregations

calls

for

precomputation

but

substantial

overhead

for

storing

aggregated

spatial

values

discourages

it

Obviously

we

should

not

materialize

every

cuboid

with

CHAPTER

MODEL

OF

A

SPATIAL

DATA

WAREHOUSE

limited

storage

space

but

we

can

not

afford

to

compute

all

the

spatial

aggregates

onthe-fly

We

first

clarify

terms

that

will

be

extensively

used

in

the

rest

of

this

thesis

A

cuboid

of

a

spatial

data

cube

corresponds

to

a

single

table

whose

columns

are

dimensions

and

measures

of

the

spatial

data

cube

A

cell

of

a

cuboid

corresponds

to

a

tuple

in

such

a

table

To

show

the

importance

of

selective

materialization

of

cuboids

we

examine

the

data

cube

structure

in

more

detail

Let

the

data

cube

consist

of

m

measures

Mm

and

n

dimensions

Dn

where

the

i-th

dimension

Di

has

ki

levels

of

hierarchy

and

the

top

level

has

only

one

special

node

any

which

corresponds

to

the

removal

of

the

dimension

For

an

n-dimensional

data

cube

if

we

allow

new

cuboids

to

be

generated

by

climbing

up

the

hierarchies

along

each

dimension

-LRB-

note

that

the

removal

of

a

dimension

is

equivalent

to

generalizing

to

the

top

level

any

-RRB-

the

total

number

of

cuboids

that

can

be

generated

is

N

nY

i

ki

This

is

a

big

number

For

example

if

the

cube

has

dimensions

and

each

dimension

has

levels

the

total

number

of

cuboids

that

can

be

generated

is

ss

Therefore

it

is

recommended

to

materialize

only

some

of

all

the

possible

cuboids

that

can

be

generated

Three

factors

may

need

to

be

considered

when

judging

whether

a

cuboid

should

be

selected

for

materialization

-LRB-

-RRB-

the

potential

access

frequency

of

the

generated

cuboid

-LRB-

-RRB-

the

size

of

the

generated

cuboid

and

-LRB-

-RRB-

how

the

materialization

of

one

cuboid

may

benefit

the

computation

of

other

cuboids

in

the

lattice

A

greedy

cuboidselection

algorithm

HRU

has

been

presented

in

-LSB-

-RSB-

based

on

the

analysis

of

the

latter

two

factors

A

minor

extension

to

the

algorithm

may

take

into

consideration

the

first

factor

the

potential

access

frequency

of

the

generated

cuboid

where

the

potential

access

frequency

can

be

estimated

by

an

expert

or

a

user

or

calculated

based

on

the

cube

access

history

The

analysis

of

whether

a

cuboid

should

be

selected

for

precomputation

in

a

spatial

data

cube

is

similar

to

a

nonspatial

one

although

an

additional

factor

the

cost

of

on-line

computation

of

a

particular

spatial

cuboid

CHAPTER

MODEL

OF

A

SPATIAL

DATA

WAREHOUSE

should

be

considered

in

the

cost

estimation

since

the

spatial

computation

such

as

region

merging

map

overlaying

spatial

join

could

be

expensive

when

involving

a

large

number

of

spatial

objects

The

above

analysis

motivates

us

to

propose

interesting

techniques

for

selective

materialization

of

spatial

data

cubes

In

the

previous

OLAP

studies

granularity

of

data

cube

materialization

has

been

at

the

cuboid

level

that

is

either

completely

materialize

a

cuboid

or

not

at

all

However

for

materialization

of

the

spatial

measure

it

is

often

necessary

to

consider

finer

granularity

and

examine

individual

cells

to

see

whether

a

group

of

spatial

objects

within

a

cell

should

be

precomputed

Approaches

to

Computation

of

Spatial

Measures

In

this

discussion

we

assume

that

the

computation

of

spatial

measures

involves

spatial

region

merge

operation

only

The

principles

discussed

here

however

are

also

applicable

to

other

kinds

of

spatial

operations

such

as

spatial

map

overlay

spatial

join

-LSB-

-RSB-

and

intersection

between

lines

and

regions

-LSB-

-RSB-

There

are

at

least

three

possible

choices

regarding

the

computation

of

spatial

measures

during

the

spatial

data

cube

construction

Collection

of

Spatial

Pointers

For

some

applications

it

is

not

mandatory

to

merge

similar

neighboring

objects

For

example

if

one

deals

with

objects

that

are

compact

enough

-LRB-

e.g.

provinces

states

-RRB-

additional

merge

would

not

convey

useful

information

In

this

case

pointers

to

corresponding

spatial

objects

can

be

collected

as

shown

in

Table

and

Table

This

can

be

implemented

easily

by

storing

in

the

corresponding

cube

cell

an

indirect

pointer

to

a

collection

of

spatial

object

pointers

This

choice

clearly

indicates

that

the

-LRB-

region

-RRB-

merge

of

a

group

of

spatial

objects

when

necessary

has

to

be

performed

on-the-fly

Nonetheless

this

is

still

a

good

choice

if

only

a

map

display

is

required

-LRB-

i.e.

no

need

for

spatial

merge

-RRB-

or

if

there

are

relatively

few

regions

to

be

merged

in

any

pointer

collection

-LRB-

thus

on-line

merge

is

not

so

costly

an

operation

-RRB-

The

storage

space

overhead

is

relatively

small

and

similar

to

that

for

nonspatial

measures

Thus

if

the

OLAP

CHAPTER

MODEL

OF

A

SPATIAL

DATA

WAREHOUSE

results

are

produced

only

for

viewing

display-only

mode

is

useful

However

as

we

elaborated

in

previous

chapters

OLAP

can

be

integrated

with

spatial

data

mining

modules

such

as

spatial

association

clustering

classification

etc

-LSB-

-RSB-

In

such

cases

OLAP

results

are

used

for

further

analysis

and

it

is

important

to

merge

a

number

of

spatially

connected

regions

-LRB-

with

same

nonspatial

descriptions

-RRB-

Approximate

Computation

of

Spatial

Measures

We

believe

that

not

all

portions

of

a

map

are

equally

interesting

for

the

user

of

a

spatial

data

warehouse

Moreover

different

users

may

have

different

preferences

It

is

thus

plausible

to

precompute

rough

approximation/estimation

of

spatial

measures

and

store

them

in

a

spatial

data

cube

If

higher

precision

is

needed

for

specific

cells

the

system

can

either

fetch

precomputed

high

quality

results

if

available

or

compute

them

on-the-fly

This

choice

is

good

for

a

rough

view

or

coarse

estimation

of

spatial

merge

results

under

the

assumption

that

it

takes

little

storage

space

to

store

the

coarse

estimation

results

For

example

the

minimum

bounding

rectangle

-LRB-

MBR

-RRB-

of

the

spatial

merge

result

-LRB-

representable

by

two

spatial

points

-RRB-

can

be

taken

as

a

rough

estimation

of

the

merged

region

This

estimated

measure

Figure

occupies

as

little

space

as

a

nonspatial

measure

and

can

be

presented

quickly

to

users

Another

possible

choice

is

to

use

a

convex

hull

instead

of

an

MBR

Selective

Materialization

of

Spatial

Measures

Selective

materialization

seems

to

be

the

best

choice

but

the

challenge

is

how

to

select

a

set

of

spatial

measures

for

precomputation

A

previous

study

-LSB-

-RSB-

shows

that

materializing

every

cuboid

requires

a

huge

amount

of

disk

space

whereas

not

materializing

any

cuboid

requires

a

great

deal

of

on-the-fly

and

often

redundant

computation

That

study

promotes

partial

materialization

as

a

desired

solution

and

algorithms

have

been

proposed

to

determine

what

should

be

precomputed

for

partial

materialization

of

data

cubes

The

selection

can

be

performed

at

the

cuboid

level

i.e.

either

precompute

and

store

every

set

of

mergeable

spatial

regions

for

every

cell

of

a

selected

CHAPTER

MODEL

OF

A

SPATIAL

DATA

WAREHOUSE

Figure

Rough

approximation

of

the

spatial

measures

cuboid

or

precompute

if

the

cuboid

is

not

selected

Since

a

cuboid

usually

covers

the

whole

map

it

may

involve

precomputation

and

storage

of

a

large

number

of

mergeable

spatial

objects

although

some

of

them

could

be

rarely

used

Therefore

it

is

recommended

to

perform

selection

at

a

finer

granularity

level

by

examining

each

group

of

mergeable

spatial

objects

in

a

cuboid

to

determine

whether

such

a

merge

should

be

precomputed

Since

this

approach

examines

individual

cells

we

also

refer

to

it

as

selective

materialization

at

the

cell

level

In

addition

to

selective

materialization

a

special

care

should

be

taken

during

on-line

processing

i.e.

using

the

spatial

data

warehouse

Best

candidates

for

a

target

query

should

be

chosen

from

a

set

of

precomputed

merged

regions

Our

further

discussion

is

focused

on

how

to

select

groups

of

mergeable

spatial

objects

for

precomputation

from

a

set

of

spatial

data

cuboids

chosen

by

cuboidselection

algorithm

HRU

-LSB-

-RSB-

Chapter

Materialization

of

Spatial

Measures

In

the

previous

chapter

we

underlined

the

importance

of

spatial

measures

and

their

precomputation

and

elucidated

that

due

to

high

processing

requirements

it

is

not

feasible

to

perform

all

computations

on-the-fly

We

enumerated

three

approaches

for

collecting

information

of

spatial

measures

Since

the

first

one

Collection

of

spatial

pointers

is

self-explanatory

we

concentrate

on

the

remaining

two

approaches

namely

Approximate

computation

of

spatial

measures

and

Selective

materialization

of

spatial

measures

This

chapter

addresses

the

latter

two

approaches

in

more

detail

and

proposes

some

algorithms

While

for

the

first

of

the

the

three

approaches

selectivity

is

expressed

at

the

cuboid

level

the

remaining

two

approaches

exploit

cell-level

selectivity

However

the

motivations

for

cell-level

selectivity

differ

for

these

two

approaches

While

Approximate

computation

of

spatial

measures

method

materializes

only

the

spatial

objects

that

convey

reasonably

high

quality

information

Selective

materialization

of

spatial

measures

method

materializes

the

objects

-LRB-

aggregations

-RRB-

that

are

expected

to

provide

significantly

shorter

response

time

for

spatial

OLAP

queries

Various

heuristics

are

used

and

they

will

be

described

throughout

this

chapter

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

Approximate

Computation

of

Spatial

Measures

We

expressed

primary

motivations

for

approximate

computation

of

spatial

measures

earlier

in

this

thesis

We

now

explore

this

approach

more

specifically

and

propose

a

simple

yet

effective

algorithm

Each

region

of

the

map

can

be

represented

by

using

a

minimum

bounding

rectangle

-LRB-

MBR

-RRB-

MBRs

have

been

used

extensively

to

approximate

spatial

objects

in

spatial

analysis

because

they

need

only

two

points

for

their

representation

in

particular

each

object

p

is

represented

as

an

ordered

pair

-LRB-

-RRB-

of

points

that

correspond

to

the

lower

left

and

upper

right

points

of

the

MBR

that

completely

covers

p

while

having

minimal

area

The

MBRs

-LRB-

one

for

each

region

-RRB-

can

be

organized

using

the

R

tree

structure

-LSB-

-RSB-

Note

that

in

our

case

this

data

structure

is

mainly

read-only

since

map

objects

seldom

-LRB-

or

never

-RRB-

change

Table

and

Table

show

collections

of

spatial

objects

that

have

same

nonspatial

descriptions

after

some

OLAP

operations

are

performed

In

this

approximation

method

spatial

objects

whose

MBRs

are

neighbors

are

considered

for

merging

into

a

larger

MBR

In

the

rest

of

this

discussion

we

refer

to

this

class

of

regions

as

merged

MBR

or

MMBR

We

encounter

inaccuracy

problem

here

i.e.

an

MMBR

that

fully

contains

two

or

more

MBRs

may

be

covered

only

in

a

small

portion

with

the

associated

spatial

objects

In

that

case

the

precomputed

MMBR

provides

misleading

information

-LRB-

see

Figure

-RRB-

To

cope

with

this

problem

we

introduce

area

weight

as

the

percentage

of

the

area

covered

by

the

original

spatial

objects

Definition

Let

R

rng

be

a

set

of

regions

M

mng

be

a

set

of

MBRs

such

that

mi

is

the

MBR

for

ri

-LRB-

i

-LRB-

n

-RRB-

-RRB-

i.e.

mi

MBR

-LRB-

ri

-RRB-

and

A

be

the

MMBR

that

includes

all

MBRs

in

M

Then

area

weight

-LRB-

A

-RRB-

is

defined

as

following

area

weight

-LRB-

A

-RRB-

Pni

area

-LRB-

ri

-RRB-

area

-LRB-

A

-RRB-

In

order

to

mitigate

the

inaccuracy

problem

we

introduce

threshold

min

weight

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

merged

MBR

Figure

A

merged

MBR

with

a

low

area

weight

that

filters

out

MMBRs

with

low

area

weight

We

believe

that

only

the

objects

that

reveal

good

enough

information

should

be

stored

Rough

measures

algorithm

is

presented

as

follows

Algorithm

-LRB-

Rough

Measures

Algorithm

-RRB-

An

approximation

algorithm

for

precomputation

and

storage

of

the

merge

results

during

the

construction

of

a

spatial

data

cube

Input

ffl

A

cube

lattice

which

consists

of

a

set

of

selected

cuboids

obtained

by

running

an

extended

cuboid-selection

algorithm

similar

to

HRU

-LSB-

-RSB-

ffl

A

group

of

spatial

pointers

in

each

cell

of

cuboids

in

the

lattice

ffl

A

region

map

which

delineates

the

neighborhood

of

the

regions

ffl

An

R

tree

whose

leaves

are

MBRs

of

regions

from

the

map

ffl

min

weight

A

threshold

which

represents

the

minimum

area

weight

for

an

MMBR

to

be

stored

in

a

spatial

data

cube

as

a

spatial

measure

Output

A

spatial

data

cube

selectively

populated

with

spatial

measures

-LRB-

MMBRs

-RRB-

Method

ffl

The

main

program

is

outlined

as

follows

where

max

cuboid

is

the

maximum

number

of

cuboids

selected

for

materialization

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

-LRB-

-RRB-

FOR

cuboid

TO

max

cuboid

DO

-LRB-

-RRB-

FOR

EACH

cell

IN

cuboid

DO

f

-LRB-

-RRB-

get

intersecting

mbrs

-LRB-

cell

candidate

list

-RRB-

-LRB-

-RRB-

f

ilter

area

-LRB-

candidate

list

-RRB-

-LRB-

-RRB-

populate

cube

-LRB-

candidate

list

cell

cuboid

-RRB-

-LRB-

-RRB-

g

ffl

The

procedure

get

intersecting

mbrs

-LRB-

cell

candidate

list

-RRB-

is

outlined

as

follows

Each

cell

contains

a

set

of

pointers

to

MBRs

-LRB-

one

for

each

map

region

-RRB-

This

procedure

breaks

the

MBRs

into

a

number

of

intersecting

groups

Each

member

-LRB-

MBR

-RRB-

of

an

intersecting

group

must

intersect

with

at

least

one

other

member

from

the

group

Finally

each

intersecting

group

gets

represented

with

an

MMBR

that

contains

all

members

of

the

group

and

all

the

MMBRs

are

put

into

the

candidate

list

ffl

The

procedure

filter

area

-LRB-

candidate

list

-RRB-

is

outlined

as

follows

-LRB-

-RRB-

PROCEDURE

f

ilter

area

-LRB-

candidate

list

-RRB-

f

-LRB-

-RRB-

FOR

EACH

candidate

IN

candidate

list

DO

-LRB-

-RRB-

IF

area

weight

-LRB-

candidate

-RRB-

min

weight

-LRB-

-RRB-

THEN

remove

candidate

from

candidate

list

-LRB-

-RRB-

g

ffl

The

procedure

populate

cube

-LRB-

candidate

list

i

j

-RRB-

is

outlined

as

follows

If

candidate

list

is

non-empty

cell

i

of

cuboid

j

is

populated

by

storing

pointers

to

MMBRs

The

MMBRs

themselves

are

stored

in

the

R

tree

Note

that

the

position

of

a

cell

in

a

cuboid

is

determined

by

values

of

its

dimensions

-LRB-

see

Table

and

Table

-RRB-

Rationale

of

the

algorithm

Rough

measures

algorithm

is

to

compute

and

store

approximate

spatial

measures

in

a

spatial

data

cube

The

algorithm

is

applied

to

the

cuboids

selected

by

the

well-known

cuboid-selection

algorithm

HRU

-LSB-

-RSB-

It

scans

all

pointer

groups

-LRB-

spatial

measures

-RRB-

in

selected

cuboids

and

detects

potential

merged

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

regions

-LRB-

MMBRs

-RRB-

-LRB-

Line

-LRB-

-RRB-

-RRB-

Line

-LRB-

-RRB-

is

to

filter

out

candidates

whose

area

weight

is

below

min

weight

This

threshold

can

be

chosen

by

users

or

experts

and/or

adjusted

dynamically

Candidates

that

pass

the

threshold

are

stored

in

cells

of

the

spatial

data

cube

-LRB-

Line

-LRB-

-RRB-

-RRB-

Note

that

in

addition

to

the

spatial

measure

-LRB-

e.g.

region

map

-RRB-

a

numerical

measure

area

has

to

be

computed

for

the

filtering

step

However

its

computation

does

not

differ

from

the

computation

of

measures

in

a

nonspatial

data

cube

Essentially

the

area

measure

is

very

similar

to

the

sum

measure

-LRB-

it

belongs

to

distributive

numerical

measures

-RRB-

We

are

well

aware

of

limitations

of

this

algorithm

It

provides

only

rough

estimation

of

spatial

measures

and

it

is

often

necessary

to

fetch

-LRB-

or

compute

-RRB-

refined

measures

Furthermore

since

the

algorithm

works

on

MBRs

as

opposed

to

map

objects

it

does

not

use

a

precise

neighborhood

information

i.e.

two

or

more

spatial

objects

may

be

disjoint

but

their

MBRs

may

still

intersect

In

spite

of

the

above

limitations

we

believe

that

rough

measures

algorithm

provides

users

of

a

spatial

data

warehouse

with

a

useful

coarse

grain

information

If

more

precise

information

is

needed

for

certain

sections

of

the

map

users

can

either

fetch

them

-LRB-

if

available

-RRB-

or

compute

on-the-fly

Although

MBRs

demonstrate

some

disadvantages

when

approximating

non-convex

or

diagonal

objects

they

are

still

most

commonly

used

approximations

in

spatial

applications

The

algorithm

is

fast

and

generated

spatial

measures

do

not

have

high

storage

demands

Finally

since

cycles

of

the

loop

-LRB-

Lines

-LRB-

-RRB-

to

-LRB-

-RRB-

-RRB-

are

mutually

independent

the

algorithm

can

be

easily

parallelized

in

a

multi-threading

environment

An

example

of

the

execution

of

the

algorithm

is

presented

below

Example

Suppose

that

a

set

of

cuboids

has

been

selected

from

lattice

shown

in

Figure

using

an

extended

cuboid-selection

algorithm

like

HRU

-LSB-

-RSB-

Each

cuboid

contains

a

set

of

cells

each

containing

a

group

of

spatial

pointers

representing

the

spatial

measure

associated

with

a

particular

set

of

dimension

values

Since

the

focus

of

our

discussion

is

on

the

selective

materialization

of

spatial

measures

only

the

groups

of

spatial

pointers

are

shown

in

Table

without

presenting

the

corresponding

dimension

values

Suppose

that

min

weight

is

The

map

is

shown

in

Figure

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

apex

point

base

point

A

B

C

A

B

C

A

B

B

C

A

B

Figure

A

lattice

showing

selected

cuboids

Cuboid

Cuboid

Cuboid

Table

Sets

of

pointers

for

selected

cuboids

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

Figure

An

example

map

The

algorithm

analyzes

one

group

of

spatial

measures

at

a

time

In

other

words

processing

of

one

group

is

not

interleaved

with

that

of

any

other

group

Thus

in

order

to

illustrate

the

execution

of

the

algorithm

we

assume

that

all

iterations

are

executed

in

parallel

After

applying

steps

depicted

in

Lines

-LRB-

-RRB-

and

-LRB-

-RRB-

of

the

algorithm

we

get

a

set

of

candidates

-LRB-

MMBRs

-RRB-

shown

in

Table

where

area

weight

is

associated

with

each

candidate

Only

the

candidates

that

pass

min

weight

threshold

-LRB-

Table

-RRB-

are

stored

in

the

spatial

data

cube

Cuboid

Cuboid

Cuboid

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

Table

Candidates

for

merged

MBRs

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

Table

Merged

MBRs

that

are

stored

in

the

spatial

data

cube

Selective

Materialization

of

Spatial

Measures

In

this

section

we

examine

three

algorithms

for

the

selective

materialization

of

spatial

measures

that

are

improvement

from

the

rough

measures

algorithm

Here

instead

of

storing

merged

MBRs

as

rough

approximations

of

spatial

measures

we

strive

for

accuracy

The

process

of

getting

precise

spatial

measures

carries

two

challenges

increased

computation

time

and

substantial

storage

overhead

While

merging

two

MBRs

takes

small

and

constant

amount

of

time

-LRB-

i.e.

four

comparisons

-RRB-

merging

two

regions

takes

O

-LRB-

n

-RRB-

time

where

n

is

the

total

number

of

vertices

-LRB-

with

the

assumption

that

the

vertices

were

sorted

off-line

-RRB-

Similarly

the

storage

requirements

for

a

merged

MBR

are

negligible

comparing

to

that

for

merged

regions

Thus

even

when

we

decide

to

materialize

a

cuboid

it

is

still

unrealistic

to

compute

and

store

every

spatial

measure

for

every

cell

because

it

may

consume

a

substantial

amount

of

computation

time

and

disk

space

especially

considering

that

many

of

them

may

not

be

examined

in

detail

or

may

only

be

examined

a

small

number

of

times

In

the

following

subsections

we

introduce

spatial

greedy

algorithm

pointer

intersection

algorithm

and

object

connection

algorithm

that

selectively

materialize

spatial

measures

The

algorithms

select

cells

that

will

be

materialized

i.e.

merged

during

spatial

data

cube

construction

time

Therefore

in

the

remainder

of

this

thesis

we

refer

to

this

process

as

a

premerge

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

The

Problem

Statement

The

goal

of

selective

materialization

of

spatial

measures

is

to

select

and

merge

groups

of

connected

spatial

objects

that

will

given

storage

space

constraints

provide

shortest

time

to

evaluate

results

of

spatial

OLAP

queries

The

groups

can

be

organized

in

a

partial

order

i.e.

if

a

group

that

contains

objects

is

merged

it

can

help

in

merging

the

group

We

now

define

the

partial

order

more

formally

Consider

two

groups

that

contain

connected

spatial

objects

Gi

and

Gj

We

say

that

Gi

Gj

if

and

only

if

Gi

Gj

Similarly

to

-LSB-

-RSB-

the

operator

imposes

a

partial

ordering

of

the

groups

We

now

state

input

output

and

benefit

of

selective

materialization

of

spatial

measures

Input

ffl

N

regions

on

a

map

where

each

of

the

regions

has

to

N

neighbors

The

ids

for

map

regions

form

a

set

M.

ffl

A

lattice

L

where

each

node

of

the

lattice

contains

a

set

S

described

as

follows

S

fs

j

s

ae

Mg

-LRB-

sj

S

-RRB-

-LRB-

i

j

-RRB-

si

sj

;-RRB-

The

lattice

L

corresponds

the

lattice

of

cuboids

chosen

by

HRU

algorithm

while

a

set

S

within

a

node

-LRB-

i.e.

cuboid

-RRB-

of

such

lattice

corresponds

to

a

set

of

mergeable

-LRB-

connected

-RRB-

groups

for

a

cuboid

ffl

weight

w

for

each

node

in

lattice

L

In

our

case

the

weight

of

a

node

corresponds

to

the

access

frequency

of

a

cuboid

ffl

Allocated

storage

space

for

merged

objects

Output

A

set

T

of

selected

mergeable

groups

described

as

follows

Groups

in

T

provide

minimum

on-line

computation

time

to

compute

average

merge

of

all

groups

within

the

lattice

Analysis

The

selection

of

group

Gi

provides

a

benefit

for

all

groups

Gj

such

that

Gi

Gj

Suppose

that

Gi

ang

and

Gj

an

an

an

mg

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

The

benefit

Bi

j

of

merging

group

Gi

with

respect

to

group

Gj

is

expressed

as

follows

Bi

j

merge

time

-LRB-

an

m

-RRB-

g

-RRB-

merge

time

-LRB-

ang

an

an

mg

Given

a

lattice

L

of

dimensions

each

being

associated

with

a

benefit

value

B

and

a

weight

value

W

find

a

fixed

number

K

of

dimensions

to

merge

such

that

the

total

computational

time

using

the

merged

dimensions

as

a

basis

in

the

computation

is

minimized

This

problem

is

intractable

because

it

can

be

reduced

from

set-covering

problem

Thus

we

propose

several

heuristic

strategies

Spatial

Greedy

Algorithm

As

we

explained

in

Chapter

the

most

widely

used

algorithm

for

the

selection

of

cuboids

for

materialization

is

the

HRU

a

greedy

algorithm

presented

in

-LSB-

-RSB-

Although

this

algorithm

performs

well

in

the

creation

of

a

conventional

-LRB-

nonspatial

-RRB-

data

cube

it

can

not

be

applied

for

handling

spatial

measures

Therefore

we

propose

a

new

algorithm

that

materializes

only

selected

cells

in

the

cuboids

chosen

by

the

HRU

algorithm

Note

that

each

cell

contains

a

group

of

pointers

to

spatial

objects

We

also

refer

to

this

as

a

group

of

spatial

objects

The

following

heuristics

are

used

for

selection

of

groups

of

connected

regions

to

be

premerged

ffl

access

frequency

Based

on

the

access

history

or

the

estimation

of

the

access

frequency

of

a

set

of

nodes

one

can

calculate

the

benefit

of

the

merge

If

a

group

of

connected

regions

is

more

frequently

accessed

than

other

groups

it

is

more

beneficial

to

premerge

-LRB-

and

save

-RRB-

this

group

of

connected

regions

ffl

cardinality

of

a

set

of

connected

regions

If

a

candidate

group

has

more

connected

regions

than

other

groups

it

is

more

beneficial

to

select

this

candidate

in

the

premerge

-LRB-

having

fewer

disk

accesses

during

on-line

processing

-RRB-

Notice

that

if

a

merge

is

performed

on

a

set

of

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

connected

regions

at

a

descendant

node

the

subsequent

cost

analysis

on

its

ancestor

nodes

should

count

the

newly

merged

region

as

one

region

only

ffl

sharing

among

the

nodes

in

the

cube

lattice

structure

If

a

candidate

is

shared

among

more

nodes

in

the

lattice

structure

it

is

more

beneficial

to

select

this

candidate

for

premerge

Notice

that

in

this

case

the

access

frequency

of

a

group

is

the

sum

of

access

frequencies

of

all

the

nodes

in

which

the

group

appears

Based

on

these

heuristics

a

benefit

formula

is

worked

out

to

compute

the

total

benefit

of

merging

a

group

of

connected

regions

The

total

benefit

is

the

sum

of

direct

benefit

and

indirect

benefit

The

former

is

the

benefit

generated

by

the

merged

group

itself

due

to

the

reduction

of

both

the

accessing

and

merging

cost

-LRB-

since

no

merge

needs

to

be

computed

at

the

query

processing

time

-RRB-

whereas

the

latter

is

the

benefit

of

the

other

groups

in

the

ancestors

of

the

node

containing

the

premerged

group

due

to

their

use

of

premerged

group

which

reduces

accessing

and

on-line

computation

costs

Ascending

the

lattice

of

cuboids

leads

to

more

general

descriptions

of

data

in

the

database

Subsequently

if

some

objects

have

same

nonspatial

descriptions

in

one

cuboid

they

will

have

same

descriptions

in

all

ancestors

of

that

cuboid

We

now

introduce

a

term

non-occluded

ancestor

Definition

Let

F

and

G

be

groups

containing

pointers

to

spatial

objects

such

that

G

ae

F

Then

group

F

is

a

non-occluded

ancestor

of

G

G

OE

F

if

the

following

conditions

are

satisfied

ffl

group

F

has

not

been

materialized

ffl

there

is

no

materialized

group

J

such

that

G

ae

J

ae

F

ffl

there

is

no

materialized

group

J

J

ae

F

such

that

G

J

and

cardinality

-LRB-

J

-RRB-

cardinality

-LRB-

G

-RRB-

The

following

formulae

compute

the

total

benefit

of

premerging

a

group

G

direct

benefit

-LRB-

G

-RRB-

access

frequency

-LRB-

G

-RRB-

cardinality

-LRB-

G

-RRB-

-LRB-

-RRB-

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

indirect

benefit

-LRB-

G

-RRB-

X

GOEA

access

frequency

-LRB-

A

-RRB-

-LRB-

cardinality

-LRB-

G

-RRB-

-RRB-

-LRB-

-RRB-

total

benefit

-LRB-

G

-RRB-

direct

benefit

-LRB-

G

-RRB-

indirect

benefit

-LRB-

G

-RRB-

-LRB-

-RRB-

The

Formula

-LRB-

-RRB-

indicates

that

the

direct

benefit

of

a

group

G

is

the

product

of

its

access

frequency

and

its

cardinality

i.e.

the

number

of

regions

to

be

merged

This

is

derived

based

on

the

following

observation

For

a

group

containing

k

regions

to

be

merged

if

it

is

merged

into

one

region

the

cost

of

each

access

is

to

fetch

the

merged

region

once

However

if

the

group

were

not

merged

into

one

region

it

would

take

about

k

unit

accesses

to

fetch

these

k

regions

perform

on-line

merge

store

the

result

into

a

temporary

file

and

then

take

one

unit

access

to

fetch

the

merged

temporary

file

Thus

the

merge

saves

about

k

unit

disk

fetches

for

each

access

While

the

access

frequency

and

the

cardinality

of

the

connected

group

of

spatial

objects

contribute

to

the

direct

benefit

sharing

among

nodes

in

the

cube

lattice

structure

contributes

to

the

indirect

benefit

In

order

to

determine

the

indirect

benefit

for

a

group

G

we

have

to

consider

all

groups

that

contain

group

G.

By

premerging

group

G

we

effectively

decrease

the

cardinality

of

all

its

ancestor

groups

If

a

group

contains

k

connected

regions

premerging

its

subgroup

that

contains

n

regions

-LRB-

n

k

-RRB-

decreases

cardinality

of

the

group

by

n

Formula

shows

that

only

non-occluded

ancestors

of

a

group

G

contribute

to

its

indirect

benefit

The

following

example

illustrates

computation

of

the

indirect

benefit

Example

Let

A

B

C

D

and

E

and

F

be

six

mergeable

groups

We

explain

the

following

five

cases

that

can

occur

when

calculating

the

indirect

benefit

of

group

D.

there

are

no

materialized

groups

Since

group

D

is

contained

within

groups

A

and

E

both

these

groups

contribute

to

the

indirect

benefit

of

D.

only

group

E

has

already

been

materialized

There

are

no

groups

that

contribute

to

the

indirect

benefit

of

group

D.

Both

A

and

E

are

occluded

ancestors

of

D

-LRB-

E

is

materialized

and

D

ae

E

ae

A

-RRB-

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

only

group

C

has

already

been

materialized

The

indirect

benefit

of

D

is

the

same

as

in

case

because

groups

C

and

D

do

not

intersect

only

group

F

has

already

been

materialized

The

indirect

benefit

of

D

is

the

same

as

in

case

because

even

though

groups

F

and

D

intersect

the

cardinality

of

D

is

larger

than

the

cardinality

of

F

only

group

B

has

already

been

materialized

Only

group

E

contributes

to

the

indirect

benefit

of

group

D.

Group

A

is

occluded

by

group

B

since

groups

B

and

D

intersect

and

the

cardinality

of

B

is

larger

than

the

cardinality

of

D.

After

the

mergeable

candidate

groups

are

detected

the

greedy

algorithm

proceeds

as

follows

In

the

first

round

the

algorithm

computes

the

total

benefits

for

all

candidate

groups

compares

their

benefits

and

selects

the

one

with

the

highest

benefit

In

subsequent

rounds

the

benefit

estimation

may

change

for

some

groups

since

these

groups

may

contain

the

subgroups

of

the

merged

groups

in

the

previous

round

-LRB-

s

-RRB-

The

benefit

for

these

groups

will

be

updated

and

such

updates

will

propagate

up

along

the

lattice

The

adjusted

benefits

are

compared

among

the

remaining

candidates

and

the

one

with

the

highest

current

benefit

is

selected

for

the

premerge

This

process

continues

until

it

completes

the

maximum

number

of

allowable

merges

where

the

maximum

number

of

merges

can

be

determined

based

on

the

allocated

disk

space

or

other

factors

Based

on

the

above

outline

the

algorithm

is

presented

as

follows

Algorithm

-LRB-

Spatial

Greedy

Algorithm

-RRB-

A

greedy

algorithm

which

selects

candidate

-LRB-

connected

-RRB-

region

groups

for

premerging

in

the

construction

of

a

spatial

data

cube

Input

ffl

A

cube

lattice

which

consists

of

a

set

of

selected

cuboids

-LRB-

presented

as

nodes

-RRB-

obtained

by

running

a

cuboid-selection

algorithm

such

as

HRU

-LSB-

-RSB-

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

ffl

An

access

frequency

table

which

shows

the

access

frequency

of

each

node

in

the

lattice

ffl

A

group

of

spatial

pointers

in

each

cell

of

cuboids

in

the

lattice

ffl

A

region

map

which

delineates

the

neighborhood

of

the

regions

The

information

is

collected

in

an

obj

neighbor

table

in

the

format

of

-LRB-

object

pointer

a

list

of

neighbors

-RRB-

ffl

max

num

group

as

the

maximum

number

of

groups

which

are

expected

to

be

selected

for

premerge

Output

A

set

of

candidate

groups

stored

in

merged

obj

table

selected

for

spatial

premerge

and

a

spatial

data

cube

selectively

populated

with

spatial

measures

Method

ffl

The

main

program

is

outlined

as

follows

-LRB-

-RRB-

find

connected

groups

-LRB-

candidate

table

-RRB-

-LRB-

-RRB-

merged

obj

table

-LRB-

-RRB-

remaining

set

candidate

table

-LRB-

-RRB-

REPEAT

-LRB-

-RRB-

select

candidate

-LRB-

candidate

table

merged

obj

table

-RRB-

-LRB-

-RRB-

UNTIL

cardinality

-LRB-

merged

obj

table

-RRB-

max

num

group

-LRB-

-RRB-

populate

cube

-LRB-

merged

obj

table

-RRB-

ffl

The

procedure

find

connected

groups

-LRB-

candidate

table

-RRB-

is

outlined

as

follows

For

each

cuboid

in

the

cube

lattice

determine

mergeable

groups

-LRB-

s

-RRB-

in

its

spatial

pointer

groups

by

using

obj

neighbor

table

Then

calculate

the

access

frequency

of

every

detected

group

by

summing

up

frequencies

of

the

cuboids

in

which

the

group

appears

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

ffl

The

procedure

select

candidate

-LRB-

candidate

table

merged

obj

table

-RRB-

is

outlined

as

follows

-LRB-

-RRB-

PROCEDURE

select

candidate

-LRB-

candidate

table

merged

obj

table

-RRB-

f

-LRB-

-RRB-

max

benefit

-LRB-

-RRB-

FOR

EACH

group

IN

remaining

set

DO

f

-LRB-

-RRB-

total

benefit

direct

benefit

-LRB-

group

-RRB-

indirect

benefit

-LRB-

group

-RRB-

-LRB-

-RRB-

IF

-LRB-

max

benefit

total

benefit

-RRB-

-LRB-

-RRB-

THEN

f

-LRB-

-RRB-

max

benefit

total

benefit

-LRB-

-RRB-

best

group

group

-LRB-

-RRB-

g

-LRB-

-RRB-

g

-LRB-

-RRB-

merged

obj

table

best

group

-LRB-

-RRB-

remaining

set

best

group

-LRB-

-RRB-

g

The

functions

direct

benefit

-LRB-

group

-RRB-

and

indirect

benefit

-LRB-

group

-RRB-

calculate

direct

and

indirect

benefit

for

the

group

according

to

Formula

and

Formula

Notice

that

if

more

than

one

group

have

the

same

largest

total

benefit

the

group

containing

fewer

vertices

is

chosen

in

order

to

generate

smaller

merged

region

and

save

the

total

space

ffl

The

procedure

populate

cube

-LRB-

merged

obj

table

-RRB-

is

outlined

as

follows

Objects

stored

in

the

merged

obj

table

are

linked

with

the

cells

of

the

cuboids

This

can

be

implemented

by

storing

pointers

to

the

premerged

objects

Note

that

more

than

one

cell

can

point

to

a

single

spatial

object

i.e.

a

spatial

object

may

be

the

measure

in

more

than

one

cuboid

Rationale

of

the

algorithm

The

spatial

greedy

algorithm

can

be

reasoned

as

follows

The

algorithm

works

on

the

cuboids

selected

by

the

cuboid-selection

algorithm

HRU

-LSB-

-RSB-

Line

-LRB-

-RRB-

finds

all

mergeable

groups

within

selected

cuboids

Lines

-LRB-

-RRB-

and

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

-LRB-

-RRB-

initialize

merged

obj

table

to

an

empty

set

and

remaining

set

to

all

connected

groups

-LRB-

candidate

table

-RRB-

Line

-LRB-

-RRB-

presents

one

iteration

of

the

greedy

algorithm

At

each

iteration

the

algorithm

selects

the

best

candidate

based

on

the

benefit

calculation

The

algorithm

is

a

greedy

one

because

it

commits

to

a

local

maximum

benefit

at

each

iteration

however

not

every

locally

maximum

choice

can

guarantee

the

global

maximality

As

shown

in

the

analysis

of

the

HRU

algorithm

in

-LSB-

-RSB-

the

global

optimality

is

an

NP-hard

problem

Therefore

based

on

the

similar

reasoning

to

that

in

-LSB-

-RSB-

the

algorithm

derives

a

suboptimal

solution

for

the

selection

of

candidate

groups

Note

that

instead

of

the

actual

number

of

groups

-LRB-

max

num

group

-RRB-

the

percentage

of

groups

to

be

selected

for

premerge

can

be

specified

Both

our

algorithm

and

the

HRU

algorithm

are

greedy

algorithms

for

selective

materialization

in

the

construction

of

data

cubes

Beside

the

difference

in

application

domains

ours

is

on

spatial

data

cube

construction

whereas

theirs

is

on

nonspatial

ones

there

are

several

other

major

differences

First

the

HRU

algorithm

is

to

selectively

materialize

cuboids

-LRB-

views

-RRB-

whereas

ours

is

to

selectively

materialize

particular

cells

of

the

chosen

cuboids

This

additional

level

of

examination

is

essential

since

the

nonspatial

aggregation

results

in

simple

measures

whereas

the

spatial

one

needs

both

nontrivial

spatial

computation

and

substantial

storage

space

Thus

the

two

algorithms

are

dealing

with

the

problems

at

different

levels

Second

the

HRU

algorithm

does

not

take

node

access

frequency

into

consideration

whereas

ours

considers

it

seriously

We

believe

that

access

frequency

is

an

important

measure

since

it

may

not

be

beneficial

to

precompute

and

store

the

rarely

accessed

spatial

elements

In

comparison

with

the

HRU

algorithm

the

selection

handled

in

our

algorithm

is

at

a

deeper

level

and

examines

every

precomputed

element

in

a

node

to

be

materialized

This

refined

computation

is

more

costly

than

examining

only

at

a

-LRB-

lattice

-RRB-

node

level

However

the

complexity

introduced

here

involves

mainly

simple

benefit

formula

computation

which

costs

usually

less

than

a

spatial

operation

Moreover

this

computation

is

done

at

the

cube

construction

time

but

it

will

speed

on-line

spatial

computation

or

save

substantial

storage

space

and

is

thus

worth

doing

An

example

of

the

execution

of

our

algorithm

is

presented

below

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

Figure

An

example

map

ALL

-LCB-

-LCB-

-RCB-

-LCB-

-RCB-

-RCB-

-LCB-

-LCB-

-RCB-

-LCB-

-RCB-

-RCB-

-LCB-

-LCB-

-RCB-

-LCB-

-RCB-

-RCB-

-LCB-

-LCB-

-RCB-

-LCB-

-RCB-

-RCB-

-LCB-

-LCB-

-RCB-

-LCB-

-RCB-

-RCB-

-LCB-

-LCB-

-RCB-

-RCB-

-LCB-

-LCB-

-RCB-

-LCB-

-RCB-

-RCB-

A

A

A

A

A

A

A

B

B

B

B

B

B

C

C

C

-LCB-

-LCB-

-RCB-

-LCB-

-RCB-

-RCB-

Figure

A

lattice

for

the

selected

cuboids

Example

A

map

with

its

spatial

region

partition

is

given

in

Figure

and

a

-LRB-

cube

-RRB-

lattice

which

represents

the

relationships

among

a

set

of

selected

nodes

after

execution

of

the

HRU

algorithm

is

presented

in

Figure

Suppose

that

the

mergeable

groups

for

each

cuboid

were

extracted

We

show

them

too

in

Figure

Some

groups

that

belong

to

a

single

cuboids

may

are

connected

with

each

other

but

they

still

exist

as

the

separate

groups

-LRB-

e.g.

and

in

cuboid

-RRB-

This

is

explained

as

follows

Only

groups

that

belong

to

same

tuples

may

be

merged

because

they

describe

the

object

with

same

values

for

nonspatial

dimensions

Suppose

the

access

frequency

of

each

cuboid

is

shown

in

Table

The

access

frequency

of

every

candidate

group

-LRB-

i.e.

a

set

of

connected

regions

-RRB-

is

equal

to

the

access

frequency

of

the

corresponding

node

where

it

resides

If

it

resides

in

more

than

one

node

its

access

frequency

is

the

sum

of

the

access

frequency

of

all

the

nodes

where

it

resides

For

example

group

appears

in

two

nodes

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

Node

-LRB-

cuboid

-RRB-

Access

frequency

Table

Access

frequency

of

the

cuboids

Group

Freq

dir

indir

total

dir

indir

total

dir

indir

total

140 60 200 140

140 140 140

60 360 360 240

240 180 180

120 480 480 240

240 240 240

570 1710 360 2070

180 360 820 1180

360 70 430 360

70 280 180 460

280 180 460 210

870 1740 130 1870

1740 130 1870

Table

First

three

iterations

of

spatial

greedy

algorithm

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

and

Thus

the

accumulated

access

frequency

of

the

group

is

Using

the

benefit

calculation

formulae

Table

is

generated

which

describes

the

process

of

benefit

computation

and

premerged

region

selection

as

shown

below

At

the

first

iteration

starting

with

group

we

get

direct

benefit

-LRB-

-RRB-

frequency

-LRB-

-RRB-

cardinality

-LRB-

-RRB-

and

indirect

benefit

-LRB-

-RRB-

frequency

-LRB-

-RRB-

-LRB-

cardinality

-LRB-

-RRB-

-RRB-

Thus

the

total

benefit

direct

benefit

indirect

benefit

Attention

should

be

paid

to

the

calculation

of

the

indirect

benefit

of

some

groups

Let

us

examine

another

group

Its

indirect

benefit

indirect

benefit

-LRB-

-RRB-

-LRB-

frequency

-LRB-

-RRB-

frequency

-LRB-

-RRB-

-RRB-

-LRB-

cardinality

-LRB-

-RRB-

-RRB-

-LRB-

-RRB-

The

largest

total

benefit

-LRB-

with

a

value

of

-RRB-

is

for

the

group

and

that

group

is

the

first

selected

premerging

group

In

the

second

iteration

for

some

groups

such

as

the

total

benefit

will

not

be

changed

However

for

some

groups

direct

benefit

indirect

benefit

or

both

may

change

Take

group

as

an

example

With

the

merge

of

in

the

first

round

the

cardinality

of

reduces

from

to

Therefore

its

direct

benefit

frequency

-LRB-

-RRB-

cardinality

-LRB-

-RRB-

The

indirect

benefit

is

since

there

is

no

any

other

larger

group

that

can

benefit

from

merging

this

one

The

computation

of

the

indirect

benefit

becomes

more

complex

like

in

the

case

of

In

the

first

iteration

and

would

benefit

from

merging

However

after

group

has

been

merged

it

occludes

groups

and

In

other

words

it

is

more

beneficial

to

use

than

to

merge

these

two

groups

Being

the

only

non-occluded

ancestor

of

group

solely

contributes

to

the

indirect

benefit

of

Consequently

the

indirect

benefit

drops

from

to

whereas

the

direct

benefit

is

not

changed

After

execution

of

the

third

round

the

three

selected

groups

are

The

process

repeats

until

the

number

of

groups

selected

reaches

a

specified

maximum

number

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

Pointer

Intersection

Algorithm

The

spatial

greedy

algorithm

proposed

in

the

previous

subsection

although

based

on

heuristics

selects

good

candidates

for

premerge

Unfortunately

the

algorithm

may

not

scale

well

enough

in

a

presence

of

many

map

objects

and

there

are

two

major

reasons

for

that

ffl

All

groups

of

spatial

pointers

have

to

be

divided

into

disjoint

groups

i.e.

only

regions

that

are

connected

may

be

merged

ffl

All

disjoint

groups

are

analyzed

The

presence

of

a

large

number

of

mergeable

groups

is

likely

to

result

in

very

expensive

computation

of

the

indirect

benefit

i.e.

some

groups

may

have

a

number

of

non-occluded

ancestors

Thus

we

propose

pointer

intersection

algorithm

that

favors

spatial

pointer

groups

that

appear

in

many

cuboids

and

with

high

access

frequency

In

our

subsequent

analysis

we

assume

that

a

set

of

cuboids

have

been

selected

for

materialization

using

an

extended

cuboid-selection

algorithm

similar

to

the

HRU

algorithm

We

now

examine

heuristics

to

determine

which

sets

of

mergeable

spatial

objects

should

be

precomputed

The

general

idea

of

the

algorithm

is

as

follows

Given

a

set

of

selected

cuboids

each

associated

with

an

-LRB-

estimated

-RRB-

access

frequency

and

min

freq

-LRB-

the

minimum

access

frequency

threshold

-RRB-

a

set

of

mergeable

objects

should

be

precomputed

if

and

only

if

its

access

frequency

is

no

smaller

than

min

freq

Notice

that

a

merged

object

also

counts

as

to

be

accessed

if

it

is

used

to

construct

a

larger

object

Only

after

the

intersections

among

the

sets

of

object

pointers

are

computed

and

those

with

low

access

frequency

filtered

out

does

the

algorithm

examine

their

corresponding

spatial

object

connections

-LRB-

neighborhood

information

-RRB-

The

pointer

intersection

algorithm

is

outlined

as

follows

Algorithm

-LRB-

Pointer

Intersection

Algorithm

-RRB-

A

pointer

intersection

method

for

the

selection

of

a

group

of

candidate

connected

regions

for

precomputation

and

storage

of

the

merge

results

during

the

construction

of

a

spatial

data

cube

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

Input

ffl

A

cube

lattice

which

consists

of

a

set

of

selected

cuboids

obtained

by

running

an

extended

cuboid-selection

algorithm

similar

to

the

HRU

algorithm

-LSB-

-RSB-

The

selected

cuboids

are

mapped

to

a

sequence

of

numbers

from

the

top

level

down

ffl

An

access

frequency

table

which

registers

the

access

frequency

of

each

cuboid

in

the

lattice

ffl

A

group

of

spatial

pointers

-LRB-

sorted

in

increasing

order

-RRB-

in

each

cell

of

cuboids

in

the

lattice

ffl

A

region

map

which

delineates

the

neighborhood

of

the

regions

The

information

is

collected

in

an

obj

neighbor

table

in

the

format

of

-LRB-

object

pointer

a

list

of

neighbors

-RRB-

ffl

min

freq

A

threshold

which

represents

the

minimal

access

frequency

of

a

group

of

connected

regions

to

be

premerged

Output

A

set

of

candidate

groups

stored

in

merged

obj

table

selected

for

spatial

premerge

and

a

spatial

data

cube

selectively

populated

with

spatial

measures

Method

ffl

The

main

program

is

outlined

as

follows

where

max

cuboid

is

the

maximum

number

of

cuboids

selected

for

materialization

-LRB-

-RRB-

FOR

cuboid

i

TO

max

cuboid

DO

-LRB-

-RRB-

FOR

cuboid

j

cuboid

i

TO

max

cuboid

DO

-LRB-

-RRB-

FOR

EACH

cell

i

IN

cuboid

i

DO

-LRB-

-RRB-

get

max

intersection

-LRB-

cell

i

cuboid

j

candidate

table

-RRB-

-LRB-

-RRB-

frequency

computing

f

iltering

-LRB-

candidate

table

-RRB-

-LRB-

-RRB-

spatial

connectivity

testing

-LRB-

candidate

table

connected

obj

table

-RRB-

-LRB-

-RRB-

shared

spatial

merging

-LRB-

connected

obj

table

merged

obj

table

-RRB-

-LRB-

-RRB-

populate

cube

-LRB-

merged

obj

table

-RRB-

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

ffl

The

procedure

get

max

intersection

-LRB-

cell

i

cuboid

j

candidate

table

-RRB-

finds

the

maximal

intersections

between

the

cell

cell

i

and

all

cells

within

the

cuboid

cuboid

j

It

is

outlined

as

follows

-LRB-

-RRB-

PROCEDURE

get

max

intersection

-LRB-

cell

i

cuboid

j

candidate

table

-RRB-

f

-LRB-

-RRB-

cell

j

get

first

cell

-LRB-

cuboid

j

-RRB-

-LRB-

-RRB-

remaining

cell

i

cell

i

-LRB-

-RRB-

WHILE

-LRB-

jremaining

cell

ij

AND

cell

j

;-RRB-

DO

f

-LRB-

-RRB-

intersected

portion

get

max

intersect

-LRB-

remaining

cell

i

cell

j

-RRB-

-LRB-

-RRB-

IF

jintersected

portionj

-LRB-

-RRB-

THEN

insert

candidate

-LRB-

intersected

portion

candidate

table

-RRB-

-LRB-

-RRB-

remaining

cell

i

intersected

portion

-LRB-

-RRB-

cell

j

get

next

cell

-LRB-

cuboid

j

-RRB-

-LRB-

-RRB-

g

-LRB-

-RRB-

g

The

function

get

max

intersect

-LRB-

cell

i

cell

j

-RRB-

can

be

implemented

as

follows

Set

two

cursors

pi

and

pj

pointing

to

the

starting

positions

in

cell

i

and

cell

j

respectively

-LRB-

where

object

pointers

are

sorted

in

increasing

order

-RRB-

If

both

cursors

point

to

the

identical

object

output

the

pointer

to

the

resulting

buffer

and

forward

both

cursors

Otherwise

forward

the

cursor

which

points

to

the

smaller

pointer

This

process

repeats

until

one

of

the

cursors

reaches

the

end

of

the

set

The

output

is

the

resulting

buffer

Note

that

insert

candidate

-LRB-

intersected

portion

candidate

table

-RRB-

inserts

the

intersected

portion

into

the

candidate

table

if

such

a

portion

is

nonexistent

in

the

table

together

with

cuboid

ids

If

the

intersected

portion

is

already

in

the

candidate

table

only

the

new

cuboid

id

-LRB-

s

-RRB-

is

inserted

ffl

The

procedure

frequency

computing

filtering

-LRB-

candidate

table

-RRB-

is

outlined

as

follows

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

-LRB-

-RRB-

PROCEDURE

frequency

computing

f

iltering

-LRB-

candidate

table

-RRB-

f

-LRB-

-RRB-

FOR

EACH

entry

p

IN

candidate

table

DO

-LRB-

-RRB-

IF

max

frequency

-LRB-

p

-RRB-

min

freq

-LRB-

-RRB-

THEN

remove

p

from

candidate

table

-LRB-

-RRB-

g

The

function

max

frequency

-LRB-

p

-RRB-

returns

the

sum

of

the

frequencies

of

the

cuboids

in

which

p

or

its

supersets

appear

This

can

be

implemented

by

registering

the

cuboid

ids

with

each

candidate

in

the

candidate

table

and

adding

the

frequencies

of

those

cuboids

which

contain

p

or

contain

a

candidate

q

being

a

superset

of

p.

ffl

The

procedure

spatial

connectivity

testing

-LRB-

candidate

table

connected

obj

table

-RRB-

is

outlined

as

follows

For

each

entry

e

in

the

candidate

table

using

the

obj

neigh

bor

table

repeatedly

find

the

set

of

connected

objects

g

with

maximal

cardinality

Then

put

g

into

connected

obj

table

and

remove

it

from

e

until

no

more

grouped

objects

can

be

found

Finally

sort

the

grouped

objects

in

the

connected

obj

table

in

increasing

order

according

to

its

cardinality

-LRB-

i.e.

the

number

of

objects

in

the

group

-RRB-

ffl

The

procedure

shared

spatial

merging

-LRB-

connected

obj

table

merged

obj

table

-RRB-

is

outlined

as

follows

For

each

group

in

the

candidate

obj

table

check

if

any

of

its

subsets

has

already

been

premerged

-LRB-

candidate

obj

table

is

sorted

-RRB-

If

premerged

subsets

of

the

groups

are

found

use

them

to

minimize

the

number

of

merged

regions

otherwise

merge

the

original

map

regions

ffl

The

procedure

populate

cube

-LRB-

merged

obj

table

-RRB-

does

not

differ

from

the

populate

cube

-LRB-

merged

obj

table

-RRB-

procedure

in

spatial

greedy

algorithm

Rationale

of

the

algorithm

The

algorithm

is

to

find

those

spatial

object

groups

in

the

data

cube

which

are

frequently

accessed

and

mergeable

and

to

perform

spatial

merge

for

them

off-line

-LRB-

during

the

spatial

data

cube

creation

time

-RRB-

The

algorithm

works

on

the

cuboids

that

are

selected

based

on

an

extension

to

HRU

a

well-known

cuboid-selection

algorithm

-LSB-

-RSB-

Lines

-LRB-

-RRB-

to

-LRB-

-RRB-

ensure

that

every

pair

of

cuboids

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

Cuboid

Cuboid

Cuboid

Table

Access

frequencies

of

selected

cuboids

is

examined

for

each

candidate

cube

cell

which

derives

the

maximal

intersections

of

spatial

object

pointers

and

stores

them

into

candidate

table

Note

that

a

selfintersection

for

cuboids

is

performed

as

well

Line

-LRB-

-RRB-

removes

from

the

candidate

table

those

candidates

whose

total

access

frequency

is

smaller

than

min

freq

Line

-LRB-

-RRB-

finds

the

spatially

connected

subsets

within

each

candidate

-LRB-

a

group

of

pointers

to

spatial

objects

-RRB-

and

line

-LRB-

-RRB-

materializes

them

and

puts

into

the

merged

obj

table

Optimization

has

been

explored

in

each

procedure/function

For

example

procedure

get

max

intersection

checks

one

cell

cell

i

against

cuboid

j

by

first

finding

the

first

candidate

cell

in

cuboid

j

and

then

extracting

the

intersected

portion

Afterwards

the

intersected

portion

is

removed

from

cell

i

since

there

is

no

more

such

portion

in

the

remaining

cells

of

the

cuboid

Note

We

now

clarify

the

reason

for

applying

the

self-intersection

in

this

algorithm

-LRB-

Lines

-LRB-

-RRB-

and

-LRB-

-RRB-

-RRB-

since

it

might

not

be

obvious

to

a

reader

There

can

be

a

number

of

groups

that

appear

in

a

single

yet

frequent

cuboid

and

it

is

important

that

such

groups

be

identified

Were

a

self-intersection

not

applied

these

groups

would

be

skipped

The

performance

analysis

conducted

in

Chapter

will

show

that

the

selfintersection

has

a

significant

positive

impact

on

the

effectiveness

of

the

algorithm

-LRB-

see

Figure

-RRB-

Example

In

order

to

illustrate

the

execution

of

this

algorithm

we

revive

the

example

used

for

the

rough

measures

algorithm

The

map

-LRB-

Figure

-RRB-

the

lattice

showing

selected

cuboids

-LRB-

Figure

-RRB-

and

the

sets

of

pointers

for

selected

cuboids

-LRB-

Table

-RRB-

are

identical

like

in

Example

Let

the

the

access

frequency

of

each

selected

cuboid

be

as

shown

in

Table

and

let

min

freq

threshold

be

After

applying

steps

depicted

on

Lines

-LRB-

-RRB-

to

-LRB-

-RRB-

of

the

algorithm

we

get

a

set

of

candidates

in

Table

Raw

access

frequency

of

a

candidate

is

a

sum

of

the

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

Intersected

portion

Raw

access

Accumulated

access

Total

access

frequency

frequency

frequency

g

Table

Candidate

table

for

selected

cuboids

frequencies

of

all

cuboids

in

which

the

candidate

is

found

as

a

maximal

intersection

For

example

candidate

is

detected

as

a

maximal

intersection

between

cuboids

and

so

that

its

raw

frequency

is

Note

that

appears

in

cuboid

as

well

but

not

as

a

maximal

intersection

with

any

other

cuboid

-LRB-

is

a

maximal

intersection

between

cuboids

and

while

is

a

maximal

intersection

between

cuboids

and

-RRB-

On

the

other

hand

the

candidates

that

fully

contain

a

certain

group

contribute

to

the

accumulated

access

frequency

of

that

group

The

accumulated

access

frequency

of

is

-LRB-

access

frequency

of

cuboid

-RRB-

Notice

that

a

single

cuboid

can

be

counted

only

once

in

the

calculation

of

the

frequencies

Finally

total

access

frequency

is

the

sum

of

raw

and

accumulated

access

frequencies

The

candidates

whose

total

access

frequency

is

not

below

the

threshold

are

shown

with

an

arrow

-LRB-

-RRB-

To

make

Table

smaller

we

do

not

show

self-intersections

in

this

example

Since

min

freq

threshold

is

larger

than

threshold

for

any

of

the

cuboids

of

the

candidates

resulted

only

from

a

self-intersection

can

be

merged

After

applying

spatial

connectivity

testing

procedure

we

detect

that

the

following

regions

and

-LRB-

Table

-RRB-

should

be

merged

At

the

first

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

Table

Regions

to

be

premerged

glance

it

seems

that

it

is

wasteful

to

store

both

and

since

the

former

is

a

subset

of

the

latter

However

if

both

have

high

access

frequency

it

is

beneficial

to

store

both

for

the

fast

response

-LRB-

avoiding

on-the-fly

spatial

merge

-RRB-

Moreover

other

on-the-fly

spatial

merges

may

also

benefit

from

storing

both

groups

For

example

may

use

the

precomputed

whereas

may

use

Object

Connection

Algorithm

In

this

subsection

we

present

object

connection

algorithm

that

is

only

slightly

different

from

pointer

intersection

algorithm

While

the

pointer

intersection

algorithm

first

computes

the

intersections

among

the

sets

of

object

pointers

and

then

performs

threshold

filtering

and

examines

their

spatial

object

connections

the

object

connection

algorithm

examines

the

corresponding

spatial

object

connections

before

threshold

filtering

The

object

connection

algorithm

is

examined

in

the

following

Algorithm

-LRB-

Object

Connection

Algorithm

-RRB-

The

object

connection

method

for

the

selection

of

a

group

of

candidate

connected

regions

for

precomputation

and

storage

of

the

merge

results

during

the

construction

of

a

spatial

data

cube

Input

The

same

as

Algorithm

Output

The

same

as

Algorithm

Method

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

ffl

The

main

program

is

different

from

that

of

Algorithm

at

Line

-LRB-

-RRB-

where

connection

is

checked

immediately

before

proceeding

further

Thus

the

old

Line

-LRB-

-RRB-

is

removed

since

it

has

been

done

in

Line

-LRB-

-RRB-

-LRB-

-RRB-

FOR

cuboid

i

TO

max

cuboid

DO

-LRB-

-RRB-

FOR

cuboid

j

cuboid

i

TO

max

cuboid

DO

-LRB-

-RRB-

FOR

EACH

cell

i

IN

cuboid

i

DO

-LRB-

-RRB-

get

max

connected

intersection

-LRB-

cell

i

cuboid

j

candidate

connected

obj

table

-RRB-

-LRB-

-RRB-

frequency

computing

f

iltering

-LRB-

candidate

connected

obj

table

-RRB-

-LRB-

-RRB-

shared

spatial

merging

-LRB-

candidate

connected

obj

table

merged

obj

table

-RRB-

-LRB-

-RRB-

populate

cube

-LRB-

merged

obj

table

-RRB-

ffl

Since

only

the

procedure

get

max

connected

intersection

-LRB-

cell

i

cuboid

j

candidate

connected

obj

table

-RRB-

is

different

from

the

procedure

get

max

intersection

of

Algorithm

it

is

outlined

as

below

Other

procedures

are

essentially

the

same

and

thus

are

not

presented

here

-LRB-

-RRB-

PROCEDURE

get

max

connected

intersection

-LRB-

cell

i

cuboid

j

candidate

connected

obj

table

-RRB-

f

-LRB-

-RRB-

cell

j

get

first

cell

-LRB-

cuboid

j

-RRB-

-LRB-

-RRB-

remaining

cell

i

cell

i

-LRB-

-RRB-

WHILE

-LRB-

jremaining

cell

i

AND

cell

j

;-RRB-

DO

f

-LRB-

-RRB-

intersected

portion

get

max

intersect

-LRB-

remaining

cell

i

cell

j

-RRB-

-LRB-

-RRB-

IF

jintersected

portionj

-LRB-

-RRB-

THEN

insert

connected

candidate

-LRB-

intersected

portion

candidate

table

-RRB-

-LRB-

-RRB-

remaining

cell

i

intersected

portion

-LRB-

-RRB-

cell

j

get

next

cell

-LRB-

cuboid

j

-RRB-

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

-LRB-

-RRB-

g

-LRB-

-RRB-

g

Note

that

the

only

difference

from

Algorithm

is

at

Line

-LRB-

-RRB-

which

calls

insert

connected

candidate

rather

than

insert

candidate

The

procedure

insert

connected

candidate

-LRB-

intersected

portion

candidate

connected

obj

table

-RRB-

breaks

the

intersected

portion

into

a

set

of

connected

portions

by

checking

the

obj

neighbor

table

Each

connected

portion

with

the

length

greater

than

is

inserted

into

the

candidate

connected

obj

table

if

such

a

portion

is

nonexistent

in

the

table

In

this

case

its

combined

access

frequency

should

be

the

sum

of

cell

i

's

and

cell

j

's

access

frequencies

If

the

connected

portion

is

already

in

the

table

the

access

frequency

should

be

accumulated

Rationale

of

the

algorithm

The

major

difference

of

this

algorithm

from

the

former

one

Algorithm

is

at

handling

of

connected

objects

The

former

delays

the

connectivity

checking

after

min

freq

threshold

filtering

whereas

this

algorithm

does

it

at

the

insertion

into

the

candidate

table

By

looking

at

the

algorithms

one

may

think

that

they

produce

identical

results

in

terms

of

selected

regions

for

premerge

In

the

subsequent

discussion

we

will

show

that

it

may

not

always

be

the

case

Suppose

that

A

and

B

are

two

groups

detected

by

get

max

intersect

procedure

Moreover

let

us

assume

that

both

groups

contain

a

common

connected

subgroup

C

In

the

case

of

pointer

intersection

algorithm

these

two

groups

will

be

checked

for

spatial

connectivity

only

if

their

access

frequencies

are

no

smaller

than

min

freq

threshold

On

the

other

hand

if

we

apply

object

connection

algorithm

groups

A

and

B

will

be

divided

into

mergeable

-LRB-

connected

-RRB-

subgroups

Thus

group

C

will

be

inserted

into

candidate

connected

obj

table

Its

total

access

frequency

can

be

higher

than

that

of

groups

A

and

B

since

it

can

appear

in

more

cuboids

-LRB-

union

of

cuboids

for

A

and

B

-RRB-

Thus

it

may

occur

that

neither

A

nor

B

pass

frequency

threshold

-LRB-

in

pointer

intersection

algorithm

-RRB-

and

that

C

does

pass

frequency

threshold

-LRB-

in

object

connection

algorithm

-RRB-

Note

that

the

group

C

does

not

get

detected

in

pointer

intersection

algorithm

unless

A

or

B

passes

the

frequency

threshold

Therefore

pointer

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

intersection

algorithm

generates

a

subset

of

groups

generated

by

object

connection

algorithm

We

now

provide

a

more

formal

explanation

Theorem

Let

P

IG

be

a

set

of

groups

selected

by

the

pointer

intersection

algorithm

and

OCG

a

set

of

groups

selected

by

the

object

connection

algorithm

We

claim

that

P

IG

OCG

Proof

We

first

provide

a

proof

that

each

group

in

P

IG

must

be

also

in

OCG

According

to

the

algorithm

each

group

S

S

P

IG

must

consist

of

connected

regions

and

its

access

frequency

must

pass

min

freq

threshold

Group

S

will

be

also

detected

by

insert

connected

candidate

procedure

of

algorithm

and

later

due

to

its

sufficient

access

frequency

will

be

selected

for

the

premerge

Thus

P

IG

is

a

subset

of

OCG

Now

we

prove

that

relation

P

IG

OCG

does

not

always

hold

Let

G

Gn

be

groups

of

spatial

pointers

found

in

more

than

one

cuboid

-LRB-

i.e.

intersections

-RRB-

with

the

following

properties

ffl

For

all

groups

in

G

there

is

a

common

subgroup

S

that

consists

of

connected

regions

ffl

There

is

no

group

outside

G

that

has

S

as

a

subgroup

ffl

The

total

access

frequency

of

every

group

in

G

is

below

min

freq

threshold

Assume

that

group

S

does

not

exist

among

intersected

groups

i.e.

it

is

not

detected

in

procedure

get

max

intersection

of

pointer

intersection

algorithm

Due

to

insufficient

access

frequency

of

the

groups

in

G

will

be

put

in

P

IG

group

In

addition

group

S

will

not

be

detected

by

algorithm

On

contrary

group

S

will

be

detected

by

insert

connected

candidate

procedure

of

algorithm

The

set

of

cuboids

cuboids

-LRB-

S

-RRB-

in

which

it

resides

is

cuboids

-LRB-

S

-RRB-

n

-LSB-

i

cuboids

-LRB-

Gi

-RRB-

Since

the

access

frequency

of

S

is

higher

than

that

of

any

group

in

G

group

S

may

pass

the

frequency

threshold

and

become

a

member

of

OCG

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

Connected

Raw

access

Accumulated

access

Total

access

intersections

frequency

frequency

frequency

g

Table

Candidate

connected

obj

table

for

selected

cuboids

Therefore

there

may

be

some

groups

in

OCG

that

do

not

appear

in

P

IG

This

concludes

the

proof

In

addition

to

its

effectiveness

object

connection

algorithm

has

different

efficiency

than

pointer

intersection

algorithm

This

will

be

studied

in

more

detail

in

the

following

chapter

For

the

same

example

as

for

pointer

intersection

algorithm

the

execution

of

Algorithm

is

presented

as

follows

Example

The

execution

of

Lines

-LRB-

-RRB-

to

-LRB-

-RRB-

of

Algorithm

will

lead

to

a

set

of

candidate

connected

object

pointer

groups

as

shown

in

Table

Note

that

the

algorithm

finds

same

maximal

intersection

groups

like

Algorithm

-LRB-

see

column

Intersected

portion

in

Table

-RRB-

After

insert

connected

candidate

procedure

is

executed

for

each

of

the

intersections

we

get

candidates

shown

in

Connected

intersections

column

of

Table

Similarly

to

Example

the

access

frequencies

are

computed

and

frequency

filtering

applied

Candidates

that

pass

the

frequency

threshold

are

marked

with

an

arrow

-LRB-

-RRB-

The

marked

groups

are

the

regions

that

are

selected

for

premerge

Since

Examples

and

contain

only

a

small

number

of

objects

the

two

algorithms

produce

identical

results

Our

performance

analysis

will

show

that

the

case

described

in

Theorem

occurs

very

seldom

and

that

it

has

a

small

impact

on

the

benefits

of

selective

materialization

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

Utilization

of

Spatial

Measures

in

On-Line

Processing

Clearly

there

are

three

main

tasks

in

the

life

cycle

of

a

spatial

data

warehouse

creation

usage

and

maintenance

The

focus

of

this

study

is

the

process

of

creation

of

a

spatial

data

warehouse

However

we

devote

this

section

to

the

usage

of

a

spatial

data

warehouse

or

more

precisely

the

usage

of

materialized

spatial

measures

Note

that

the

issue

of

maintenance

is

not

studied

in

this

thesis

Earlier

in

this

thesis

we

elaborated

three

methods

for

collecting

spatial

measures

namely

collection

of

spatial

pointers

approximate

computation

of

spatial

measures

and

selective

materialization

of

spatial

measures

While

the

measures

collected

by

the

first

method

can

be

utilized

similarly

to

nonspatial

-LRB-

numerical

-RRB-

measures

the

latter

two

methods

need

more

discussion

Despite

having

different

accuracy

and

thus

different

objectives

both

approximate

computation

of

spatial

measures

and

selective

materialization

of

spatial

measures

populate

only

portions

of

the

cuboids

in

the

spatial

data

cube

While

the

first

method

eliminates

merged

MBRs

with

low

area

weight

the

second

one

filters

out

merged

regions

whose

materialization

is

considered

to

provide

little

benefit

-LRB-

while

wasting

storage

space

-RRB-

Utilization

of

Estimated

Spatial

Measures

Estimated

or

roughly

calculated

spatial

measures

provide

a

user

of

a

spatial

data

warehouse

with

an

insight

into

nonspatial

and

spatial

properties

of

objects

on

the

map

Although

they

can

seldom

be

used

for

final

decision

making

they

can

help

the

user

focus

on

the

particular

segments

of

the

map

To

make

a

decision

support

process

more

fruitful

we

suggest

the

implementation

that

allows

users

to

dynamically

change

the

area

weight

threshold

Moreover

we

believe

that

approximate

computation

of

spatial

measures

should

serve

only

as

a

coarse

grain

tool

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

Utilization

of

Precomputed

Spatial

Measures

With

a

large

number

of

frequently

used

spatial

objects

precomputed

and

stored

in

the

merged

obj

table

it

is

interesting

to

see

how

to

find

the

best

candidate

set

stored

in

the

table

for

efficient

on-line

processing

For

example

suppose

the

merged

obj

table

stores

the

following

set

of

merged

regions

and

A

measure

cell

derived

by

an

OLAP

operation

may

have

the

following

set

of

spatial

pointers

A

smart

search

algorithm

may

return

two

precomputed

-LRB-

merged

-RRB-

regions

and

with

one

additional

spatial

merge

done

on-the-fly

However

an

unintelligent

algorithm

may

return

two

precomputed

regions

and

with

three

additional

spatial

merges

done

on-the-fly

At

the

first

glance

one

may

suggest

to

first

match

the

precomputed

regions

containing

the

largest

number

of

merged

objects

then

proceed

to

those

with

smaller

number

of

merged

objects

However

this

may

not

always

work

well

For

example

suppose

the

merged

obj

table

contains

and

and

the

targeted

measure

cell

is

If

we

first

select

the

region

containing

the

most

elements

the

result

will

be

and

However

the

selection

of

and

is

a

better

choice

We

have

the

following

technique

for

the

selection

of

precomputed

spatial

objects

for

a

target

T

which

consists

of

a

set

of

spatial

object

pointers

representing

a

spatial

measure

cell

resulted

from

a

spatial

OLAP

operation

Let

M

be

the

merged

obj

table

Create

table

S

such

that

S

fs

j

s

M

s

Tg

Notice

that

an

element

of

merged

obj

table

M

is

also

the

element

of

table

S

if

and

only

if

it

is

fully

contained

within

the

target

T

If

T

is

a

large

set

an

index

can

be

constructed

on

M

and/or

S

for

efficient

search

Search

S

to

find

all

the

maximal

groups

G

such

that

G

fg

j

g

S

g

Tg

-LRB-

G

-RRB-

-LRB-

-RRB-

;-RRB-

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

No

Set

of

premerged

Coverage

Num

of

premerged

Num

of

onobjects

objects

line

merges

Table

Candidates

for

selection

of

premerged

spatial

objects

This

is

implemented

by

finding

the

first

match

g

T

extracting

t

and

then

recursively

repeating

for

T

g.

All

maximal

groups

G

are

stored

in

the

pool

of

candidates

For

each

group

G

calculate

the

following

parameters

ffl

coverage

number

of

objects

in

G

ffl

num

of

precomputed

objects

number

of

premerged

groups

in

G

ffl

num

of

on

line

merges

number

of

objects

that

have

to

be

merged

on-thefly

in

order

to

compute

the

target

T

Clearly

the

following

equation

holds

num

of

on

line

merges

cardinality

-LRB-

T

-RRB-

coverage

num

of

precomputed

objects

Among

all

groups

in

select

the

group

with

the

smallest

value

for

num

of

on

line

merges

Example

Suppose

a

spatial

measure

cell

resulted

from

an

OLAP

operation

contains

the

following

set

of

spatial

pointers

Assume

that

the

search

of

the

merged

obj

table

M

-LRB-

Step

-RRB-

finds

the

following

set

of

precomputed

objects

CHAPTER

MATERIALIZATION

OF

SPATIAL

MEASURES

Step

derives

the

sets

of

candidates

shown

on

Table

In

Step

group

No.

is

selected

as

the

answer

since

only

three

objects

have

to

be

merged

on-the-fly

Chapter

Implementation

and

Experiments

This

chapter

consists

of

two

parts

the

presentation

of

GeoMiner

a

system

prototype

for

spatial

data

and

mining

and

the

experimental

results

of

our

research

Since

the

GeoMiner

system

prototype

has

resulted

from

a

joint

work

of

GeoMiner

Research

Group

members

the

author

of

this

thesis

will

focus

on

his

part

OLAP

engine

and

its

importance

for

data

mining

modules

Since

only

a

portion

of

the

presented

research

has

been

implemented

in

the

GeoMiner

system

a

simulation-based

performance

study

was

conducted

Design

and

Implementation

of

the

GeoMiner

system

The

GeoMiner

system

-LSB-

-RSB-

is

an

extension

and

evolution

from

a

relational

data

mining

system

DBMiner

-LSB-

-RSB-

researched

and

developed

in

Intelligent

Database

Systems

Research

Laboratory

at

Simon

Fraser

University

At

the

present

time

the

DBMiner

system

contains

the

following

five

data

mining

functional

modules

characterizer

comparator

associator

classifier

and

predictor

Several

additional

data

mining

modules

including

mining

from

time-related

data

are

at

research

and

development

stage

We

advise

the

reader

to

look

at

numerous

publications

that

explain

DBMiner

structure

and

its

data

mining

techniques

-LSB-

-RSB-

We

are

aware

that

data

mining

is

unsupervised

learning

and

that

a

user

has

to

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

direct

the

discovery

process

Therefore

an

important

issue

in

designing

and

developing

a

data

mining

system

is

providing

a

user

with

an

easy

and

a

straightforward

way

to

formulate

his/her

mining

requests

Due

to

our

belief

that

the

success

of

relational

databases

should

be

credited

in

part

to

the

creation

of

the

standardized

query

language

SQL

we

suggest

that

the

underlining

structure

of

a

proposed

data

mining

language

be

SQL

In

addition

to

expressing

mining

requests

in

the

form

of

rules

the

proposed

language

has

to

handle

spatial

predicates

such

as

close

to

contains

intersects

etc.

We

suggest

a

GMQL

Geo-Mining

Query

Language

-LSB-

-RSB-

for

formulating

mining

requests

An

adequate

presentation

of

discovered

knowledge

is

yet

another

significant

issue

for

a

data

mining

system

and

dealing

with

spatial

data

adds

even

more

importance

to

it

Only

if

spatially-related

knowledge

is

visualized

can

it

be

interesting

to

a

knowledge

worker

Consequently

we

designed

and

implemented

various

visualization

tools

for

all

types

of

discovered

knowledge

System

Architecture

The

GeoMiner

system

is

constructed

on

top

of

the

DBMiner

system

Mining

of

nonspatial

data

is

directed

to

the

DBMiner

system

whereas

mining

of

spatial

data

and

the

relationships

between

spatial

and

nonspatial

data

are

performed

by

the

dedicated

GeoMiner

functions

The

general

architecture

of

the

GeoMiner

system

presented

on

Figure

features

five

units

A

set

of

discovery

modules

that

includes

geo-characterizer

geo-comparator

geo-associator

geo-cluster

analyzer

and

geo-classifier

We

plan

to

develop

two

additional

modules

geo-predictor

and

geo-pattern

analyzer

A

data

cube

mining

engine

based

on

DBMiner

discovery

kernel

for

multidimensional

manipulation

of

data

A

spatial

database

server

included

within

MapInfo

Professional

Geographic

Information

System

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

Spatial

Data

Non-spatial

Data

Geo-characterizer

Geo-associator

Geo-classifier

Geo-comparator

GeoMiner

Discovery

Modules

Spatial

Database

Server

and

Data

Cube

Geo-cluster

analyzer

Geo-predictor

Geo-pattern

analyzer

Future

geo

modules

Concept

Hierarchies

Graphical

User

Interface

Figure

General

architecture

of

GeoMiner

A

graphical

user

interface

for

interactive

data

mining

and

for

display

of

mining

results

in

the

form

of

tables

charts

maps

etc.

The

data

and

knowledge-base

storing

nonspatial

and

spatial

data

and

their

concept

hierarchies

The

functionalities

of

the

five

existing

discovery

modules

are

outlined

as

follows

ffl

Geo-characterizer

finds

a

set

of

characteristic

rules

at

multiple

levels

of

abstraction

from

a

relevant

set

of

data

in

a

spatial

database

It

provides

users

with

a

multiple

level

and

a

multiple

angle

view

of

the

data

in

a

spatial

database

By

using

this

module

the

following

question

for

example

can

be

answered

Given

spatial

hierarchies

of

the

United

States

what

are

general

income

patterns

according

to

region

partitions

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

ffl

Geo-comparator

discovers

a

set

of

comparison

rules

that

contrast

the

general

features

of

different

classes

of

the

relevant

sets

of

data

in

a

spatial

database

It

compares

one

set

of

data

known

as

the

target

class

to

the

other

set

-LRB-

s

-RRB-

of

data

known

as

the

contrasting

class

-LRB-

es

-RRB-

For

example

this

module

may

show

the

differences

in

migration

patterns

in

the

United

States

or

find

the

clusters

or

features

related

to

the

locations

which

differentiate

the

profiting

stores

from

the

non-profiting

ones

ffl

Geo-associator

extracts

a

set

of

strong

spatially-related

association

rules

from

a

relevant

set

of

data

in

a

spatial

database

An

association

rule

shows

the

frequently

occurring

patterns

-LRB-

or

relationships

-RRB-

a

database

-LSB-

-RSB-

A

typical

spatial

association

rule

is

in

the

form

of

X

Y

where

X

and

Y

are

sets

of

spatial

and/or

nonspatial

predicates

For

example

an

association

rule

can

reveal

the

relationships

between

golf

courses

and

other

nearby

objects

like

parks

roads

lakes

etc.

ffl

Geo-cluster

analyzer

uses

an

efficient

algorithm

CLARANS

-LSB-

-RSB-

to

perform

spatial

clustering

After

it

detects

clusters

geo-cluster

analyzer

finds

nonspatial

descriptions

of

the

clusters

by

using

the

attribute-oriented

induction

method

-LSB-

-RSB-

For

example

one

can

find

how

the

stores

are

clustered

and

then

find

descriptions

for

each

cluster

to

determine

appropriate

marketing

strategies

ffl

Geo-classifier

adopts

a

generalization-based

decision

tree

induction

method

to

build

a

classification

tree

that

classifies

a

set

of

relevant

data

according

to

one

of

the

nonspatial

attributes

-LSB-

-RSB-

The

classification

tree

is

displayed

and

by

clicking

on

any

of

the

nodes

of

the

tree

a

user

highlights

corresponding

region

-LRB-

s

-RRB-

on

the

map

For

example

one

may

classify

states

in

the

United

States

according

to

the

median

family

income

in

a

state

The

data

mining

modules

described

above

use

spatial

database

server

to

extract

data

relevant

to

the

data

mining

process

The

spatial

database

used

for

the

implementation

MapInfo

Professional

provides

a

connection

to

many

external

databases

using

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

ODBC

functionalities

import

of

data

from

other

spatial

data

formats

and

querying

of

spatial

data

using

native

version

of

Spatial

SQL

The

data

retrieved

from

the

databases

is

analyzed

by

data

mining

modules

The

data

cube

underlying

architecture

enables

fast

manipulation

-LRB-

roll-up

drill-down

slicing

dicing

-RRB-

and

analysis

of

large

amount

of

data

The

multidimensional

data

analysis

utilizes

concept

hierarchies

which

are

stored

in

a

database

With

the

ascension

of

a

concept

hierarchy

information

becomes

more

general

but

still

remains

consistent

with

the

lower

concept

levels

Take

occupation

concept

hierarchy

as

an

example

Both

VLSI

design

engineer

and

systems

engineer

can

be

generalized

to

concept

computer

engineer

which

in

turn

can

be

generalized

to

concept

engineer

which

includes

mechanical

engineer

as

well

A

similar

hierarchy

may

exist

for

spatial

data

For

example

in

a

generalization

process

regions

representing

counties

can

be

merged

to

states

and

states

can

be

merged

to

larger

regions

Concept

hierarchies

can

be

built

based

on

the

expert

knowledge

or

in

the

case

of

numerical

concept

hierarchies

created

automatically

The

relational

concept

hierarchies

are

stored

as

tables

in

a

relational

database

The

spatial

concept

hierarchies

contain

precomputed

spatial

aggregations

to

accelerate

data

analysis

process

Implementation

of

OLAP

in

the

GeoMiner

System

One

of

the

essential

features

of

GeoMiner

is

its

ability

to

perform

multilevel

spatial

data

mining

and

spatial

data

analysis

Data

in

spatial

databases

usually

contains

detailed

information

at

the

primitive

level

of

abstraction

also

known

as

raw

data

It

is

desirable

to

summarize

a

large

quantity

of

data

and

present

it

at

a

high

abstraction

level

For

example

given

climate

data

for

a

region

one

may

want

to

summarize

this

detailed

data

and

present

the

general

characteristics

of

the

region

's

climate

Such

a

process

would

generalize

raw

data

into

concepts

like

cold

mild

hot

-LRB-

for

temperature

-RRB-

dry

wet

-LRB-

for

precipitation

-RRB-

etc.

Portions

of

the

map

-LRB-

regions

-RRB-

that

are

described

by

the

same

high

level

concepts

can

be

merged

together

However

with

a

blind

generalization

data

may

be

summarized

to

too

high

a

level

and

provide

a

common

sense

knowledge

Thus

we

stress

the

interactive

and

multilevel

paradigm

of

the

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

GeoMiner

system

The

system

provides

not

only

the

power

of

generalization

-LRB-

roll-up

-RRB-

but

also

the

power

of

specialization

-LRB-

drill-down

-RRB-

While

roll-up

or

reduction

of

a

dimension

is

a

relatively

simple

concept

drill-down

requires

more

explanation

One

may

wonder

how

a

drill-down

operation

can

be

performed

and

whether

it

introduces

an

additional

level

of

complexity

Obviously

it

can

not

be

accomplished

by

working

directly

on

a

high

level

cuboid

A

value

once

generalized

can

not

be

restored

without

being

saved

beforehand

Therefore

we

maintain

a

base

cuboid

also

known

as

the

least

generalized

cuboid

When

drilling-down

to

a

specific

cuboid

we

effectively

roll-up

from

the

base

cuboid

In

addition

to

typical

OLAP

operations

on

nonspatial

data

the

GeoMiner

system

allows

for

OLAP

on

spatial

data

also

known

as

spatial

OLAP

The

OLAP

component

of

the

GeoMiner

system

consists

of

two

modules

characterizer

and

comparator

that

produce

characteristic

and

comparison

rules

respectively

We

now

examine

these

types

of

rules

in

more

detail

by

going

through

two

examples

Example

Suppose

that

a

user

wants

to

characterize

-LRB-

summarize

-RRB-

demographic

patterns

in

the

United

States

by

presenting

the

relationships

among

the

regions

with

respect

to

population

size

median

family

income

and

percentage

of

people

holding

bachelor

degree

This

data

mining

request

can

be

formulated

with

the

following

GMQL

query

MINE

CHARACTERISTICS

AS

USA

states

ANALYZE

sum

-LRB-

pop

-RRB-

WITH

RESPECT

TO

geo

statename

pop

med

fam

income

with

bachelor

degp

FROM

states

census

WHERE

time

First

the

system

retrieves

the

data

related

to

name

of

the

state

-LRB-

statename

-RRB-

population

-LRB-

pop

-RRB-

median

family

income

-LRB-

med

fam

income

-RRB-

percentage

of

population

holding

bachelor

degree

-LRB-

with

bachelor

degp

-RRB-

and

with

time

being

the

year

Geo

is

a

spatial

attribute

that

corresponds

to

a

map

object

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

Figure

Display

of

spatial

characteristic

rules

Based

on

the

given

query

and

the

spatial

concept

hierarchy

for

geo

attribute

and

nonspatial

concept

hierarchies

for

pop

med

fam

income

and

with

bachelor

degp

attributes

a

spatial-dominated

generalization

is

performed

as

follows

-LSB-

-RSB-

Spatial-dominated

generalization

triggers

the

merge

of

the

connected

regions

and

creates

a

set

of

larger

merged

regions

Effectively

spatial

descriptions

of

states

geo

are

generalized

into

larger

regions

like

New

England

Middle

Atlantic

North

Central

etc.

Ascending

the

spatial

concept

hierarchy

leads

to

fewer

objects

Generalization

of

the

spatial

objects

continues

until

the

spatial

generalization

threshold

is

reached

The

spatial

generalization

threshold

is

defined

as

the

maximum

number

of

regions

in

a

generalized

relation

Generalized

relation

is

a

table

that

uses

generalized

values

for

attributes

-LRB-

a

table

at

the

right-hand

side

in

Figure

-RRB-

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

After

the

spatial

generalization

process

is

performed

the

nonspatial

data

is

retrieved

and

analyzed

for

each

of

the

generalized

spatial

objects

using

the

attributeoriented

induction

method

-LSB-

-RSB-

Three

main

steps

of

the

attribute-oriented

induction

technique

are

climbing

the

concept

hierarchy

when

attribute

values

in

a

tuple

are

changed

to

the

generalized

values

removing

attributes

when

further

generalization

is

impossible

and/or

there

are

too

many

distinct

values

for

an

attribute

merging

identical

tuples

The

induction

continues

until

a

value

for

every

attribute

is

generalized

to

the

desired

level

specified

by

the

generalization

threshold

for

that

attribute

During

the

process

of

merging

identical

tuples

the

number

of

merged

tuples

is

stored

in

additional

attribute

count

to

enable

quantitative

presentation

of

the

acquired

knowledge

In

our

example

sum

of

population

for

states

in

merged

regions

is

also

stored

to

enable

presentation

of

the

measure

sum

-LRB-

pop

-RRB-

Notice

that

a

single

spatial

object

can

be

described

by

multiple

tuples

in

a

generalized

relation

This

is

the

result

of

having

different

nonspatial

descriptions

for

objects

that

generalize

to

the

larger

object

The

above

process

creates

a

generalized

map

of

the

United

States

-LRB-

Figure

-RRB-

However

we

believe

that

at

this

moment

fruitful

and

interactive

OLAP

is

yet

to

start

Drill-down

or

roll-up

can

be

performed

interactively

on

such

generalized

data

to

zoom-in

or

zoom-out

the

generalized

spatial

regions

or

to

examine

the

details

of

their

associated

nonspatial

properties

Invoking

roll-up

and

drill-down

OLAP

operations

fetches

the

cuboids

from

the

lattice

of

cuboids

The

fact

that

the

cuboids

contain

materialized

spatial

measures

greatly

enhances

mining

at

multiple

levels

of

abstraction

Figure

shows

the

results

after

drilling-down

along

spatial

dimension

to

present

details

describing

the

southern

part

of

the

United

States

The

results

can

be

presented

in

the

form

of

a

two-dimensional

chart

pie

chart

on

the

map

and

a

generalized

relation

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

Figure

Drilling-down

along

spatial

dimension

In

the

presented

example

mining

is

performed

by

generalizing

first

along

the

spatial

hierarchy

Then

this

process

triggers

the

attribute-oriented

induction

process

on

nonspatial

attributes

to

describe

nonspatial

properties

of

generalized

spatial

regions

Therefore

such

generalization

is

called

spatial

data-dominated

generalization

-LSB-

-RSB-

Alternatively

to

spatial

data-dominated

generalization

presented

in

the

above

example

nonspatial

data-dominated

generalization

can

be

performed

if

a

spatial

concept

hierarchy

is

not

given

This

method

includes

the

following

steps

Collecting

all

data

relevant

to

the

query

Applying

the

attribute-oriented

induction

on

nonspatial

attributes

i.e.

generalizing

to

higher

concepts

For

instance

median

family

income

values

in

range

-LRB-

-RSB-

can

be

generalized

to

poor

Collecting

pointers

to

spatial

objects

that

are

described

by

the

same

high

level

nonspatial

concepts

These

pointers

are

put

in

generalized

tuples

Again

the

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

generalization

threshold

is

used

to

determine

when

to

stop

the

generalization

process

Potential

merging

of

neighboring

objects

that

belong

to

same

generalized

tuples

The

results

of

this

process

can

be

visualized

in

the

form

of

thematic

map

which

present

regions

according

to

their

generalized

nonspatial

descriptions

We

now

describe

the

last

step

in

a

little

bit

more

detail

In

some

cases

merging

of

objects

that

are

compact

enough

-LRB-

e.g.

states

-RRB-

is

not

necessary

and

would

only

add

to

the

overall

complexity

Thus

the

current

version

of

the

GeoMiner

system

does

not

perform

such

a

merge

If

the

merge

operation

is

to

be

performed

it

could

be

significantly

accelerated

by

precomputing

and

storing

the

most

frequently

used

spatial

aggregations

-LRB-

merged

regions

-RRB-

Example

Suppose

that

a

user

wants

to

find

the

migration

patterns

in

the

United

States

and

to

compare

regions

with

large

increase

in

the

population

from

to

and

regions

where

the

population

decreased

during

the

same

period

This

data

mining

request

can

be

formulated

with

the

following

GMQL

query

MINE

COMPARISON

AS

Migration

Patterns

ANALYZE

sum

-LRB-

pop

-RRB-

WITH

RESPECT

TO

geo

statename

pop

med

fam

income

FROM

states

census

FOR

Significant

population

increase

WHERE

VERSUS

Population

decrease

WHERE

The

query

compares

the

two

classes

of

objects

with

respect

to

spatial

location

-LRB-

geo

-RRB-

name

of

the

state

-LRB-

statename

-RRB-

population

-LRB-

pop

-RRB-

ratio

of

crimes

per

people

-LRB-

-RRB-

and

median

family

income

-LRB-

med

fam

income

-RRB-

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

To

process

this

query

the

system

first

retrieves

the

relevant

set

of

data

from

the

relation

states

census

The

collected

data

is

partitioned

into

three

contrasting

classes

Significant

population

increase

Population

decrease

and

Others

The

Significant

population

increase

class

contains

states

where

population

between

and

increased

by

more

than

-LRB-

where

-RRB-

The

Population

decrease

class

contains

states

where

population

decreased

in

the

same

period

of

time

Finally

the

Others

class

consists

of

objects

that

do

not

belong

to

either

one

of

the

first

two

classes

The

objects

belonging

to

the

contrasting

classes

are

generalized

to

the

same

levels

of

concept

hierarchies

Then

roll-up

drill-down

and

slice

operations

can

be

applied

synchronously

on

all

classes

Generalization

and

specialization

are

performed

based

on

the

hierarchies

associated

with

the

following

dimensions

spatial

dimension

-LRB-

geo

-RRB-

and

four

non-spatial

dimensions

statename

pop

and

med

fam

income

The

measures

contain

two

values

count

as

the

default

measure

and

sum

-LRB-

pop

-RRB-

to

present

sum

of

population

in

particular

regions

An

example

of

the

result

of

the

comparison

query

execution

is

presented

in

Figure

Role

of

OLAP

in

Spatial

Data

Mining

Presentation

of

summarized

data

is

only

one

of

the

reasons

for

performing

spatial

OLAP

operations

More

importantly

we

see

OLAP

as

a

tool

that

enhances

spatial

data

mining

Previously

we

briefly

described

geo-associator

geo-cluster

analyzer

and

geo-classifier

modules

The

attractiveness

of

these

mining

modules

is

at

their

ability

to

discover

multilevel

knowledge

from

a

spatial

database

When

performing

either

generalization

or

progressive

deepening

it

is

essential

that

the

response

time

be

small

Underlined

data

cube

technology

provides

the

GeoMiner

system

with

a

reasonably

fast

response

time

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

Figure

Results

of

a

comparison

query

Performance

Analysis

of

Proposed

Algorithms

In

Section

we

presented

three

algorithms

for

selective

materialization

of

spatial

measures

spatial

greedy

algorithm

pointer

intersection

algorithm

and

object

connection

algorithm

In

order

to

evaluate

and

compare

their

effectiveness

and

efficiency

we

implemented

the

algorithms

and

conducted

a

simulation

study

The

simulation

is

controlled

by

using

the

following

parameters

ffl

number

of

objects

on

the

map

Since

the

only

spatial

data

type

that

we

discussed

so

far

is

a

region

the

map

is

comprised

of

regions

only

ffl

max

number

of

neighbors

for

an

object

ffl

number

of

cuboids

selected

by

the

HRU

cuboid-selection

algorithm

-LSB-

-RSB-

ffl

min

number

of

tuples

as

the

number

of

tuples

in

the

most

generalized

cuboid

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

ffl

max

number

of

tuples

as

the

number

of

tuples

in

the

least

generalized

cuboid

ffl

max

frequency

as

the

maximal

access

frequency

of

a

cuboid

ffl

perc

of

groups

to

materialize

-LRB-

for

spatial

greedy

algorithm

-RRB-

ffl

min

freq

ratio

as

the

ratio

-LRB-

for

pointer

intersection/object

connection

algorithm

-RRB-

between

minimal

frequency

threshold

and

average

access

frequency

of

all

cuboids

Minimal

frequency

threshold

is

used

to

filter

out

groups

of

spatial

objects

that

have

low

access

frequency

Specifying

the

frequency

threshold

is

done

in

an

indirect

way

We

enter

a

ratio

between

the

threshold

and

the

average

cuboid

frequency

because

it

gives

more

control

over

the

simulation

We

now

explain

the

major

steps

of

our

simulation

Generating

a

map

A

map

is

created

by

specifying

values

for

number

of

objects

and

max

number

ofneighbors

We

do

not

take

into

account

size

of

the

map

objects

-LRB-

regions

-RRB-

and

the

number

of

vertices

Setting

up

a

spatial

data

warehouse

We

create

a

spatial

data

warehouse

by

specifying

three

parameters

number

of

cuboids

min

number

of

tuples

in

a

cuboid

and

max

number

of

tuples

in

a

cuboid

Being

primarily

concerned

with

spatial

measures

we

do

not

compose

values

for

dimensions

and

numerical

measures

Instead

we

generate

a

set

of

pointers

to

spatial

objects

for

each

tuple

in

each

cuboid

In

addition

each

cuboid

is

assigned

a

random

frequency

in

range

-LRB-

max

frequency

-RSB-

Selective

materialization

of

spatial

measures

We

choose

and

execute

an

algorithm

For

spatial

greedy

algorithm

we

specify

a

value

for

perc

of

groups

to

be

materialized

whereas

for

the

other

two

algorithms

we

specify

a

value

for

min

freq

ratio

threshold

The

chosen

algorithm

selects

groups

of

spatial

pointers

to

be

merged

and

stored

in

a

spatial

data

cube

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

Simulating

typical

OLAP

operation

on

the

spatial

data

warehouse

We

simulate

posing

of

queries

to

the

spatial

data

warehouse

Here

we

use

cuboid

frequencies

generated

beforehand

We

also

pose

queries

that

are

infrequent

-LRB-

do

not

appear

in

the

set

of

selected

cuboids

-RRB-

The

map

content

of

tuples

and

cuboids

access

frequencies

are

generated

randomly

following

uniform

distribution

We

believe

that

other

distributions

should

not

significantly

affect

the

relative

performance

and

thus

would

lead

to

similar

conclusions

The

simulation

was

performed

on

a

Pentium

machine

running

Windows

NT

operating

system

The

simulation

code

was

written

entirely

in

Microsoft

Visual

C++

In

our

presentation

of

all

three

algorithms

we

assumed

the

existence

of

obj

neighbor

table

that

accelerates

checking

connectivity

of

objects

on

the

map

However

creation

of

such

a

table

is

likely

to

take

some

substantial

processing

effort

and

thus

there

is

an

option

to

perform

neighborhood

test

directly

on

the

map

objects

We

divide

our

performance

analysis

study

into

two

parts

First

we

analyze

effectiveness

of

the

algorithms

Since

the

goal

of

selective

materialization

is

to

enhance

on-line

processing

we

study

the

usability

of

materialized

groups

We

are

interested

in

knowing

-LRB-

-RRB-

how

much

on-line

processing

time

is

decreased

by

performing

off-line

precomputation

and

-LRB-

-RRB-

what

is

the

storage

overhead

that

such

precomputation

yields

Second

we

compare

efficiency

of

the

algorithms

in

terms

of

precomputation

running

time

Although

precomputation

running

time

is

not

even

distantly

as

crucial

as

on-line

running

time

we

are

still

concerned

with

precomputation

efficiency

The

main

reason

for

this

concern

is

maintenance

of

a

spatial

data

warehouse

Even

though

spatial

objects

may

not

very

frequently

change

their

nonspatial

attributes

can

change

Since

we

consider

merge

of

objects

with

same

nonspatial

descriptions

updates

of

measures

-LRB-

both

spatial

and

nonspatial

-RRB-

may

be

quite

frequent

Effectiveness

of

the

Algorithms

In

this

subsection

we

examine

effectiveness

of

the

proposed

algorithms

We

are

mainly

interested

in

determining

the

benefits

that

precomputation

generates

and

the

resulted

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

storage

overhead

We

now

define

a

few

terms

used

throughout

the

subsequent

analysis

ffl

saving

in

the

number

of

disk

accesses

The

goal

of

materialization

of

spatial

measures

is

getting

short

response

time

for

OLAP

operations

If

n

spatial

objects

are

to

be

merged

during

on-line

processing

it

would

take

n

disk

accesses

to

read

n

objects

and

store

the

resulting

merged

object

If

these

n

objects

are

premerged

only

one

disk

access

-LRB-

read

-RRB-

is

needed

Moreover

since

we

focus

on

computation

of

spatial

measures

we

count

only

disk

accesses

to

objects

that

are

to

be

merged

-LRB-

n

in

the

above

example

-RRB-

Note

that

these

objects

may

be

original

spatial

objects

or

already

premerged

objects

Thus

we

define

saving

in

the

number

of

disk

accesses

as

the

percentage

of

disk

accesses

that

are

avoided

-LRB-

not

necessary

-RRB-

due

to

off-line

premerge

ffl

storage

overhead

Materialization

of

spatial

measures

may

yield

large

storage

overhead

We

present

storage

overhead

as

the

ratio

between

total

storage

space

needed

for

spatial

measures

and

the

space

for

the

original

map

objects

We

first

analyze

spatial

greedy

algorithm

in

isolation

because

of

its

different

stopping

criterion

from

that

of

the

other

two

algorithms

Figure

shows

the

effectiveness

of

spatial

greedy

algorithm

The

figure

illustrates

the

benefits

of

selective

materialization

expressed

as

saving

in

the

number

of

disk

accesses

during

on-line

processing

Note

that

in

this

experiment

we

considered

only

OLAP

queries

whose

results

are

-LRB-

partially

-RRB-

materialized

-LRB-

chosen

by

the

HRU

algorithm

-RRB-

Later

in

this

subsection

we

will

examine

OLAP

queries

that

are

not

chosen

by

the

HRU

algorithm

The

slope

for

the

benefit

curve

in

Figure

decreases

when

the

number

of

materialized

groups

increases

Our

explanation

to

this

is

that

the

initial

premerge

obtains

a

large

boost

due

to

that

many

of

the

merged

regions

are

shared

by

different

nodes

and

that

the

premerge

leads

to

a

relatively

big

reduction

ratio

on

the

sizes

of

the

merged

nodes

Such

initial

materialization

really

benefits

many

subsequent

OLAP

operations

When

a

certain

proportion

of

all

mergeable

groups

is

materialized

the

candidates

with

such

nice

features

may

have

been

used

up

and

the

benefit

becomes

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

saving

in

the

number

of

disk

accesses

-LSB-

-RSB-

materialized

groups

-LSB-

-RSB-

Spatial

greedy

Figure

Spatial

greedy

algorithm

benefits

of

materialization

marginal

However

we

feel

that

the

simulation

study

only

discloses

such

a

potential

trend

The

concrete

savings

and

when

the

saturation

point

is

reached

can

be

only

told

by

experiments

with

a

large

number

of

spatial

objects

in

the

real

world

situation

Based

on

available

storage

space

the

spatial

data

warehouse

designer

should

determine

the

number

of

premerged

groups

According

to

the

experiment

described

above

the

materialization

of

a

small

portion

of

groups

leads

to

reasonably

good

performance

in

terms

of

the

trade-off

between

response

time

and

the

storage

space

The

remaining

two

algorithms

pointer

intersection

and

object

connection

are

compared

with

respect

to

their

effectiveness

in

Figure

Here

we

analyze

benefit

as

a

function

of

min

freq

ratio

introduced

earlier

in

this

section

The

figure

reveals

the

following

ffl

The

benefits

of

both

algorithms

decrease

with

the

increase

of

frequency

threshold

ffl

There

is

only

a

slight

difference

between

effectiveness

of

the

two

algorithms

ffl

If

self-intersection

is

not

applied

the

benefits

do

not

converge

to

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

saving

in

number

of

disk

accesses

-LSB-

-RSB-

frequency

threshold/average

cuboid

frequency

Pointer

Object

Pointer

-LRB-

without

self-intersection

-RRB-

Object

-LRB-

without

self-intersection

-RRB-

Figure

Pointer

intersection

and

object

connection

algorithms

benefits

of

materialization

It

was

expected

that

a

higher

frequency

threshold

leads

to

the

smaller

number

of

premerged

objects

and

thus

to

the

smaller

benefit

Like

in

the

case

of

spatial

greedy

algorithm

benefits

for

these

two

algorithms

converge

to

-LRB-

reach

percent

when

no

frequency

threshold

is

applied

-RRB-

The

slight

difference

between

effectiveness

of

pointer

intersection

and

object

connection

algorithms

follows

from

Theorem

The

difference

is

more

or

less

marginal

in

our

simulation

however

only

the

real

world

application

with

a

large

number

of

spatial

objects

can

confirm

a

potential

trend

As

we

explained

in

our

presentation

of

pointer

intersection

and

object

connection

algorithms

performing

the

self-intersection

on

cuboids

vastly

improves

the

benefits

of

materialization

If

the

self-intersection

were

not

applied

at

most

of

disk

accesses

would

be

avoided

during

on-line

processing

When

the

frequency

threshold

increases

the

differences

become

marginal

We

used

the

results

gathered

in

the

previous

two

experiments

to

compare

the

effectiveness

of

all

three

algorithms

The

objective

of

this

performance

study

was

to

determine

which

algorithm

selects

best

candidates

for

premerge

and

under

which

conditions

In

order

to

compare

all

three

algorithms

we

had

to

find

a

common

denominator

for

the

algorithms

and

the

natural

choice

was

storage

overhead

Note

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

50 100 150 200

250 300 350 400

saving

in

the

number

of

disk

accesses

-LSB-

-RSB-

storage

overhead

-LSB-

-RSB-

Spatial

greedy

-LRB-

-RRB-

Pointer

-LRB-

-RRB-

Object

-LRB-

-RRB-

Spatial

greedy

-LRB-

-RRB-

Pointer

-LRB-

-RRB-

Object

-LRB-

-RRB-

Figure

Comparison

of

algorithms

benefit

of

materialization

that

storage

overhead

is

not

an

input

parameters

for

any

of

the

algorithms

Until

now

we

have

looked

at

benefits

of

precomputation

for

partially

or

fully

materialized

cuboids

i.e.

chosen

by

the

HRU

algorithm

We

are

in

addition

interested

in

improving

the

response

time

for

all

other

OLAP

queries

-LRB-

those

that

are

not

even

partially

materialized

-RRB-

Thus

in

the

following

experiment

we

generated

a

number

of

queries

that

simulate

on-line

processing

and

checked

how

much

the

premerged

objects

can

improve

their

response

time

Being

mainly

interested

in

spatial

measures

we

created

only

groups

of

spatial

pointers

as

an

answer

to

a

query

The

number

of

such

queries

was

as

high

as

Figure

shows

that

ffl

For

materialized

cuboids

spatial

greedy

algorithm

reaches

the

saturation

point

faster

than

the

other

two

algorithms

do

ffl

Pointer

intersection

and

object

connection

algorithms

are

better

at

handling

non-materialized

cuboids

This

is

analyzed

as

follows

First

and

foremost

it

is

important

to

realize

that

pointer

intersection

and

object

connection

algorithms

select

candidate

groups

from

a

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

larger

pool

than

spatial

greedy

algorithm

does

Let

us

illustrate

this

with

a

simple

example

Suppose

the

group

-LRB-

A

B

-RRB-

appears

in

two

or

more

tuples

-LRB-

in

different

cuboids

-RRB-

but

is

always

accompanied

by

some

other

connected

objects

Thus

this

group

will

not

be

detected

by

the

greedy

algorithm

-LRB-

groups

like

-LRB-

A

B

-RRB-

will

be

detected

instead

-RRB-

but

it

may

be

an

intersection

between

at

least

two

cuboids

On

the

other

hand

every

mergeable

group

extracted

by

the

greedy

algorithm

is

also

a

self-intersection

of

a

cuboid

it

belongs

to

Consequently

pointer

intersection/object

connection

algorithm

selects

a

number

of

small

cardinality

groups

that

are

common

to

a

number

of

cuboids

Note

that

a

premerged

object

may

be

used

for

answering

an

OLAP

query

only

if

it

is

fully

contained

in

one

of

the

resulting

tuples

-LRB-

it

can

not

be

contained

within

more

than

one

tuple

for

a

single

query

-RRB-

Since

premerged

objects

are

computed

on

the

basis

of

materialized

cuboids

-LRB-

chosen

by

the

HRU

cuboid-selection

algorithm

-RRB-

all

these

objects

are

legitimate

candidates

for

answering

at

least

one

query

In

general

premerged

objects

consolidated

from

a

large

number

of

original

map

objects

are

better

candidates

than

the

smaller

ones

Thus

by

not

selecting

low

cardinality

groups

spatial

greedy

algorithm

utilizes

storage

better

than

the

other

two

algorithms

do

For

the

above

reasons

spatial

greedy

algorithm

outperforms

pointer

intersection

and

object

connection

algorithms

in

answering

the

OLAP

queries

whose

results

are

materialized

Exactly

the

opposite

happens

when

the

queries

whose

results

are

not

materialized

are

posed

The

likelihood

of

fitting

large

-LRB-

in

terms

of

inner

cardinality

-RRB-

premerged

objects

into

resulting

ones

is

small

Thus

it

is

more

beneficial

to

use

small

objects

generated

by

pointer

intersection

and

object

connection

algorithms

This

explains

the

bottom

part

of

Figure

However

there

is

an

issue

of

accessing

premerged

objects

that

may

not

be

overlooked

when

considering

non-materialized

queries

The

access

to

spatial

measures

of

a

materialized

cuboid

is

fast

due

to

a

highly

indexing

structure

of

a

spatial

data

cube

Answering

to

non-materialized

queries

requires

search

for

best

candidates

among

premerged

objects

Note

that

cuboids

for

such

queries

are

not

created

off-line

Intuitively

premerged

objects

can

be

organized

in

a

hierarchical

structure

such

as

R

tree

structure

Nonetheless

further

research

in

this

direction

is

necessary

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

Another

observation

from

Figure

is

that

curves

for

pointer

intersection

and

object

connection

algorithms

intersect

This

simply

shows

that

additional

objects

-LRB-

see

Theorem

-RRB-

premerged

by

the

latter

algorithm

are

not

always

very

useful

for

on-line

processing

The

above

analysis

leads

to

the

following

conclusion

If

only

queries

with

materialized

results

are

to

be

run

against

the

spatial

data

warehouse

spatial

greedy

algorithm

should

be

used

On

contrary

if

there

is

no

specific

pattern

in

the

usage

of

the

data

warehouse

and

there

are

few

queries

whose

results

are

materialized

pointer

intersection

or

object

connection

algorithm

should

be

used

We

believe

that

latter

conditions

are

more

realistic

in

a

real

world

application

Efficiency

of

the

Algorithms

The

fact

that

spatial

greedy

algorithm

has

different

stopping

criterion

than

the

other

two

algorithms

do

makes

us

unable

to

strictly

compare

efficiency

of

all

three

algorithms

Thus

we

first

discuss

the

efficiency

of

spatial

greedy

algorithm

and

then

compare

the

efficiencies

of

pointer

intersection

and

object

connection

algorithms

Despite

this

limitation

we

will

suggest

the

favorable

conditions

for

each

of

the

algorithms

We

elected

to

vary

two

parameters

number

of

objects

and

number

of

cuboids

Not

only

that

these

two

parameters

are

significant

in

our

simulation

study

but

also

and

more

importantly

they

are

vital

for

a

user

of

a

spatial

data

warehouse

In

all

experiments

we

fix

the

following

parameters

number

of

neighbors

min

number

of

tuples

max

number

of

tuples

max

frequency

Figure

shows

the

execution

time

as

a

function

of

number

of

objects

in

the

database

In

this

experiment

we

fix

the

number

of

cuboids

to

We

can

see

that

spatial

greedy

algorithm

is

very

sensitive

to

the

number

of

objects

in

the

database

Since

we

assume

that

each

cuboid

covers

the

whole

map

the

simulator

generates

-LRB-

number

of

objects

max

number

of

tuples

number

of

objects

min

number

of

tuples

-RRB-

objects

for

every

tuple

Thus

the

first

step

of

the

algorithm

detection

of

mergeable

groups

is

very

expensive

and

it

creates

a

large

number

of

groups

Having

a

large

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

100 150 200 250

300 350 400 450

execution

time

-LSB-

s

-RSB-

number

of

objects

in

the

database

merged

merged

merged

merged

Figure

Scalability

of

spatial

greedy

algorithm

as

a

function

of

number

of

map

objects

execution

time

-LSB-

s

-RSB-

number

of

cuboids

in

the

data

cube

merged

merged

merged

merged

Figure

Scalability

of

spatial

greedy

algorithm

as

a

function

of

number

of

cuboids

number

of

groups

does

not

only

increase

the

number

of

iterations

in

the

greedy

algorithm

but

also

prolongs

the

execution

of

each

iteration

Note

that

benefit

for

every

unmerged

group

has

to

be

recalculated

in

every

iteration

of

the

greedy

algorithm

Not

surprisingly

execution

time

has

linear

growth

with

the

increase

of

percentage

of

groups

-LRB-

perc

of

groups

-RRB-

to

be

materialized

Figure

shows

the

scalability

of

the

algorithm

when

number

of

cuboids

increases

-LRB-

the

number

of

objects

was

set

to

-RRB-

The

performance

of

the

algorithm

is

like

in

the

previous

experiment

Thus

we

conclude

that

spatial

greedy

algorithm

is

equally

sensitive

to

the

number

of

objects

and

the

number

of

cuboids

-LRB-

views

-RRB-

in

the

data

cube

Later

we

will

see

that

this

property

makes

the

algorithm

very

useful

under

certain

conditions

We

now

focus

on

the

remaining

two

algorithms

Figure

shows

the

performance

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

100 200 300 400

500 600 700 800

execution

time

-LSB-

s

-RSB-

number

of

objects

in

the

database

Pointer

-LRB-

-RRB-

Pointer

-LRB-

-RRB-

Pointer

-LRB-

-RRB-

Pointer

-LRB-

-RRB-

Object

Figure

Scalability

of

pointer

intersection

and

object

connection

algorithms

as

a

function

of

number

of

objects

comparison

of

the

algorithms

when

they

are

applied

on

maps

with

different

number

of

objects

The

number

of

cuboids

was

set

to

for

this

experiment

When

the

number

of

objects

is

small

object

connection

algorithm

has

an

edge

over

pointer

intersection

algorithm

However

by

increasing

the

number

of

objects

the

performance

of

object

connection

algorithm

significantly

deteriorates

while

pointer

intersection

algorithm

shows

little

sensitivity

to

the

number

of

objects

This

is

analyzed

as

follows

The

first

step

of

both

algorithms

is

finding

the

intersecting

groups

among

the

tuples

in

the

cuboids

After

the

intersecting

groups

are

detected

pointer

intersection

algorithm

filters

groups

with

low

access

frequency

In

order

to

perform

such

a

filtering

the

algorithm

has

to

detect

the

total

access

frequency

of

every

group

-LRB-

see

max

frequency

function

in

Algorithms

and

-RRB-

The

total

frequency

is

a

sum

of

the

raw

frequency

and

the

accumulated

frequency

Computation

of

the

accumulated

frequency

of

a

group

is

a

very

expensive

operation

since

the

algorithm

has

to

find

all

groups

that

contain

the

group

Since

pointer

intersection

algorithm

performs

the

above

step

for

all

intersections

there

is

a

large

time

overhead

In

the

case

of

object

connection

algorithm

the

filtering

step

is

postponed

after

connectivity

test

-LRB-

see

spatial

connectivity

testing

procedure

-RRB-

A

large

number

of

groups

are

eliminated

in

the

connectivity

test

early

in

object

connection

algorithm

For

the

above

reasons

object

connection

algorithm

outperforms

pointer

intersection

algorithm

when

the

map

contains

small

number

of

objects

With

the

small

number

of

objects

on

the

map

tuples

in

the

cuboids

contain

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

relatively

few

pointers

to

spatial

objects

Consequently

cardinality

of

intersecting

groups

is

small

too

Increasing

the

number

of

objects

leads

to

the

tuples

with

more

pointers

and

thus

to

larger

cardinality

of

intersected

groups

However

the

number

of

intersecting

groups

does

not

change

much

and

it

converges

to

M

number

of

cuboids

X

i

-LRB-

tuples

-LRB-

i

-RRB-

number

of

cuboids

X

j

i

tuples

-LRB-

j

-RRB-

-RRB-

where

M

is

maximal

number

of

intersections

and

tuples

-LRB-

k

-RRB-

is

number

of

tuples

in

cuboid

k.

Thus

the

running

time

for

pointer

intersection

algorithm

only

slightly

increases

with

the

increase

of

the

number

of

objects

On

the

other

hand

having

high

cardinality

groups

introduces

a

huge

processing

ballast

for

connectivity

test

applied

to

all

intersecting

groups

early

in

object

connection

algorithm

Being

large

many

groups

are

split

into

a

number

of

mergeable

groups

so

that

the

frequency

filtering

step

applied

in

object

connection

algorithm

that

contains

max

frequency

function

becomes

more

expensive

than

the

very

same

step

in

pointer

intersection

algorithm

-LRB-

dealing

with

more

groups

-RRB-

To

conclude

object

connection

algorithm

is

very

sensitive

to

the

increase

of

the

number

of

objects

on

a

map

Notice

that

all

experiments

were

conducted

with

obj

neighbor

table

created

off-line

Another

observation

from

the

curves

in

Figure

is

that

the

frequency

threshold

is

irrelevant

for

the

execution

time

of

object

connection

algorithm

This

was

expected

since

frequency

filtering

is

the

last

step

in

the

algorithm

On

contrary

pointer

intersection

algorithm

shows

slightly

better

performance

when

the

frequency

threshold

increases

Notice

that

changing

the

frequency

threshold

does

not

influence

execution

time

of

costly

max

frequency

function

We

now

compare

the

two

algorithms

with

respect

to

scalability

to

the

number

of

cuboids

in

the

spatial

data

cube

Figures

-LRB-

a

-RRB-

and

-LRB-

b

-RRB-

show

the

performance

of

the

algorithms

when

applied

to

maps

having

and

objects

respectively

The

curves

in

the

figures

show

that

object

connection

algorithm

is

superior

to

pointer

intersection

algorithm

when

the

number

of

objects

is

small

The

former

algorithm

is

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

execution

time

-LSB-

s

-RSB-

number

of

cuboids

in

the

data

cube

-LRB-

a

-RRB-

objects

Pointer

-LRB-

-RRB-

Pointer

-LRB-

-RRB-

Pointer

-LRB-

-RRB-

Pointer

-LRB-

-RRB-

Object

execution

time

-LSB-

s

-RSB-

number

of

cuboids

in

the

data

cube

-LRB-

b

-RRB-

objects

Pointer

-LRB-

-RRB-

Pointer

-LRB-

-RRB-

Pointer

-LRB-

-RRB-

Pointer

-LRB-

-RRB-

Object

Figure

Scalability

of

pointer

intersection

and

object

connection

algorithms

as

a

function

of

number

of

cuboids

very

insensitive

to

the

number

of

cuboids

-LRB-

with

small

number

of

objects

-RRB-

However

as

soon

as

the

number

of

objects

increases

we

get

results

similar

to

the

ones

in

Figure

We

now

analyze

the

observations

from

Figure

-LRB-

a

-RRB-

Having

a

large

number

of

cuboids

directly

leads

to

large

number

of

intersections

While

object

connection

algorithm

filters

a

majority

of

the

intersection

groups

in

its

connectivity

test

pointer

intersection

algorithm

considers

all

the

groups

in

its

max

frequency

function

If

the

experiment

were

done

without

creating

obj

neighbor

table

off-line

performances

of

object

connection

algorithm

would

be

not

even

closely

as

good

It

is

very

clear

that

creation

of

such

a

table

off-line

significantly

boosts

up

the

algorithms

especially

the

object

connection

one

Such

a

create-once

and

use-many-times

model

is

realistic

since

it

is

likely

that

nonspatial

properties

of

map

objects

will

change

more

frequently

than

the

map

objects

themselves

Figure

-LRB-

b

-RRB-

simply

confirms

that

pointer

intersection

algorithm

is

better

at

handling

large

number

of

objects

and

it

can

be

analyzed

similarly

to

Figure

We

now

identify

conditions

that

favor

one

algorithm

over

the

others

ffl

We

anticipate

that

future

spatial

data

warehouses

will

be

built

on

the

following

two

premises

large

number

of

objects

and

relatively

small

number

of

frequent

queries

According

to

the

conducted

experiments

we

believe

that

pointer

intersection

algorithm

fits

best

into

this

data

warehouse

environment

Typical

applications

that

confirm

to

above

assumptions

are

regional

weather

pattern

analysis

demographic

analysis

real

estate

business

etc.

CHAPTER

IMPLEMENTATION

AND

EXPERIMENTS

ffl

However

if

the

number

of

frequent

queries

is

large

or

there

are

no

queries

with

prevalent

frequency

spatial

greedy

algorithm

can

be

used

ffl

Lastly

if

a

spatial

data

warehouse

is

to

contain

few

objects

a

data

warehouse

designer

could

choose

applying

object

connection

algorithm

for

selective

materialization

of

spatial

measures

Finally

the

above

analysis

as

well

the

analysis

conducted

in

the

previous

subsection

shows

that

pointer

intersection

algorithm

is

likely

to

have

the

best

performance

among

all

three

algorithms

Chapter

Conclusion

We

summarize

our

research

work

in

this

chapter

Discussion

on

future

directions

in

spatial

data

warehousing

and

spatial

OLAP

follows

the

summary

of

the

research

Summary

In

this

thesis

we

have

studied

the

construction

of

a

spatial

data

warehouse

based

on

a

spatial

data

cube

model

which

consists

of

both

spatial

and

nonspatial

dimensions

and

measures

Accordingly

we

have

made

necessary

modifications

to

the

star

schema

model

-LRB-

widely

used

for

organizing

data

warehouses

of

relational

data

-RRB-

that

facilitate

OLAP

operations

on

the

spatial

data

The

focus

of

our

study

has

been

on

spatial

measures

and

their

materialization

We

have

shown

that

it

is

not

wise

to

compute

spatial

measures

on-the-fly

however

that

materializing

them

all

would

lead

to

dramatic

storage

needs

Thus

we

have

proposed

three

heuristic

algorithms

for

cell-based

selective

materialization

namely

spatial

greedy

algorithm

pointer

intersection

algorithm

and

object

connection

algorithm

The

performances

of

the

algorithms

have

been

studied

and

compared

with

the

conditions

listed

for

choosing

one

over

the

others

In

addition

a

method

for

selection

of

the

best

materialized

sets

of

objects

from

a

table

storing

all

the

materialized

regions

has

been

outlined

We

have

also

suggested

an

approximation

method

-LRB-

rough

measures

algorithm

-RRB-

for

computation

and

storing

of

spatial

measures

CHAPTER

CONCLUSION

Currently

the

methods

studied

in

this

thesis

are

being

implemented

in

our

spatial

data

mining

system

GeoMiner

-LSB-

-RSB-

which

takes

spatial

OLAP

as

the

essential

function

module

Moreover

spatial

OLAP

operations

have

been

integrated

with

spatial

data

mining

modules

in

the

GeoMiner

system

Discussion

and

Future

Research

Issues

The

proposed

algorithms

and

their

performance

study

present

convincing

arguments

for

selective

materialization

of

mergeable

regions

for

efficient

construction

of

spatial

data

cubes

and

for

performing

spatial

OLAP

operations

Nonetheless

we

foresee

further

improvements

and

extensions

of

the

algorithms

These

and

some

issues

that

should

be

considered

in

the

future

are

outlined

below

ffl

noise

handling

Mergeable

regions

discussed

in

this

thesis

are

specified

as

the

regions

that

share

some

common

boundaries

However

it

is

sometimes

desirable

to

ignore

small

separations

and

merge

the

regions

which

are

located

very

close

For

example

two

wheat

fields

separated

by

a

highway

can

be

considered

as

one

region

This

case

can

be

handled

by

minor

modifications

of

the

algorithms

that

treat

those

regions

that

are

separated

by

very

minor

-LRB-

relative

-RRB-

distance

as

connected

-LRB-

and

thus

mergeable

-RRB-

regions

ffl

utilization

of

materialized

spatial

measures

Access

to

spatial

measures

of

a

materialized

cuboid

is

fast

due

to

a

highly

indexing

structure

of

a

spatial

data

cube

However

answering

non-materialized

cuboids

requires

searching

for

best

candidates

among

precomputed

objects

Accordingly

efficient

algorithms

and

data

structures

should

be

designed

and

implemented

ffl

access

frequency

information

Our

algorithms

for

selective

materialization

of

spatial

measures

assume

the

existence

of

information

about

the

cuboid

access

frequencies

What

if

there

does

not

exist

such

information

initially

There

are

several

methods

to

handle

this

CHAPTER

CONCLUSION

One

method

is

to

assign

initial

access

frequency

only

to

every

level

in

the

lattice

of

cuboids

based

on

some

data

semantics

or

assuming

that

medium

levels

are

accessed

most

frequently

and

low-levels

are

accessed

less

frequently

than

the

higher

ones

The

frequency

counts

can

be

adjusted

based

on

later

accessing

records

Alternatively

we

may

choose

to

materialize

every

mergeable

group

accessed

initially

record

group

access

frequencies

and

choose

to

throw

away

the

later

rarely

used

groups

when

disk

space

runs

low

ffl

size

of

the

regions

The

algorithms

consider

the

access

frequency

and

the

cardinality

of

the

mergeable

groups

but

not

the

concrete

size

of

the

mergeable

regions

However

some

regions

could

be

substantially

larger

or

more

complicated

and

thus

take

substantially

larger

space

and

more

computation

than

the

others

A

possible

solution

could

be

to

add

the

compression

ratio

benefit

which

is

the

ratio

in

size

between

the

premerged

and

not

premerged

regions

ffl

other

spatial

measure

operations

The

proposed

algorithms

address

only

the

region

merge

operations

in

the

spatial

measure

computation

We

believe

that

the

principles

discussed

here

are

generally

applicable

to

other

spatial

measure

operations

such

as

thematic

map

overlay

spatial

join

-LSB-

-RSB-

etc.

Take

map

overlay

as

an

example

If

a

measure

in

a

spatial

data

cuboid

represents

an

overlay

of

multiple

thematic

maps

such

as

altitude

and

temperature

maps

it

will

consist

of

a

nontrivial

overlay

map

both

in

size

and

effort

of

computation

Selective

materialization

of

such

overlay

for

frequently

used

groups

of

spatial

objects

seems

to

be

essential

and

thus

the

studied

principles

should

be

applicable

However

the

concrete

algorithms

have

yet

to

be

explored

ffl

automatic

generation

and

dynamic

adjustment

of

concept

hierarchies

One

of

the

important

features

of

our

research

is

the

existence

of

concept

hierarchies

and

we

assumed

that

they

are

created

by

users

or

domain

experts

CHAPTER

CONCLUSION

However

it

is

preferable

to

generate

them

automatically

based

on

the

data

distribution

While

automatic

generation

and

dynamic

adjustment

of

nonspatial

hierarchies

have

been

studied

-LSB-

-RSB-

no

work

has

been

reported

on

solving

these

problems

in

the

domain

of

spatial

concept

hierarchies

Further

advances

in

this

direction

could

greatly

enhance

spatial

OLAP

and

make

it

more

robust

ffl

data

integration

Spatial

data

is

usually

stored

in

different

industrial

firms

and

government

agencies

using

different

data

formats

Data

formats

are

both

structure-specific

and

vendor-specific

There

have

been

a

lot

of

work

on

data

integration

and

data

exchange

but

with

little

success

These

issues

have

become

crucial

with

the

emergence

of

data

warehouses

ffl

various

application

domains

We

believe

that

the

principles

of

cell-based

selective

materialization

for

computation

of

spatial

data

cubes

are

not

confined

to

spatial

data

only

Other

databases

which

handle

complex

objects

such

as

multimedia

databases

engineering

design

databases

will

encounter

similar

problems

and

it

is

essential

to

perform

object-based

selective

materialization

as

a

space/time

trade-off

for

efficient

OLAP

operations

Several

very

important

issues

not

addressed

in

this

thesis

are

the

efficient

storage

indexing

and

incremental

update

of

spatial

data

cubes

as

well

as

caching

of

spatial

measures

Some

of

these

problems

have

been

extensively

studied

by

the

-LRB-

relational

-RRB-

OLAP

community

Some

research

results

particularly

for

indexing

and

incremental

update

can

be

partially

applied

to

spatial

data

cubes

However

the

selectively

populated

cuboids

in

a

spatial

data

cube

as

opposed

to

fully

populated

cuboids

in

a

nonspatial

data

cube

call

for

new

refined

methods

With

the

recent

success

and

great

promise

of

OLAP

technology

spatial

OLAP

holds

a

high

promise

for

fast

and

efficient

analysis

of

large

amount

of

spatial

data

Thus

spatial

OLAP

is

expected

to

be

a

promising

direction

for

both

research

and

development

in

the

years

to

come

Bibliography

-LSB-

-RSB-

S.

Agarwal

R.

Agrawal

P.

M.

Deshpande

A.

Gupta

J.

F.

Naughton

R.

Ramakrishnan

and

S.

Sarawagi

On

the

computation

of

multidimensional

aggregates

In

Proc

Int

Conf

Very

Large

Data

Bases

pages

-LCB-

Bombay

India

Sept.

-LSB-

-RSB-

D.

Agrawal

A.

E.

Abbadi

A.

Singh

and

T.

Yurek

Efficient

view

maintenance

in

data

warehouses

In

Proc

ACM-SIGMOD

Int

Conf

Management

of

Data

pages

-LCB-

Tucson

Arizona

May

-LSB-

-RSB-

N.

Beckmann

H.-P

Kriegel

R.

Schneider

and

B.

Seeger

The

R

tree

An

efficient

and

robust

access

method

for

points

and

rectangles

In

Proc

ACM-SIGMOD

Int

Conf

Management

of

Data

pages

-LCB-

Atlantic

City

NJ

June

-LSB-

-RSB-

S.

Berchtold

D.

Keim

and

H.-P

Kriegel

The

X-tree

An

efficient

and

robust

access

method

for

points

and

rectangles

In

Proc

Int

Conf

Very

Large

Data

Bases

pages

-LCB-

Bombay

India

Sept.

-LSB-

-RSB-

M.

H.

Brackett

The

Data

Warehousing

Challenge

Taming

Data

Chaos

John

Wiley

Sons

-LSB-

-RSB-

T.

Brinkhoff

H.-P

Kriegel

and

B.

Seeger

Efficient

processing

of

spatial

joins

using

R-trees

In

Proc

ACM-SIGMOD

Conf

Management

of

Data

pages

-LCB-

Washington

DC

May

-LSB-

-RSB-

D.

Chatziantoniou

and

K.

Ross

Querying

multiple

features

in

relational

databases

In

Proc

Int

Conf

Very

Large

Data

Bases

pages

-LCB-

Bombay

India

Sept.

-LSB-

-RSB-

S.

Chaudhuri

and

U.

Dayal

An

overview

of

data

warehousing

and

OLAP

technology

SIGMOD

Record

-LCB-

BIBLIOGRAPHY

-LSB-

-RSB-

S.

Chaudhuri

R.

Krishnamurthy

S.

Potamianos

and

K.

Shim

Optimizing

queries

with

materialized

views

In

Proc

Int

Conf

Data

Engineering

pages

-LCB-

Taipei

Taiwan

March

-LSB-

-RSB-

E.

F.

Codd

A

relational

model

for

large

shared

data

banks

Communications

of

ACM

-LCB-

June

-LSB-

-RSB-

E.

F

Codd

S.

B.

Codd

and

C.

T.

Salley

Providing

OLAP

-LRB-

on-line

analytical

processing

-RRB-

to

user-analysts

An

IT

mandate

In

E.

F.

Codd

Associates

available

at

-LSB-

-RSB-

G.

Colliat

OLAP

relational

and

multidimensional

database

systems

SIGMOD

Record

-LCB-

-LSB-

-RSB-

R.

J.

Earle

Methods

and

apparatus

for

storing

and

retrieving

multi-dimensional

data

in

computer

memory

In

Arbor

software

corporation

U.S.

Patent

October

-LSB-

-RSB-

H.

Edelstein

Faster

data

warehouses

In

TechWeb

December

-LSB-

-RSB-

M.

Egenhofer

Spatial

SQL

A

query

and

presentation

language

IEEE

Transactions

on

Knowledge

and

Data

Engineering

-LCB-

-LSB-

-RSB-

R.

Elmasri

and

S.

B.

Navathe

Fundamentals

of

Database

Systems

ed

Bemjamin/Cummings

-LSB-

-RSB-

M.

Ester

H.-P

Kriegel

and

J.

Sander

Spatial

data

mining

A

database

approach

In

Proc

Int

Symp

on

Large

Spatial

Databases

-LRB-

SSD

-RRB-

pages

-LCB-

Berlin

Germany

July

-LSB-

-RSB-

M.

Ester

H.-P

Kriegel

J.

Sander

and

X.

Xu

A

density-based

algorithm

for

discovering

clusters

in

large

spatial

databases

In

Proc

Int

Conf

on

Knowledge

Discovery

and

Data

Mining

-LRB-

KDD

-RRB-

pages

-LCB-

Portland

Oregon

August

-LSB-

-RSB-

M.

Ester

H.-P

Kriegel

J.

Sander

and

X.

Xu

Density-connected

sets

and

their

application

for

trend

detection

in

spatial

databases

In

Proc

Int

Conf

on

Knowledge

Discovery

and

Data

Mining

-LRB-

KDD

-RRB-

pages

-LCB-

Newport

Beach

California

August

BIBLIOGRAPHY

-LSB-

-RSB-

M.

Ester

H.-P

Kriegel

and

X.

Xu

Knowledge

discovery

in

large

spatial

databases

Focusing

techniques

for

efficient

class

identification

In

Proc

Int

Symp

on

Large

Spatial

Databases

-LRB-

SSD

-RRB-

pages

-LCB-

Portland

Maine

August

-LSB-

-RSB-

C.

Faloutsos

and

K.-I

Lin

FastMap

A

fast

algorithm

for

indexing

data-mining

and

visualization

of

traditional

and

multimedia

datasets

In

Proc

ACM-SIGMOD

Int

Conf

Management

of

Data

pages

-LCB-

San

Jose

CA

May

-LSB-

-RSB-

U.

M.

Fayyad

G.

Piatetsky-Shapiro

P.

Smyth

and

R.

Uthurusamy

Advances

in

Knowledge

Discovery

and

Data

Mining

AAAI/MIT

Press

-LSB-

-RSB-

E.

L.

Glaser

P.

DesJardins

D.

Caldwell

and

E.

D.

Glasser

Bit

string

compressor

with

boolean

operation

processing

capability

U.S.

Patent

October

-LSB-

-RSB-

J.

Gray

A.

Bosworth

A.

Layman

and

H.

Pirahesh

Data

cube

A

relational

operator

generalizing

group-by

cross-tab

and

sub-totals

In

Proc

Int

l

Conf

on

Data

Engineering

pages

-LCB-

New

Orleans

Louisiana

Feb.

-LSB-

-RSB-

J.

Gray

S.

Chaudhuri

A.

Bosworth

A.

Layman

D.

Reichart

M.

Venkatrao

F.

Pellow

and

H.

Pirahesh

Data

cube

A

relational

aggregation

operator

generalizing

group-by

cross-tab

and

sub-totals

Data

Mining

and

Knowledge

Discovery

-LCB-

-LSB-

-RSB-

O.

G?unther

Efficient

computation

of

spatial

joins

In

Proc

Int

Conf

Data

Engineering

pages

-LCB-

Vienna

Austria

April

-LSB-

-RSB-

A.

Gupta

V.

Harinarayan

and

D.

Quass

Aggregate-query

processing

in

data

warehousing

environment

In

Proc

Int

Conf

Very

Large

Data

Bases

pages

-LCB-

Zurich

Switzerland

Sept.

-LSB-

-RSB-

A.

Gupta

I.

S.

Mumick

and

V.

S.

Subrahmanian

Maintaining

views

incrementally

In

Proc

ACM-SIGMOD

Int

Conf

Management

of

Data

pages

-LCB-

Washington

D.C.

May

-LSB-

-RSB-

H.

Gupta

V.

Harinarayan

A.

Rajaraman

and

J.

D.

Ullman

Index

selection

for

OLAP

In

Technical

Note

available

at

ullman/ullmanpapers

html

#dc

Stanford

University

Computer

Science

-LSB-

-RSB-

R.

H.

G?uting

An

introduction

to

spatial

database

systems

The

VLDB

Journal

-LCB-

BIBLIOGRAPHY

-LSB-

-RSB-

D.

Hackatorn

Reinventing

enterprise

systems

via

data

warehousing

In

Proc

The

Data

Warehousing

Institute

Annual

Conference

Washington

D.C.

-LSB-

-RSB-

J.

Han

Y.

Cai

and

N.

Cercone

Data-driven

discovery

of

quantitative

rules

in

relational

databases

IEEE

Trans

Knowledge

and

Data

Engineering

-LCB-

-LSB-

-RSB-

J.

Han

and

Y.

Fu

Dynamic

generation

and

refinement

of

concept

hierarchies

for

knowledge

discovery

in

databases

In

Proc

AAAI

Workshop

on

Knowledge

Discovery

in

Databases

-LRB-

KDD

-RRB-

pages

-LCB-

Seattle

WA

July

-LSB-

-RSB-

J.

Han

and

Y.

Fu

Discovery

of

multiple-level

association

rules

from

large

databases

In

Proc

Int

Conf

Very

Large

Data

Bases

pages

-LCB-

Zurich

Switzerland

Sept.

-LSB-

-RSB-

J.

Han

Y.

Fu

W.

Wang

J.

Chiang

W.

Gong

K.

Koperski

D.

Li

Y.

Lu

A.

Rajan

N.

Stefanovi?c

B.

Xia

and

O.

R.

Zaiane

DBMiner

A

system

for

mining

knowledge

in

large

relational

databases

In

Proc

Int

l

Conf

on

Data

Mining

and

Knowledge

Discovery

-LRB-

KDD

-RRB-

pages

-LCB-

Portland

Oregon

August

-LSB-

-RSB-

J.

Han

K.

Koperski

and

N.

Stefanovi?c

GeoMiner

A

system

prototype

for

spatial

data

mining

In

Proc

ACM-SIGMOD

Int

Conf

Management

of

Data

pages

-LCB-

Tucson

Arizona

May

-LSB-

-RSB-

J.

Han

K.

Koperski

N.

Stefanovi?c

and

Q.

Chen

Design

and

implementation

of

spatial

data

mining

engine

GeoMiner

Submitted

for

publication

June

-LSB-

-RSB-

V.

Harinarayan

A.

Rajaraman

and

J.

D.

Ullman

Implementing

data

cubes

efficiently

In

Proc

ACM-SIGMOD

Int

Conf

Management

of

Data

pages

-LCB-

Montreal

Canada

June

-LSB-

-RSB-

W.

H.

Inmon

Building

the

Data

Warehouse

QED

Technical

Publishing

Group

Wellesley

Massachusetts

-LSB-

-RSB-

W.

H.

Inmon

The

data

warehouse

and

data

mining

Communications

of

ACM

-LCB-

-LSB-

-RSB-

W.

H.

Inmon

J.

A.

Zachman

and

J.

G.

Geiger

Data

Stores

Data

Warehousing

and

the

Zachman

Framework

Managing

Enterprise

Knowledge

McGraw-Hill

BIBLIOGRAPHY

-LSB-

-RSB-

T.

Johnson

and

D.

Shasha

Some

approaches

to

index

design

for

cube

forests

Bulletin

of

the

Technical

Committee

on

Data

Engineering

-LCB-

-LSB-

-RSB-

M.

Kamber

J.

Han

and

J.

Y.

Chiang

Metarule-guided

mining

of

multi-dimensional

association

rules

using

data

cubes

In

Proc

Int

Conf

on

Knowledge

Discovery

and

Data

Mining

-LRB-

KDD

-RRB-

pages

-LCB-

Newport

Beach

California

August

-LSB-

-RSB-

M.

Kamber

L.

Winstone

W.

Gong

S.

Cheng

and

J.

Han

Generalization

and

decision

tree

induction

Efficient

classification

in

data

mining

In

Proc

of

Int

Workshop

on

Research

Issues

on

Data

Engineering

-LRB-

RIDE

-RRB-

pages

-LCB-

Birmingham

England

April

-LSB-

-RSB-

D.

A.

Keim

H.-P

Kriegel

and

T.

Seidl

Supporting

data

mining

of

large

databases

by

visual

feedback

queries

In

Proc

of

Int

Conf

on

Data

Engineering

pages

-LCB-

Houston

TX

Feb.

-LSB-

-RSB-

R.

Kimball

The

Data

Warehouse

Toolkit

John

Wiley

Sons

New

York

-LSB-

-RSB-

R.

Kimball

and

K.

Strehio

Why

decision

support

fails

and

how

to

fix

it

SIGMOD

Record

-LCB-

-LSB-

-RSB-

E.

Knorr

and

R.

Ng

Finding

aggregate

proximity

relationships

and

commonalities

in

spatial

data

mining

IEEE

Transactions

on

Knowledge

and

Data

Engineering

-LCB-

-LSB-

-RSB-

K.

Koperski

and

J.

Han

Discovery

of

spatial

association

rules

in

geographic

information

databases

In

Proc

Int

l

Symp

on

Large

Spatial

Databases

-LRB-

SSD

-RRB-

pages

-LCB-

Portland

Maine

Aug.

-LSB-

-RSB-

K.

Koperski

J.

Han

and

J.

Adhikary

Mining

knowledge

in

geographic

data

In

Comm

ACM

-LRB-

to

appear

-RRB-

-LSB-

-RSB-

R.

Laurini

and

D.

Thompson

Fundamentals

of

Spatial

Information

Systems

Academic

-LSB-

-RSB-

A.

Levy

A.

Mendelzon

and

Y.

Sagiv

Answering

queries

using

views

In

Proc

ACM

Symp

Principles

of

Database

Systems

pages

-LCB-

San

Jose

California

March

BIBLIOGRAPHY

-LSB-

-RSB-

W.

Lu

J.

Han

and

B.

C.

Ooi

Knowledge

discovery

in

large

spatial

databases

In

Proc

Far

East

Workshop

on

Geographic

Information

Systems

pages

-LCB-

Singapore

June

-LSB-

-RSB-

R.

Ng

and

J.

Han

Efficient

and

effective

clustering

method

for

spatial

data

mining

In

Proc

Int

Conf

Very

Large

Data

Bases

pages

-LCB-

Santiago

Chile

September

-LSB-

-RSB-

P.

O'Neil

and

G.

Graefe

Multi-table

joins

through

bitmapped

join

indices

SIGMOD

Record

-LCB-

September

-LSB-

-RSB-

F.

P.

Preparata

and

M.

I.

Shamos

Computational

Geometry

An

Introduction

Springer-Verlag

-LSB-

-RSB-

D.

Quass

A.

Gupta

I.

S.

Mumick

and

J.

Widom

Making

views

self-maintainable

for

data

warehousing

In

Proc

Int

Conf

Parallel

and

Distributed

Information

Systems

pages

-LCB-

Miami

Beach

Florida

December

-LSB-

-RSB-

H.

Samet

The

Design

and

Analysis

of

Spatial

Data

Structures

Addison-Wesley

-LSB-

-RSB-

S.

Sarawagi

Indexing

OLAP

data

Bulletin

of

the

Technical

Committee

on

Data

Engineering

-LCB-

-LSB-

-RSB-

S.

Sarawagi

Techniques

for

indexing

OLAP

data

In

Technical

Report

IBM

Almaden

Research

Center

-LSB-

-RSB-

A.

Shoshani

OLAP

and

statistical

databases

Similarities

and

differences

In

Proc

ACM

Symp

Principles

of

Database

Systems

pages

-LCB-

Tucson

Arizona

May

-LSB-

-RSB-

A.

Silberschatz

M.

Stonebraker

and

J.

D.

Ullman

Database

research

Achievements

and

opportunities

into

the

century

SIGMOD

Record

-LCB-

March

-LSB-

-RSB-

D.

Sristava

S.

Dar

H.

V.

Jagadish

and

A.

V.

Levy

Answering

queries

with

aggregation

using

views

In

Proc

Int

Conf

Very

Large

Data

Bases

pages

-LCB-

Bombay

India

September

-LSB-

-RSB-

J.

Ullman

and

J.

Widom

A

First

Course

in

Database

Systems

Prentice-Hall

BIBLIOGRAPHY

-LSB-

-RSB-

J.

Widom

Research

problems

in

data

warehousing

In

Proc

Int

Conf

on

Information

and

Knowledge

Management

pages

-LCB-

Baltimore

Maryland

Nov.

-LSB-

-RSB-

T.

Zhang

R.

Ramakrishnan

and

M.

Livny

BIRCH

an

efficient

data

clustering

method

for

very

large

databases

In

Proc

ACM-SIGMOD

Int

Conf

Management

of

Data

pages

-LCB-

Montreal

Canada

June

-LSB-

-RSB-

Y.

Zhao

P.

M.

Deshpande

and

J.

F.

Naughton

An

array-based

algorithm

for

simultaneous

multidimensional

aggregates

In

Proc

ACM-SIGMOD

Int

Conf

Management

of

Data

pages

-LCB-

Tucson

Arizona

May

data mining
data warehouse
olap
spatial data analysis
spatial databases

on-line analytical processing
spatial olap