Wprowadzenie do zagadnienia Data Cleaning
Transkrypt
Wprowadzenie do zagadnienia Data Cleaning
Wprowadzenie do zagadnienia Data Cleaning Łukasz Ciszak Instytut Informatyki Politechniki Warszawskiej 11.06.2008 Agenda ► Definicje ► Klasyfikacja ► Rozwiązania 2008-06-11 Wprowadzenie do Data Cleaning 2 Definicje 2008-06-11 Wprowadzenie do Data Cleaning 3 Definicje Mówimy o danych wysokiej jakości, jeśli są poprawnym odwzorowaniem obiektów świata rzeczywistego, których dotyczą. 2008-06-11 Wprowadzenie do Data Cleaning 4 Definicje ► Dane 2008-06-11 wysokiej jakości: (miary) Pełne (Complete) Poprawne (Valid) Spójne (Consistent) Aktualne (Timely) Dokładne (Accurate) Istotne (Relevant) Dostępne i interpretowalne (Accessibility/interpretability) Wprowadzenie do Data Cleaning 5 Definicje ► „25% of critical data within Fortune 1000 companies will continue to be inaccurate through 2007. Poor quality customer data costs U.S. business an estimated $611 billion dollars a year in postage, printing, and staff overhead.” Raport Gartner Inc., 2005 2008-06-11 Wprowadzenie do Data Cleaning 6 Definicje ► „Data quality is the reliability and effectiveness of data, particularly in a data warehouse. Maintaining data quality requires going through the data periodically and scrubbing it” 2008-06-11 Wprowadzenie do Data Cleaning 7 Definicje ► Czyszczenie danych (data cleaning, data cleansing, data scrubbing) to proces wykrywania i usuwania błędów w danych w celu zapewnienia, Ŝe dane są wysokiej jakości. ► „Computational processing to remove noise and artifacts from digital data prior to storage.” ► „Data cleaning is the process of improving the quality of the data by modifying its form or content, for example, by removing or correcting erroneous data values.” „MineSet Enterprise Edition User's Guide” 2008-06-11 Wprowadzenie do Data Cleaning 8 Definicje ► Gdzie się z tego korzysta: MDM DW OLTP ► Po co to jest potrzebne: Garbage Input – Garbage Output 2008-06-11 Wprowadzenie do Data Cleaning 9 Definicje ► Przykłady 2008-06-11 z praktyki zwroty korespondencji, obsługa rezygnacji lotnicy, podwójne kredyty. Wprowadzenie do Data Cleaning 10 Klasyfikacja błędów danych 2008-06-11 Wprowadzenie do Data Cleaning 11 Definicje Problemy jakości danych Problemy dla jednego źródła Poziom modelu danych 2008-06-11 Poziom rekordu Problemy dla wielu źródeł Poziom modelu danych Wprowadzenie do Data Cleaning Poziom rekordu 12 Definicje ► Błędy na poziomie modelu danych (1 źródło): Przyczyny ►Brak więzów integralności ►Nieumiejętny projekt bazy Konsekwencje ►Nieunikalność ►Złamane więzy integralności ►Sprzeczne dane 2008-06-11 Wprowadzenie do Data Cleaning 13 Definicje ► Niedopuszczalne wartości Data urodzenia: 30.13.1970 ► ZaleŜności między atrybutami Data urodzenia: 1970; Wiek: 15 ► Nieunikalność R1={ID=100; Nazwisko=X} R2={ID=100; Nazwisko=Y} ► Więzy referencyjne Wydział: 25 (nieistniejący) 2008-06-11 Wprowadzenie do Data Cleaning 14 Definicje ► Błędy na poziomie rekordu (1 źródło) Przyczyna: ►błędy wprowadzania danych Konsekwencje ►Niepoprawny zapis (literówki, błędy ortograficzne, przestawienia, OCR) ►Duplikaty / nadmiarowość 2008-06-11 Wprowadzenie do Data Cleaning 15 Definicje ► Brakujące wartości Telefon: 999-999-9999 ► Błędna pisownia: Miasto: Baiłystok, Łudź, Warsxawa ► Niejasne znaczenie: Doświadczenie: B ► Połączone wartości: Nazwisko: „Stefan Batory” ► Źle umieszczone wartości: miasto: mazowieckie 2008-06-11 Wprowadzenie do Data Cleaning 16 Definicje ► ZaleŜności między atrybutami Miasto: Pruszków, województwo: podlaskie ► Przestawienia: Imie_i_Nazwisko1: „Anna Nowak”; imie_i_Nazwisko2: „Kowalski Jan” ► Duplikaty: R1={„Jan Nowak”,...} R2={„J. Nowak”,...} ► Sprzeczne rekordy: R1={„Jan Nowak”,”09.03.1981”,...} R2={„Jan Nowak”,”03.09.1981”,...} ► Błędne referencje: R1={„Jan Nowak”,17} 2008-06-11 Wprowadzenie do Data Cleaning 17 Definicje ► Błędy na poziomie modelu danych (wiele źródeł): Przyczyny ► RóŜne modele danych Konsekwencje ► Konflikty nazewnicze homonimy synonimy ► Konflikty strukturalne róŜne modele danych, róŜne typy danych, róŜne więzy integralności. 2008-06-11 Wprowadzenie do Data Cleaning 18 Definicje ► Błędy na poziomie rekordu Występują wszystkie błędy związane z pojedynczymi źródłami danych RóŜne reprezentacje tych samych danych (domeny, poziomy agregacji, jednostki, róŜne daty powstania danych) Te same rekordy w dwóch róŜnych bazach 2008-06-11 Wprowadzenie do Data Cleaning 19 Definicje 2008-06-11 Wprowadzenie do Data Cleaning 20 Rozwiązania 2008-06-11 Wprowadzenie do Data Cleaning 21 Rozwiązania Obszary czyszczenia danych: ► Wykrywanie duplikatów ► transformacje schematów ► Standaryzacja danych ► Poprawa danych 2008-06-11 Wprowadzenie do Data Cleaning 22 Rozwiązania ► Wymagania dla rozwiązań czyszczenia danych Wykrywać i usuwać wszystkie powaŜne błędy i niespójności danych pochodzących zarówno z jednego, jak i wielu źródeł Powinno być wykonywane automatycznie w celu ograniczenia ludzkiej interwencji Rozszerzalne Powiązane z metadanymi. Wiarygodne i wydajne 2008-06-11 Wprowadzenie do Data Cleaning 23 Rozwiązania 2008-06-11 Wprowadzenie do Data Cleaning 24 Rozwiązania ► Kroki czyszczenia danych: Analiza danych (profilowanie) Definicja transformacji Weryfikacja Transformacja danych Propagacja poprawnych danych wstecz Monitorowanie jakości danych 2008-06-11 Wprowadzenie do Data Cleaning 25 Rozwiązania ► Profilowanie danych (profiling) Niedopuszczalne wartości ► Kardynalność wartości ► max, min ► Wariancja, odchylenie standardowe Błędny zapis ► Wartości atrybutów - sortowanie Brakujące wartości ► null ► Wartości domyślne RóŜniące się wartości kolumn ► Wartości tego samego atrybutu z innej tabeli Duplikaty ► Kardynalność 2008-06-11 + unikalność Wprowadzenie do Data Cleaning 26 Rozwiązania ► Transformacje Ekstrakcja wartości Standaryzacja Walidacja/poprawa błędów ►Ekrany 2008-06-11 standaryzacyjne Geocoding Wykrywanie duplikatów Normalizacja/denormalizacja Agregacja Wprowadzenie do Data Cleaning 27 Rozwiązania ► Transformacje Narzędzia ETL ►Informatica, DataStage, AbInitio, OWB,... Baza danych ►Widoki ►Procedury 2008-06-11 składowane Wprowadzenie do Data Cleaning 28 Rozwiązania ► Pomysły Zastosowanie metod data mining do automatycznej generacji ekranów standaryzacyjnych Zastosowanie grupowania do znajdywania duplikatów Zastosowanie data mining do klasyfikacji duplikatów 2008-06-11 Wprowadzenie do Data Cleaning 29 Bibliografia „The Data Warehouse ETL Toolkit ”, Ralph Kimball, Joe Caserta „The Data Warehouse Toolkit”, Ralph Kimball, Margy Ross „Data Cleaning: Problems and Current Approaches”, Erhard Rahm, Hong Hai Do „Data Quality and Record Linkage Techniques ”, Thomas N. Herzog, Fritz J. Scheuren, William E. Winkler 2008-06-11 Wprowadzenie do Data Cleaning 30 Dziękuję za uwagę.