introduction to research data management and database lifeifei [email protected] feifei li
TRANSCRIPT
Introduction to Research
Data Management and Databasehttp://www.cs.fsu.edu/~lifeifei
Outline
• Background• My Research Focus and Experience• Some Problems I have worked on• Current Interest and Activity• My Experience as a PhD student• Q&A
Outline
• Background• My Research Focus and Experience• Some Problems I have worked on• Current Interest and Activity• My Experience as a PhD student• Q&A
A Short History Class
• Undergraduate study in Tsinghua University (1997) (China) + Nanyang Technological University (Singapore) (1998-2002)– B. Applied Science
• PhD study in Boston University (2002-2007)– Computer Science, Research Area: Database
• Now…
Outline
• Background• My Research Focus and Experience• Some Problems I have worked on• Current Interest and Activity• My Experience as a PhD student• Q&A
Research Focus
• Data Management in General and (roughly in the order of the sequence I worked on) :
– Efficient indexing, querying and managing large scale databases, or high dimensional databases
– Spatio-temporal databases and applications– Sensor and Stream databases– Privacy preservation issues for data management– Query security for various types of data models– Uncertain databases and data cleaning
Experience
• SDE intern at M$ SQL server group, summer 2005 (Redmond, WA)
• Research intern at IBM T. J. Watson Research Center (Hawthorne, NY), database research group, summer 2006
• Visiting research student at AT&T Labs Research (Florham Park, NJ), database research group, winter 2006 and spring 2007
• Research intern at MSR, database research group, summer 2007
Outline
• Background• My Research Focus and Experience• Some Problems I have worked on• Current Interest and Activity• My Experience as a PhD student• Q&A
Outline
• Background• My Research Focus and Experience• Some Problems I have worked on
– Retrieving structured data from Web– Spatio-temporal databases– Sensor databases
• Current Interest and Activity• My Experience as a PhD student• Q&A
The First Step• My FYP (Final Year Project), around 2000-2001
– Analyze and build structures of different websites• How to automate this process??• View a website as a tree structure and?• Given a group of similar websites, summarizing a suitable
schema…– Retrieve information from certain part(s) of a website
as specified by the user• With the structure information obtained at the first step• Why bother? Information integration, BBC in favors of Bush
and CNN ‘hates’ him, then what’s the response to event A?• Another issue: semi-structured data (HTML) to structured
data (XML)
So What Happened
Possible Research Problems• Automatic Schema Identification
– Given a collection of data sources, find a common schema that maximally describes the dataset.
• Information retrieval & search from Web – IR techniques (IR is a separate field by itself, unstructured
data) + database techniques (structured data), how to combine the two?
– Google • Information Integration
– Given data source A and data source B, both refers to the same schema, but with (slightly) different instances, how to link/combine the two?
Then Boston
• Quite a pleasant transition in the summer: Singapore (90+ year round) to Boston (80 in the summer)
• Winter:
– Anyway…
Outline
• Background• My Research Focus and Experience• Some Problems I have worked on
– Retrieving structured data from Web– Spatio-temporal databases– Sensor databases
• Current Interest and Activity• My Experience as a PhD student• Q&A
What to Do Now?• Spatio-temporal databases and applications
– Why? My advisor was in this area and…• Examples:
– Indexing higher dimensional data:• 1d- B+ tree, 2d, 3d, 4d, …? kd-tree, R-tree• Space partitioning vs. Data partitioning
– Queries• eg: continuous nearest neighbor query– continuously find
the closest gas station when I am driving from Boston to NY.– Moving object
• On Euclidian space• On a road network
Indexing High Dimensional Data: R-tree
• eg., w/ fanout 4: group nearby rectangles to parent MBRs; each group -> disk page
A
B
C
DE
FG
H
J
I
Example
• F=4
A
B
C
DE
FG
H
I
J
P1
P2
P3
P4
F GD E
H I JA B C
Example
• F=4
A
B
C
DE
FG
H
I
J
P1
P2
P3
P4
P1 P2 P3 P4
F GD E
H I JA B C
R-trees:Search
A
B
C
DE
FG
H
I
J
P1
P2
P3
P4
P1 P2 P3 P4
F GD E
H I JA B C
R-trees:Search
A
B
C
DE
FG
H
I
J
P1
P2
P3
P4
P1 P2 P3 P4
F GD E
H I JA B C
Query in Spatio-Temporal Databases
• Trip Planning Queries (TPQ):– Given a starting location, a destination and
arbitrary points of interest try to find the best possible trip.
• Example:– Minimize the total traveling time from Boston to
Providence, while visiting a post office, a hardware store and a gas station.
Visual Example
Home Work
Gas station
• We can minimize the total distance, time, etc.• We can have different categories of points of interest
(gas stations, hotels, etc.).
The Nearest Neighbor Algorithm
S D
A1
A2
B3 B1
B2
C2
C1
Yields a 2m+1 - 1 approximation where m is the total number of categories.
The Minimum Distance Algorithm
S D
A1
A2
B3 B1
B2
C2
C1
Yields an m-approximation where m is the total number of categories.
Search over R-Tree and Road network
• R-Tree:– Euclidian space, how to utilize R-tree to speed up
the search?
• Road network:M
AS
Dp
Outline
• Background• My Research Focus and Experience• Some Problems I have worked on
– Retrieving structured data from Web– Spatio-temporal databases– Sensor databases
• Current Interest and Activity• My Experience as a PhD student• Q&A
Sensor Network Model
• Large set of sensors distributed in a sensor field.• Communication via a wireless ad-hoc network.• Node and links are failure-prone. • Sensors are resource-constrained
– Limited memory, battery-powered, messaging is costly.
Sensor Databases
• Useful abstraction:– Treat sensor field as a distributed database
• But: data is gathered, not stored nor saved.
– Express query in SQL-like language• COUNT, SUM, AVG, MIN, GROUP-BY
– Query processor distributes query and aggregates responses
– Exemplified by systems like TAG (Berkeley/MIT) and Cougar (Cornell)
A
B
C
D
E
G
HIJ
H
2
6
3
7
6
9
1
10
A Motivating Example
• Each sensor has a single sensed value.
• Sink initiates one-shot queries such as: What is the…– maximum value?– mean value?
• Continuous queries are a natural extension.
F124
AVG Aggregation (no losses)
• Build spanning tree• Aggregate in-network
– Each node sends one summary packet
– Summary has SUM and COUNT of sub-tree
• Reliability problem when there are losses (common for sensor network)
A
B
C
D
E
G
HIJ
H
2
6
3
7
6
9
1
10
4F12
2,1
6,1
9,215,3
6,1 10,1
26,4
12,1
10,29,1
AVG=70/10=7
AVG Aggregation (naive)
• What if redundant copies of data are sent?
• AVG is duplicate-sensitive– Duplicating data changes
aggregate– Increases weight of
duplicated data
A
B
C
D
E
G
HIJ
H
2
6
3
7
6
9
1
10
4F12
2,1
6,1
9,215,3
6,1 22,2
26,4
12,1
10,29,1
AVG=82/11≠7
12,1
AVG Aggregation (TAG++)
• Can compensate for increased weight– Send halved SUM and
COUNT instead
• Does not change expectation!
• Only reduces variance
A
B
C
D
E
G
HIJ
H
2
6
3
7
6
9
1
10
4F12
2,1
6,1
9,215,3
6,1 16,0.5
20,3.5
6,0.5
10,29,1
AVG=70/10=7
6,0.5
AVG Aggregation (LIST)
• Can handle duplicates exactly with a list of <id, value> pairs
• Transmitting this list is expensive!
• Lower bound: linear space is necessary if we demand exact results.
A
B
C
D
E
G
HIJ
H
2
6
3
7
6
9
1
10
4F12
A,2
B,6
B,6;D,3
A,2;G,7;H,6H,6 F,1;I,
10
C,9;E,1;F,1;H,
4 F,1
C,9;E,1
C,9
AVG=70/10=7
F,1
COUNT Sketches
• Problem: Estimate the number of distinct item IDs in a data set with only one pass.
• Constraints: – Small space relative to stream size.– Small per item processing overhead.– Union operator on sketch results.
• Exact COUNT is impossible without linear space.• First approximate COUNT sketch in [FM’85].
– O(log N) space, O(1) processing time per item.
Counting Paintballs
• Imagine the following scenario:– A bag of n paintballs is
emptied at the top of a long stair-case.
– At each step, each paintball either bursts and marks the step, or bounces to the next step. 50/50 chance either way.
Looking only at the pattern of marked steps, what was n?
Counting Paintballs (cont)
• What does the distribution of paintball bursts look like?– The number of bursts at
each step follows a binomial distribution.
– The expected number of bursts drops geometrically.
– Few bursts after log2 n steps
1st
2nd
S th
B(n,1/2)
B(n,1/2 S)
B(n,1/4)
B(n,1/2 S)
Counting Paintballs (cont)
• Many different estimator ideas [FM'85,AMS'96,GGR'03,DF'03,...]
• Example: Let pos denote the position of the highest unmarked stair,
E(pos) ≈ log2(0.775351 n)
2(pos) ≈ 1.12127
• Standard variance reduction methods apply• Either O(log n) or O(log log n) space
Application to Sensornets Each sensor computes k independent sketches of itself using
its unique sensor ID.– Coming next: sensor computes sketches of its value.
Use a robust routing algorithm to route sketches up to the sink.
Aggregate the k sketches via in-network XOR.– Union via XOR is duplicate-insensitive.
The sink then estimates the count.
Similar to gossip and epidemic protocols. How about SUM and other aggregates??
COUNT vs Link Loss (grid)
Outline
• Background• My Research Focus and Experience• Some Problems I have worked on• Current Interest and Activity
– Privacy Preservation– Query Security
• My Experience as a PhD student• Q&A
Privacy Preservation
Feifei Piyush PhD A Dave Univ. President Master
$300 $400 $200 $1000 $5000 $100
It is not legal to query about individual person’s salary. However, we areInteresting (and often time legal) at retrieving the avg. what do you do?
Perturb the data… How?
$200 -$100 $600 -$500 -$500 $300
Add random noise…in a particular way
Feifei Piyush PhD A Dave Univ. President Master
$500 $300 $800 $500 $4500 $400
Sum=$7,000
Sum=$0
Sum=$7,000
Basic Intuition:Add Identical Independent Distributed Random (IID)
Noise with Zero Mean
How about Multiple Attributes (multi-dimensional data)?
• Is IID noise really preserving the privacy??
43
Principal Component Analysis: PCA
i.i.d Noise
44
Principal Component Analysis: PCA
Correlated Noise
45
PCA Based Data Reconstruction
A
A~
Removed Noise
Principal Direction
Remaining Noise
Privacy
A*
σ2
Added Noise: Utility
Projection Error
A*: Perturbed Data
A: Original Data
A~: Reconstructed Data
46
PCA Based Data Reconstruction
A
A~ Principal Direction
Remaining Noise
Privacy
A*σ2
Added Noise: Utility
Projection Error
A*: Perturbed Data
A: Original Data
A~: Reconstructed DataCorrelated Noise!
47
Data Perturbation: main idea
• Observations– The amount of the random noise controls
privacy/utility tradeoff– i.i.d (identical independently distributed) noise
does not preserve the privacy! Not well enough
Lesson learned
– Noise should be correlated with original data
How about Streaming Data?
• Streaming data: Data continuously arrives , no global data is available, hence cannot get the global trends.
i.i.d Noise Correlated Noise
OnlineCorrelated
Noise
Outline
• Background• My Research Focus and Experience• Some Problems I have worked on• Current Interest and Activity
– Privacy Preservation– Query Security
• My Experience as a PhD student• Q&A
Example of Data Publishing
50
www.informatik.uni-trier.de/~ley/db/indices/a-tree/h/Hadjieleftheriou:Marios.html
www.sigmod.org/dblp/db/indices/a-tree/h/Hadjieleftheriou:Marios.html
Outsourced Database for Better Query Services
51
Servers that are close to local clients and maintained by local business partners
Company with headquarters in US
Publishing Data and Outsourcing Query Service
52
NetworkNetwork
Gigascope:analysis tool by
IP Traffic Streamcoming from
0 1 1 0 0 1 … 1 1 0 …
statistics
Results
Data Publishing Model [HIM02]
SD
53
Owner: publish dataServers: host (or monitor) the data and provide query servicesClients: query the owner’s data through servers
ownerserversclients /
H. Hacigumus, B. R. Iyer, and S. Mehrotra, ICDE02
(possibly = owner)
Information Security Issues
54
• The third-party (server) cannot be trusted
– Malicious intent
– Compromised equipment
– Unintentional errors (e.g. bugs)
Problem 1: Injection
55
SD
Select * from T where 5<A<11
A B
r1 …
… …
ri-1 4
ri 7
ri+1 9
ri+2 11
A B
r1 …
… …
ri-1 4
ri 7
ri+1 9
ri+2 11
Returns 7, 8, 9
owner
server
client
Problem 2: Drop
56
SD
Select * from T where 5<A<11
A B
r1 …
… …
ri-1 4
ri 7
ri+1 9
ri+2 11
A B
r1 …
… …
ri-1 4
ri 7
ri+1 9
ri+2 11
Returns 7
owner
server
client
9ri+1
Query Authentication: Goals
57
• Query Correctnessresults do exist in the owner's database
• Query Completenessno records have been omitted from the result
• Query Freshnesslatest available answer (in case of updates)
General Approach
SD
58
ownerserversclients
A B
r1 …
… …
ri-1 4
ri 7
Authenticated Structures
Query results
Verification Object (VO)
Merkle Hash Tree[M89]
59
m1 m2 m3 m4 m5 m6 m7 m8
h1 h2 h3 h4 h5 h6 h7 h8
h12 h34 h56 h78
h1..4 h5..8
h1..8
Sign(h1..8,SK)
h12=H(h1|h2)
R. C. Merkle. CRYPTO, 1989
m6
h78
h5 h6
m5
h56
h5..8h1..4
h1..8
Ver(h1..8, ,pK)=valid?
Collision resistant hash function any change in the tree will lead to a different hash value for the rootDigital signature of the root no one except the ownercould produce the signatureHash function is publicly knownSingle signature to sign many messages
Merkle B(MB) Tree: Natural Extension for Range Query
60
• Use a B+-tree instead of a binary search tree:
… Ki…
250 320 410 600 720
410 720
t1 t2 t3 t4 t5
…
Extend it with hash information:
hi=H(ti) Kj hj=H(tj) leaf node
Merkle B(MB) Tree: Natural Extension for Range Query
61
h0 p1 k1p0 h1 … pf kf hf
h10 p11 k11p10 h11h1=H(h10|…|h1f)
For root node, =Sign(h0|…|hf)
h1
h10 h11
How about Streaming Data?Outsourced stream model: stock trading
monitoring
62
Provider: A stock broker
Servers(bloomberg)
Q
Register Queries: Sliding window query and/or
One shot query
Clients
And Other Model?Revisiting the CISCO – AT&T Example
63
NetworkNetworkGigascopeIP Traffic Stream
0 1 1 0 0 1 … 1 1 0 …
statistics
lawyers: sign the trust agreementCould we help? (computer scientists)
CISCO owns the Network Traffic Data: He is both the data owner and the client!
Outline
• Background• My Research Focus and Experience• Some Problems I have worked on• Current Interest and Activity
– Uncertainty Database and Data Cleaning , Talk to me if you’d like to learn more..
• My Experience as a PhD student• Q&A
My Lessons
• Have a strong motivation– You are doing a PhD for yourself, not for FSU, not
for your advisor
• Find a topic that attracts you the most– PhD could be frustrating and boring + You are
almost broke as a student.. So why not do sth that you have the greatest interest at?
My Lessons
• Meet your advisor as often as possible– He is almost the only one that really cares about
your PhD and knows what you are doing…
• Make connections– Whenever possible, conferences, industry labs etc
and work on your communication skills (including writing the papers)
My Lessons
• Read Papers– As much as you can! It’s never enough
• Finally– Work hard , enjoy your life and good luck!!
Questions?
• Thank you!
Back to COUNT Sketches
• The COUNT sketches of [FM'85] are equivalent to the paintball process.– Start with a bit-vector of all
zeros.– For each item,
• Use its ID and a hash function for coin flips.
• Pick a bit-vector entry.• Set that bit to one.
• These sketches are duplicate-insensitive:
1 0 0 0 0{x}
0 0 1 0 0{y}
1 0 1 0 0{x,y}
A,B (Sketch(A) XOR Sketch(B)) = Sketch(A B)