outline
play

Outline 0) Course Info 1) Introduction 2) Data Preparation and - PowerPoint PPT Presentation

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


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. “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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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