Outline 0) Course Info 1) Introduction 2) Data Preparation and Cleaning 3) Schema mappings and Virtual Data Integration 4) Data Exchange 5) Data Warehousing 6) Big Data Analytics 7) Data Provenance 1 CS520 - Course Info
About me I am a database guy! Hi, I am Boris Glavic, Assistant Professor in CS I will teach you: database stuff 2 CS520 - Course Info
What is information integration? • Combination of data and content from multiple sources into a common format – Completeness – Correctness – Efficient ¡ User ¡ Integra(on ¡System ¡ Word ¡ XML/ ¡ Web ¡ Web ¡ Sensor ¡ DB ¡ doc ¡ JSON ¡ service ¡ form ¡ ¡ 3 CS520 - Course Info
Why Information Integration? • Data is already available, right? • …, but • Heterogeneity – Structural • Data model (relational, XML, unstructured) • Schema (if there) – Semantic • Naming and identity conflicts • Data conflicts – Syntactic • Interfaces (web form, query language, binary file) 4 CS520 - Course Info
Why Information Integration? • Autonomy – Sources may not give you unlimited access • Web form only support a fixed format of queries • Does not allow access to unlimited amounts of data – Source may not be available all the time • Naming and identity conflicts • Data conflicts – Data, schema, and interfaces of sources may change • Potentially without notice 5 CS520 - Course Info
“Real World” Examples? • Portal websites – Flight websites (e.g., Expedia) gather data from multiple airlines, hotels • Google News – Integrates information from a large number of news sources • Science: – Biomedical data source • Business – Warehouses: integrate transactional data 6 CS520 - Course Info
Example Integration Problem [1] ¡Steps ¡ • Integrate stock ticker data 1) Interfaces ¡ from two web services A and 2) Schema ¡integra(on ¡ 3) Translate ¡queries ¡ B 4) Op(miza(on ¡ 5) Send ¡queries ¡to ¡ – Service A : Web form sources ¡ 6) Gather ¡query ¡results ¡ (Company name, year) 7) En(ty ¡resolu(on ¡ 8) Fusion ¡ – Service B : Web form 9) Return ¡final ¡results ¡ (year) 7 CS520 - Course Info
Example Integration Problem [2] ¡Steps ¡ • Service A : 1) Interfaces ¡ 2) Schema ¡integra(on ¡ <Stock> 3) Translate ¡queries ¡ <Company>IBM</Company> 4) Op(miza(on ¡ <DollarValue>155.8</DollarValue> 5) Send ¡queries ¡to ¡ <Month>12</Month> sources ¡ </Stock> 6) Gather ¡query ¡results ¡ 7) En(ty ¡resolu(on ¡ • Service B : 8) Fusion ¡ 9) Return ¡final ¡results ¡ <Stock> <Company>International Business Machines</Company> <Date>2014-08-01</Date> <Value>106.8</Value> <Currency>Euro</Currency> </Stock> 8 CS520 - Course Info
Example Integration Problem [2] ¡Steps ¡ • Service A : 1) Interfaces ¡ 2) Schema ¡integra(on ¡ <Stock> 3) Translate ¡queries ¡ <Company> 4) Op(miza(on ¡ <DollarValue> 5) Send ¡queries ¡to ¡ <Month> sources ¡ </Stock> 6) Gather ¡query ¡results ¡ 7) En(ty ¡resolu(on ¡ • Service B : 8) Fusion ¡ 9) Return ¡final ¡results ¡ <Stock> <Company> <Date> <Value> <Currency> </Stock> 9 CS520 - Course Info
Example Integration Problem [2] ¡Steps ¡ • Service A : 1) Interfaces ¡ 2) Schema ¡integra(on ¡ <Stock> 3) Translate ¡queries ¡ <Company> 4) Op(miza(on ¡ <DollarValue> 5) Send ¡queries ¡to ¡ Global Schema <Month> sources ¡ </Stock> <Stock> 6) Gather ¡query ¡results ¡ <Company> 7) En(ty ¡resolu(on ¡ • Service B : <Value> 8) Fusion ¡ <Month> 9) Return ¡final ¡results ¡ <Stock> <Year> </Stock> <Company> <Date> <Value> <Currency> </Stock> 10 CS520 - Course Info
Example Integration Problem [3] ¡Steps ¡ • SQL interface for integrated 1) Interfaces ¡ service 2) Schema ¡integra(on ¡ 3) Translate ¡queries ¡ 4) Op(miza(on ¡ SELECT month, value 5) Send ¡queries ¡to ¡ FROM ticker sources ¡ 6) Gather ¡query ¡results ¡ WHERE year = 2014 7) En(ty ¡resolu(on ¡ 8) Fusion ¡ AND cmp = ‘IBM’ 9) Return ¡final ¡results ¡ • Service A: (IBM, 2014) • Service B: (2014) 11 CS520 - Course Info
Example Integration Problem [4] ¡Steps ¡ • For web service A we can 1) Interfaces ¡ either 2) Schema ¡integra(on ¡ 3) Translate ¡queries ¡ – Get stocks for IBM in all years 4) Op(miza(on ¡ 5) Send ¡queries ¡to ¡ – Get stocks for all companies in sources ¡ 6) Gather ¡query ¡results ¡ 2014 7) En(ty ¡resolu(on ¡ 8) Fusion ¡ – Get stocks for IBM in 2014 9) Return ¡final ¡results ¡ • Trade-off between amount of processing that we have to do locally, amount of data that is shipped, … 12 CS520 - Course Info
Example Integration Problem [5] ¡Steps ¡ • Service A : (IBM, 2014) 1) Interfaces ¡ 2) Schema ¡integra(on ¡ • Service B : (2014) 3) Translate ¡queries ¡ 4) Op(miza(on ¡ 5) Send ¡queries ¡to ¡ sources ¡ 6) Gather ¡query ¡results ¡ 7) En(ty ¡resolu(on ¡ 8) Fusion ¡ 9) Return ¡final ¡results ¡ 13 CS520 - Course Info
Example Integration Problem [6] ¡Steps ¡ • Service A : 1) Interfaces ¡ 2) Schema ¡integra(on ¡ <Stock> 3) Translate ¡queries ¡ <Company>IBM</Company> 4) Op(miza(on ¡ 5) Send ¡queries ¡to ¡ <DollarValue>155.8</DollarValue> sources ¡ <Month>12</Month> 6) Gather ¡query ¡results ¡ … 7) En(ty ¡resolu(on ¡ • Service B : 8) Fusion ¡ 9) Return ¡final ¡results ¡ <Stock> <Company>International Business Machines</Company> <Date>2014-12-01</Date> <Value>106.8</Value> <Currency>Euro</Currency> … 14 CS520 - Course Info
Example Integration Problem [7] ¡Steps ¡ • IBM vs. Integrated Business 1) Interfaces ¡ Machines 2) Schema ¡integra(on ¡ 3) Translate ¡queries ¡ 4) Op(miza(on ¡ 5) Send ¡queries ¡to ¡ sources ¡ 6) Gather ¡query ¡results ¡ 7) En(ty ¡resolu(on ¡ 8) Fusion ¡ 9) Return ¡final ¡results ¡ 15 CS520 - Course Info
Example Integration Problem [8] ¡Steps ¡ • Granularity of time attribute 1) Interfaces ¡ 2) Schema ¡integra(on ¡ – Month vs. data 3) Translate ¡queries ¡ 4) Op(miza(on ¡ • What if both services return 5) Send ¡queries ¡to ¡ different values (after sources ¡ 6) Gather ¡query ¡results ¡ adapting granularity) 7) En(ty ¡resolu(on ¡ 8) Fusion ¡ – Average? 9) Return ¡final ¡results ¡ – Median? – Trust-based? 16 CS520 - Course Info
Example Integration Problem [9] ¡Steps ¡ • Return final results: 1) Interfaces ¡ 2) Schema ¡integra(on ¡ <Stock> 3) Translate ¡queries ¡ <Month>01</Month> 4) Op(miza(on ¡ <Value>105</Value> 5) Send ¡queries ¡to ¡ </Stock> sources ¡ … 6) Gather ¡query ¡results ¡ 7) En(ty ¡resolu(on ¡ <Stock> 8) Fusion ¡ <Month>12</Month> 9) Return ¡final ¡results ¡ <Value>107</Value> </Stock> 17 CS520 - Course Info
Why hard? • System challenges – Different platforms (OS/Software) – Efficient query processing over multiple heterogeneous systems • Social challenges – Find relevant data – Convince people to share their data • Heterogeneity of data and schemas – A problem that even exists if we use same system 18 CS520 - Course Info
Why hard? Cont. • Often called AI-complete – Meaning: “It requires human intelligence to solve the problem” – Unlikely that general completely automated solutions will exit • So why do we still sit here – There exist automated solutions for relevant less general problems – Semi-automated solutions can reduce user effort (and may be less error prone) 19 CS520 - Course Info
AI completeness • Yes, but still why is this problem really so hard? – Lack of information : e.g., the attributes of a database schema have only names and data types, but no computer interpretable information on what type of information is stored in the attribute – Undecidable computational problems : to decide whether a user query can be answered from a set of sources that provide different views on the data requires query containment checks which are undecidable for certain query types 20 CS520 - Course Info
Relevant less general problems • Data cleaning : – Clean dirty data before integration – Conformance with a set of constraints – Deal with missing and outlier values • Entity resolution – Determine which objects from multiple dataset represent the same real world entity • Data fusion – Merge (potentially conflicting) data for the same entity 21 CS520 - Course Info
Recommend
More recommend