data quality management: an introduction the data quality problems: an overview

60
The veracity of big data Data quality management: An overview Central aspects of data quality Data consistency (Chapter 2) Entity resolution (record matching; Chapter 4) Information completeness (Chapter 5) Data currency (Chapter 6) Data accuracy (SIGMOD 2013 paper) Deducing the true values of objects in data fusion (Chap. 7) TDD: Topics in Distributed Databases 1

Upload: buckminster-dixon

Post on 04-Jan-2016

32 views

Category:

Documents


0 download

DESCRIPTION

TDD: Research Topics in Distributed Databases. Data quality management: An introduction The data quality problems: An overview Central aspects of data quality Data consistency (Chapter 2) Entity resolution (record matching; Chapter 4) Information completeness (Chapter 5) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Data quality management: An introduction The data quality problems: An overview

The veracity of big data

Data quality management: An overview

Central aspects of data quality– Data consistency (Chapter 2)– Entity resolution (record matching; Chapter 4)– Information completeness (Chapter 5)– Data currency (Chapter 6)– Data accuracy (SIGMOD 2013 paper) – Deducing the true values of objects in data fusion (Chap. 7)

TDD: Topics in Distributed Databases

1

Page 2: Data quality management: An introduction The data quality problems: An overview

The veracity of big data

2

When we talk about big data, we typically mean its quantity: What capacity of a system can cope with the size of the data? Is a query feasible on big data within our available resources? How can we make our queries tractable on big data?

Big Data = Data Quantity + Data Quality

Can we trust the answers to our queries in the data?

No, real-life data is typically dirty; you can’t get correct answers to your queries in dirty data no matter how

good your queries are, and

how fast your system is

Page 3: Data quality management: An introduction The data quality problems: An overview

3

A real-life encounter

NI# name AC phone street city zip

… … … … … … …

SC35621422 M. Smith 131 3456789 Crichton EDI EH8 9LE

SC35621422 M. Smith 6728593 LDN NW1 6XE

Mr. Smith, our database records indicate that you owe us an

outstanding amount of £5,921 for council tax for 2007

Mr. Smith already moved to London in 2006

The council database had not been correctly updated– both old address and the new one are in the database

50% of bills have errors (phone bill reviews, 1992)

020 Baker

Page 4: Data quality management: An introduction The data quality problems: An overview

4

Customer records

country AC phone street city zip

1234567 Mayfield EH8 9LE

3456789 Crichton EH8 9LE

3456789 Mountain Ave 07974

Anything wrong?

New York City is moved to the UK (country code: 44)

Murray Hill (01-908) in New Jersey is moved to New York state

Error rates: 10% - 75% (telecommunication)

New York

New York

New York

44

44

01

131

908

131

Page 5: Data quality management: An introduction The data quality problems: An overview

5

Dirty data are costly

Poor data cost US businesses $611 billion annually

Erroneously priced data in retail databases cost US

customers $2.5 billion each year

1/3 of system development projects were forced to delay or

cancel due to poor data quality

30%-80% of the development time and budget for data

warehousing are for data cleaning

CIA dirty data about WMD in Iraq!

The scale of the problem is even bigger in big data!

Big data = quantity + quality!

1998

2001

2000

Page 6: Data quality management: An introduction The data quality problems: An overview

6

Far reaching impact

Telecommunication: dirty data routinely lead to – failure to bill for services– delay in repairing network problems– unnecessary lease of equipment – misleading financial reports, strategic business planning decision loss of revenue, credibility and customers

Finance, life sciences, e-government, … A longstanding issue for decades Internet has been increasing the risks, in an unprecedented

scale, of creating and propagating dirty data

Data quality: The No. 1 problem for data management

Page 7: Data quality management: An introduction The data quality problems: An overview

7

Editing a sample of census data easily took dozens of clerks months (Winkler 04, US Census Bureau)

The need for data quality tools

The market for data quality tools is growing at 17% annually

>> the 7% average of other IT segments

Discover rules

Reasoning

Detect errors

Repair

Manual effort: beyond reach in practice Data quality tools: to help automatically

2006

Page 8: Data quality management: An introduction The data quality problems: An overview

ETL (Extraction, Transformation, Loading)

for a specific domain, e.g., address data

transformation rules manually designed

low-level programs– difficult to write– difficult to maintain

sample

profiling

types of errors

transformation

rules

datadata

data

Hard to check whether these

rules themselves are dirty or

not

Access data (DB drivers, web page fetch, parsing)

Validate data (rules)

Transform data (e.g. addresses, phone numbers)

Load data

8Not very helpful when processing data with rich semantics

Page 9: Data quality management: An introduction The data quality problems: An overview

9

Dependencies: A promising approach

Errors found in practice– Syntactic: a value not in the corresponding domain or range,

e.g., name = 1.23, age = 250

– Semantic: a value representing a real-world entity different from the

true value of the entity, e.g., CIA found WMD in Iraq

Dependencies: for specifying the semantics of relational data – relation (table): a set of tuples (records)

NI# name AC phone street city zip

SC35621422 M. Smith 131 3456789 Crichton EDI EH8 9LE

SC35621422 M. Smith 020 6728593 Baker LDN NW1 6XE

How can dependencies help?

Hard to detect and fix

Page 10: Data quality management: An introduction The data quality problems: An overview

10

Data consistency

Page 11: Data quality management: An introduction The data quality problems: An overview

11

The validity and integrity of data

– inconsistencies (conflicts, errors) are typically detected as

violations of dependencies Inconsistencies in relational data

– in a single tuple

– across tuples in the same table

– across tuples in different (two or more relations) Fix data inconsistencies

– inconsistency detection: identifying errors

– data repairing: fixing the errors

Data inconsistency

Dependencies should logically become part of data cleaning process

Page 12: Data quality management: An introduction The data quality problems: An overview

12

Inconsistencies in a single tuple

country area-code phone street city zip

44 131 1234567 Mayfield NYC EH8 9LE

Inconsistency detection:

• Find all inconsistent tuples

• In each inconsistent tuple, locate the attributes with inconsistent

values

Data repairing: correct those inconsistent values such that the data

satisfies the dependencies

Error localization and data imputation

In the UK, if the area code is 131, then the city has to be EDI

Page 13: Data quality management: An introduction The data quality problems: An overview

13

Inconsistencies between two tuples

NI# determines address: for any two records, if they have the

same NI#, then they must have the same address

for each distinct NI#, there is a unique current address

NI# name AC phone street city zip

SC35621422 M. Smith 131 3456789 Crichton EDI EH8 9LE

SC35621422 M. Smith 020 6728593 Baker LDN NW1 6XE

A simple case of our familiar functional dependencies

NI# street, city, zip

for SC35621422, at least one of the addresses is not up to date

Page 14: Data quality management: An introduction The data quality problems: An overview

14

Inconsistencies between tuples in different tables

Any book sold by a store must be an item carried by the store– for any book tuple, there must exist an item tuple such that their

asin, title and price attributes pairwise agree with each other

asin title type price

a23 Harry Potter book 17.99

a12 J. Denver CD 7.94

asin isbn title price

a23 b32 Harry Potter 17.99

a56 b65 Snow white 7.94

item

book

book[asin, title, price] item[asin, title, price]

Inclusion dependencies help us detect errors across relations

Page 15: Data quality management: An introduction The data quality problems: An overview

15

What dependencies should we use?

country area-code phone street city zip

44 131 1234567 Mayfield NYC EH8 9LE

44 131 3456789 Crichton NYC EH8 9LE

01 908 3456789 Mountain Ave NYC 07974

functional dependencies (FDs)country, area-code, phone street, city, zip country, area-code city

The database satisfies the FDs, but the data is not clean!

A central problem is how to tell whether the data is dirty or clean

Dependencies: different expressive power, and different complexity

The need for new dependencies (next week)

Page 16: Data quality management: An introduction The data quality problems: An overview

16

Record matching (entity resolution)

Page 17: Data quality management: An introduction The data quality problems: An overview

17

Record matching

FN LN post phn when where amount

M. Smith 10 Oak St, EDI, EH8 9LE null 1pm/7/7/09 EDI $3,500

… … … … … … …

Max Smith PO Box 25, EDI 3256777 2pm/7/7/09 NYC $6,300

Record linkage, entity resolution, data deduplication, merge/purge, …

FN LN address tel DOB gender

Mark Smith 10 Oak St, EDI, EH8 9LE 3256777 10/27/97 M

the same person?

To identify records from unreliable data sources that refer to the same real-world entity

Page 18: Data quality management: An introduction The data quality problems: An overview

18

Why bother?

Records for card holders

World-wide losses in 2006: $4.84 billion

Transaction records

FN LN post phn when where amount

M. Smith 10 Oak St, EDI, EH8 9LE null 1pm/7/7/09 EDI $3,500

… … … … … … …

Max Smith PO Box 25, EDI 3256777 2pm/7/7/09 NYC $6,300

FN LN address tel DOB gender

Mark Smith 10 Oak St, EDI, EH8 9LE 3256777 10/27/97 M

fraud?

Data quality, data integration, payment card fraud detection, …

Page 19: Data quality management: An introduction The data quality problems: An overview

19

Nontrivial: A longstanding problem

Pairwise comparing attributes via equality only does not work!

FN LN post phn when where amount

M. Smith 10 Oak St, EDI, EH8 9LE null 1pm/7/7/09 EDI $3,500

… … … … … … …

Max Smith PO Box 25, EDI 3256777 2pm/7/7/09 NYC $6,300

FN LN address tel DOB gender

Mark Smith 10 Oak St, EDI, EH8 9LE 3256777 10/27/97 M

Real-life data are often dirty: errors in the data sources Data are often represented differently in different sources

Page 20: Data quality management: An introduction The data quality problems: An overview

20

Strike a balance between the efficiency and accuracy

– data files are often large, and quadratic time is too costly

• blocking, windowing to speed up the process

– we want the result to be accurate

• true positive, false positive, true negative, false negative real-life data is dirty

– We have to accommodate errors in data sources, and moreover, combine

data repairing and record matching matching

– records in the same files

– records in different (even distributed files)

Challenges

Record matching can also be done based on dependencies

Data variety: data fusion

Page 21: Data quality management: An introduction The data quality problems: An overview

21

Information completeness

Page 22: Data quality management: An introduction The data quality problems: An overview

22

Incomplete information: a central data quality issue

A database D of UK patients: patient (name, street, city, zip, YoB)

A simple query Q1: Find the streets of those patients who

were born in 2000 (YoB), and

live in Edinburgh (Edi) with zip = “EH8 9AB”.

Can we trust the query to find complete & accurate information?

Both tuples and values may be missing from D!

“information perceived as being needed for clinical decisions

was unavailable 13.6%--81% of the time” (2005)

Page 23: Data quality management: An introduction The data quality problems: An overview

23

Traditional approaches: The CWA vs. the OWA

The Closed World Assumption (CWA)– all the real-world objects are already

represented by tuples in the database– missing values only

Few queries can find a complete answer under the OWA

The Open World Assumption (OWA)– the database is a subset of the tuples

representing real-world objects– missing tuples and missing values

database

database

Real world

Real world

None of the CWA and the OWA is quite accurate in real life

Page 24: Data quality management: An introduction The data quality problems: An overview

24

In real-life applications

Master data (reference data): a consistent and complete repository of

the core business entities of an enterprise (certain categories)

The OWA: the part not covered by the master data

Master data

OWA

CWA

Databases in real world are often

neither entirely closed-world, nor entirely open-world

The CWA: the master data – an upper bound of the part constrained

Page 25: Data quality management: An introduction The data quality problems: An overview

25

Partially closed databases

Database D: patient (name, street, city, zip, YoB)

Partially closed:

– Dm is an upper bound of Edi patients in D with YoB > 1990

Query Q1: Find the streets of all Edinburgh patients with YoB = 2000 and

zip = “EH8 9AB”.

The database D is complete for Q1 relative to Dm

The seemingly incomplete D has complete information to answer Q1

if the answer to Q1 in D returns the streets of all patients p in Dm

with p[YoB] = 2000 and p[zip] = “EH8 9AB”.

Master data Dm: patientm(name, street, zip, YoB)

– Complete for Edinburgh patients with YoB > 1990

adding tuples to D does not

change its answer to Q1

Page 26: Data quality management: An introduction The data quality problems: An overview

26

Making a database relatively complete

Adding a single tuple t to D makes it relatively complete for Q1 if

zip street is a functional dependency on patient, and

t[YoB] = 2000 and t[zip] = “EH8 9AB”.

Make a database complete relative to master data and a query

Partially closed D: patient (name, street, city, zip, YoB)

– Dm is an upper bound of all Edi patients in D with YoB > 1990

Query Q1: Find the streets of all Edinburgh patients with

YoB = 2000 and zip = “EH8 9AB”.

Master data: patientm(name, street, zip, YoB)

The answer to Q1 in D is empty, but Dm contains tuples enquired

Page 27: Data quality management: An introduction The data quality problems: An overview

27

Relative information completeness

A theory of relative information completeness (Chapter 5)

Partially closed databases: partially constrained by master data; neither CWA nor OWA

Relative completeness: a partially closed database that has complete information to answer a query relative to master data

The completeness and consistency taken together: containment constraints

Fundamental problems:

– Given a partially closed database D, master data Dm, and a query Q, decide whether D is complete Q for relatively to Dm

– Given master data Dm and a query Q, decide whether there exists a partially closed database D that is complete for Q relatively to Dm

The connection between the

master data and application

databases: containment constraints

Page 28: Data quality management: An introduction The data quality problems: An overview

28

Data currency

28

Page 29: Data quality management: An introduction The data quality problems: An overview

29

Data currency: another central data quality issue

Data currency: the state of the data being current

Multiple values pertaining to the same entity are present The values were once correct, but they have become stale and

inaccurate Reliable timestamps are often not available

Data get obsolete quickly: “In a customer file, within two years about 50% of record may become

obsolete” (2002)

How can we tell when the data are current or stale?

Identifying stale data is

costly and difficult

Page 30: Data quality management: An introduction The data quality problems: An overview

30

Determining the currency of data

FN LN address salary status

Mary Smith 2 Small St 50k single

Mary Dupont 10 Elm St 50k married

Mary Dupont 6 Main St 80k married

Q1: what is Mary’s current salary?

Determining data currency in the absence of timestamps

Mary RobertEntities: Identified via record matching

80k Temporal constraint: salary is monotonically increasing

Page 31: Data quality management: An introduction The data quality problems: An overview

31

Dependencies for determining the currency of data

FN LN address salary status

Mary Smith 2 Small St 50k single

Mary Dupont 10 Elm St 50k married

Mary Dupont 6 Main St 80k married

Q1: what is Mary’s current salary?

80k

currency constraint: salary is monotonically increasing

For any tuples t and t’ that refer to the same entity,

• if t[salary] < t’[salary],

• then t’[salary] is more up-to-date (current) than t[salary]

Reasoning about currency constraints to determine data currency

Page 32: Data quality management: An introduction The data quality problems: An overview

32

More on currency constraints

FN LN address salary status

Mary Smith 2 Small St 50k single

Mary Dupont 10 Elm St 50k married

Mary Dupont 6 Main St 80k married

Q2: what is Mary’s current last name?

Specify the currency of correlated attributes

Dupont

Marital status only changes from single married divorced

For any tuples t and t’, if t[status] = “single” and t’[status] = “married”, then t’ [status] is more current than t[status]

Tuples with the most current marital status also have the most current last name

if t’[status] is more current than t[status], then so is t’[LN] than t’[LN]

Page 33: Data quality management: An introduction The data quality problems: An overview

33

A data currency model

Deducing data currency using constraints and partial temporal

orders

Data currency model: • Partial temporal orders, currency constraints

Fundamental problems: Given partial temporal orders,

temporal constraints and a set of tuples pertaining to the same

entity, to decide

– whether a value is more current than another?

Deduction based on constraints and partial temporal orders

– whether a value is certainly more current than another?

no matter how one completes the partial temporal orders, the value is always more current than the other

Page 34: Data quality management: An introduction The data quality problems: An overview

34

Certain current query answering

There is much more to be done (Chapter 6)

Certain current query answering: answering queries with the current values of entities (over all possible “consistent completions” of the partial temporal orders)

Fundamental problems: Given a query Q, partial temporal

orders, temporal constraints, a set of tuples pertaining to the

same entity, to decide

– whether a tuple is a certain current answer to a query?

No matter how we complete the partial temporal orders, the tuple is always in the certain current answers to QFundamental problems have been

studied; but efficient algorithms are

not yet in place

Page 35: Data quality management: An introduction The data quality problems: An overview

35

Data accuracy

35

Page 36: Data quality management: An introduction The data quality problems: An overview

Data accuracy and relative accuracy

id FN LN age job city zip

12653 Mary Smith 25 retired EDI EH8 9LE

Consistency rule: age < 120. The record is consistent. Is it accurate?

Challenge: the true value of the entity may be unknown36

data may be consistent (no conflicts), but not accurate

data accuracy: how close a value is to the true value of the entity that it represents?

Relative accuracy: given tuples t and t’ pertaining to the same entity and attribute A, decide

whether t[A] is more accurate than t’[A]

Page 37: Data quality management: An introduction The data quality problems: An overview

Determining relative accuracy

id FN LN age job city zip

12653 Mary Smith 25 retired EDI EH8 9LE

12563 Mary DuPont 65 retired LDN W11 2BQ

Question: which age value is more accurate?

Dependencies for deducing relative accuracy of attributes

37

based on context:

for any tuple t, if t[job] = “retired”, then t[age] 60

65

If we know t[job] is accurate

Page 38: Data quality management: An introduction The data quality problems: An overview

Determining relative accuracy

id FN LN age job city zip

12653 Mary Smith 25 retired EDI EH8 9LE

12563 Mary DuPont 65 retired LDN W11 2BQ

Question: which zip code is more accurate?

Semantic rules: master data 38

based on master data:

for any tuples t and master tuple s, if t[id] = s[id], then t[zip] should take the value of

s[zip]

W11 2BQ

Master data Id zip convict

12563 W11 2BQ no

Page 39: Data quality management: An introduction The data quality problems: An overview

Determining relative accuracy

id FN LN age job city zip

12653 Mary Smith 25 retired EDI EH8 9LE

12563 Mary DuPont 65 retired LDN W11 2BQ

Question: which city value is more accurate?

Semantic rules: co-existence

39

based on co-existence of attributes:

for any tuples t and t’,

• if t’[zip] is more accurate than t[zip],

• then t’[city] is more accurate than t[city]

LDN

we know that the 2nd zip

code is more accurate

Page 40: Data quality management: An introduction The data quality problems: An overview

Determining relative accuracy

id FN LN age status city zip

12653 Mary Smith 25 single EDI EH8 9LE

12563 Mary DuPont 65 married LDN W11 2BQ

Question: which last name is more accurate?

Semantic rules: data currency

40

based on data currency:

for any tuples t and t’,

• if t’[status] is more current than t[status],

• then t’[LN] is more accurate than t[LN]

DuPont

We know “married” is

more current than “single”

Page 41: Data quality management: An introduction The data quality problems: An overview

41

Computing relative accuracy

Deducing the true values of entities (Chapter 7)

An accuracy model: dependencies for deducing relative accuracy, and possibly a set of master data

Fundamental problems: Given dependencies, master data, and a

set of tuples pertaining to the same entity, to decide

– whether an attribute is more accurate than another?

– compute the most accurate values for the entity – . . .

Fundamental problems and efficient

algorithms are already in place

Reading: Determining the relative accuracy of attributes, SIGMOD 2013

Page 42: Data quality management: An introduction The data quality problems: An overview

42

Putting things together

42

Page 43: Data quality management: An introduction The data quality problems: An overview

43

The five central issues of data quality can all be modeled in terms of

dependencies as data quality rules We can study the interaction of these central issues in the same logic

framework

– we have to take all five central issues together

– These issues interact with each other

• data repairing and record matching

• data currency, record matching, data accuracy,

• … More needs to be done: data beyond relational, distributed data, big data,

effective algorithms, …

Dependencies for improving data quality

A uniform logic framework for improving data quality

Page 44: Data quality management: An introduction The data quality problems: An overview

44

Improving data quality with dependencies

Dirty data Clean Data

example applications

Customer Account Consolidation

Credit Card Fraud Detection …

Duplicate Payment Detection

Master dataMaster dataBusiness rulesBusiness rules

dependenciesValidationValidation

automatically automatically discover rulesdiscover rules

standardization

Profiling

data currency

Record matching

Cleaning

data enrichment

data accuracy

monitoring

data explorer

Page 45: Data quality management: An introduction The data quality problems: An overview

45

Opportunities

Look ahead: 2-3 years from now

Big data collection: to accumulate data

Applications on big data – to make use of big data

Data quality and data fusion systems

Without data quality systems, big data is not much of practical use!

“After 2-3 years, we will see the need for data quality systems

substantially increasing, in an unprecedented scale!”

Assumption: the data collected must be of high quality!

Big challenges, and great opportunities

Page 46: Data quality management: An introduction The data quality problems: An overview

46

Challenges

Data quality: The No.1 problem for data management

The study of data quality is still in its infancy

The study of data quality has been, however, mostly focusing on

relational databases that are not very big– How to detect errors in data of graph structures?– How to identify entities represented by graphs?– How to detect errors from data that comes from a large

number of heterogeneous sources?– Can we still detect errors in a dataset that is too large even for

a linear scan?– After we identify errors in big data, can we efficiently repair the

data?

dirty data is everywhere: telecommunication, life sciences, finance, e-government, …; and dirty data is costly!

data quality management is a must for coping with big data

Page 47: Data quality management: An introduction The data quality problems: An overview

47

The XML tree model

An XML document is modeled as a node-labeled ordered tree. Element node: typically internal, with a name (tag) and children

(subelements and attributes), e.g., student, name. Attribute node: leaf with a name (tag) and text, e.g., @id. Text node: leaf with text (string) but without a name.

db

student coursestudent course

title @cno“Eng 055”

“Spelling”

...@id name taking taking

title

“Spelling”

@cno“Eng 055”

“123”

firstName lastName

“George” “Bush”

Keys for XML?

Page 48: Data quality management: An introduction The data quality problems: An overview

48

Beyond relational keys

Absolute key: (Q, {P1, . . ., Pk} )

target path Q: to identify a target set [[Q]] of nodes on which the key is defined (vs. relation)

a set of key paths {P1, . . ., Pk}: to provide an identification for nodes

in [[Q]] (vs. key attributes) semantics: for any two nodes in [[Q]], if they have all the key paths

and agree on them up to value equality, then they must be the same node (value equality and node identity)

( //student, {@id})

( //student, {//name}) -- subelement

( //enroll, {@id, @cno})

( //, {@id}) -- infinite?

Defined in terms of path expressions

Page 49: Data quality management: An introduction The data quality problems: An overview

49

Path expressions

Path expression: navigating XML trees

A simple path language:

q ::= | l | q/q | //

: empty path

l: tag

q/q: concatenation

//: descendants and self – recursively descending downward

A small fragment of XPath

Page 50: Data quality management: An introduction The data quality problems: An overview

50

Value equality on trees

Two nodes are value equal iff either they are text nodes (PCDATA) with the same value; or they are attributes with the same tag and the same value; or they are elements having the same tag and their children are

pairwise value equal

...

db

person personperson person

@pnone

“234-5678”@phone name

“123-4567”

name

firstName lastName

“George” “Bush”

name

firstName lastName

“George” “Bush”“JohnDoe”

Two types of equality: value and node

Page 51: Data quality management: An introduction The data quality problems: An overview

51

The semistructured nature of XML data

independent of types – no need for a DTD or schema

no structural requirement: tolerating missing/multiple paths

(//person, {name}) (//person, {name, @phone})db

person personperson person

@pnone

“234-5678”@phone name

“123-4567”

name

firstName lastName

“George” “Bush”

name

firstName lastName

“George” “Bush”

“JohnDoe”

Contrast this with relational keys

Page 52: Data quality management: An introduction The data quality problems: An overview

52

New challenges of hierarchical XML data

How to identify in a document

a book?

a chapter?

a section?

db

book bookbook book

title chapter

“XML”

chapter

section section

“1” “Bush, a C student,...”

“6”

number section

number text number

“10”

number

“1” number

“1”

section

number

“5”

title chapter

“SGML” number

“1”

chapter

number

“10”

Page 53: Data quality management: An introduction The data quality problems: An overview

53

Relative constraints

Relative key: (Q, K) path Q identifies a set [[Q]] of nodes, called the context;

k = (Q’, {P1, . . ., Pk} ) is a key on sub-documents rooted at

nodes in [[Q]] (relative to Q).

Example. (//book, (chapter, {number}))

(//book/chapter, (section, {number}))

(//book, {title}) -- absolute key

Analogous to keys for weak entities in a relational database: the key of the parent entity an identification relative to the parent entity

context

Page 54: Data quality management: An introduction The data quality problems: An overview

54

Examples of XML constraints

absolute (//book, {title})

relative (//book, (chapter, {number}))

relative (//book/chapter, (section, {number}))db

book bookbook book

title chapter

“XML”

chapter

section section

“1” “Bush, a C student,...”

“6”

number section

number text number

“10”

number

“1” number

“1”

section

number

“5”

title chapter

“SGML” number

“1”

chapter

number

“10”

Page 55: Data quality management: An introduction The data quality problems: An overview

55

Keys for XML

Absolute keys are a special case of relative keys: (Q, K) when Q is the empty path

Absolute keys are defined on the entire document, while relative keys are scoped within the context of a sub-document

Important for hierarchically structured data: XML, scientific databases, …

absolute (//book, {title})

relative (//book, (chapter, {number}))

relative (//book/chapter, (section, {number}))

XML keys are more complex than relational keys!

Now, try to define keys for graphs

Page 56: Data quality management: An introduction The data quality problems: An overview

56

Summary and Review

Why do we have to worry about data quality?

What is data consistency? Give an example

What is data accuracy?

What does information completeness mean?

What is data currency (timeliness)?

What is entity resolution? Record matching? Data deduplication?

What are central issues for data quality? How should we handle these

issues?

What are new challenges introduced by big data to data quality

management?

Page 57: Data quality management: An introduction The data quality problems: An overview

57

Project (1)

Keys for graphs are to identify vertices in a graph that refer to the same real-world entity. Such keys may involve both value bindings (e.g., the same email) and topological constraints (e.g., a certain structures of the neighbor of a node)Propose a class of keys for graphsJustify the definitions of your keys in terms of

• expressive power: able to identify entities commonly found in some applications

• Complexity: for identifying entities in a graph by using your keys

Give an algorithm that, given a set of keys and a graph, identify all pairs of vertices that refer to the same entity based on the keysExperimentally evaluate your algorithm

57A research project

Page 58: Data quality management: An introduction The data quality problems: An overview

58

Projects (2)

Pick one of the record matching algorithms discussed in the survey:

A. K. Elmagarmid, P. G. Ipeirotis, V. S. Verykios. Duplicate Record Detection: A Survey. TKDE 2007. http://homepages.inf.ed.ac.uk/wenfei/tdd/reading/tkde07.pdf

Implement the algorithm in MapReduce Prove the correctness of your algorithm, give complexity analysis

and provide performance guarantees, if any Experimentally evaluate the accuracy, efficiency and scalability

of your algorithm

A development project 58

Page 59: Data quality management: An introduction The data quality problems: An overview

59

Project (3)

Write a survey on ETL systems

Develop a good understanding on the topic

Survey:• A set of 5-6 existing ETL systems• A set of criteria for evaluation• Evaluate each system based on the criteria• Make recommendation: which system to use in the context

of big data? How to improve it in order to cope with big data?

59

Page 60: Data quality management: An introduction The data quality problems: An overview

Reading for the next weekhttp://homepages.inf.ed.ac.uk/wenfei/publication.html

60

1. W. Fan, F. Geerts, X. Jia and A. Kementsietsidis. Conditional Functional Dependencies for Capturing Data Inconsistencies, TODS, 33(2), 2008.

2. L. Bravo, W. Fan. S. Ma. Extending dependencies with conditions. VLDB 2007.

3. W. Fan, J. Li, X. Jia, and S. Ma. Dynamic constraints for record matching, VLDB, 2009.

4. L. E. Bertossi, S. Kolahi, L.Lakshmanan: Data cleaning and query answering with matching dependencies and matching functions, ICDT 2011. http://people.scs.carleton.ca/~bertossi/papers/matchingDC-full.pdf

5. F. Chiang and M. Miller, Discovering data quality rules, VLDB 2008. http://dblab.cs.toronto.edu/~fchiang/docs/vldb08.pdf

6. L. Golab, H. J. Karloff, F. Korn, D. Srivastava, and B. Yu, On generating near-optimal tableaux for conditional functional dependencies, VLDB 2008. http://www.vldb.org/pvldb/1/1453900.pdf