ZASTOSOWANIE STRUKTUR RELACYJNO
Transkrypt
ZASTOSOWANIE STRUKTUR RELACYJNO
Zastosowanie struktur relacyjnorelacyjno-obiektowych do przechowywania masowych danych pomiarowych ZASTOSOWANIE STRUKTUR RELACYJNORELACYJNO-OBIEKTOWYCH DO PRZECHOWYWANIA MASOWYCH DANYCH POMIAROWYCH Wprowadzenie: baza DCDB – założenia i architektura Dane pomiarowe w DCDB Założenia badań zastosowania struktur relacyjno-obiektowych Wyniki badań Tomasz Traczyk Podsumowanie [email protected] Karol Stanisł Stanisławek [email protected] Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Automatyki i Informatyki Stosowanej Zastososowanie struktur relacyjnorelacyjno-obiektowych... KKNTPD'05 Baza DCDB Eksperyment ALICE (A Large Ion Collider Experiment) • Miejsce – Europejskie Centrum Badań Jądrowych CERN (Genewa) • Cel – badanie właściwości materii w warunkach zderzeń jonów o wielkich energiach • Aparatura – nowy akcelerator LHC (Large Hadron Collider) ♦ 4 wielkie detektory – detektor ALICE ♦ zespół subdetektorów ♦ miliony komponentów! 2 Użycie DCDB Baza DCDB (Detector Construction Database) Bazy satelickie • Ładowane przez oprogramowanie pomiarowe • Niekiedy dane edytowane „ręcznie” • Używane w czasie produkcji komponentów – docelowo do likwidacji • Gromadzi dane o – budowie detektora – jego częściach składowych • Cechy bazy – rozproszona (kilkadziesiąt ośrodków) – heterogeniczna (Oracle + PostgreSQL) – o generycznej strukturze Baza centralna • Ładowana wsadowo – transfery z baz satelickich • Odpytywana interaktywnie – zaawansowane wyszukiwanie – analizy danych • Bardzo rzadko dane edytowane „ręcznie” Centralna b.d. Aplikacje • Składniki – edytor metadanych Dictionary Wizard – oprogramowanie pomiarowe (LabView + LabServer) – aplikacja główna RABBIT – system transferu danych • Technologia – dostęp przez WWW – JSP + Struts – analizy danych: pakiet Root (CERN) – transfery danych w XML (obecnie wdrażany protokół SOAP) Satelickie b.d. Zastososowanie struktur relacyjnorelacyjno-obiektowych... KKNTPD'05 3 Zastososowanie struktur relacyjnorelacyjno-obiektowych... KKNTPD'05 4 Dane pomiarowe w DCDB Dane pomiarowe w DCDB • Cele – rejestrują wyniki testów komponentów detektora – mają zasadnicze znaczenie dla poprawności interpretacji przyszłych wyników • Postać – wirtualna tablica – kolumny odpowiadają torom pomiarowym – wiersze odpowiadają punktom pomiarowym Wprowadzenie: baza DCDB – założenia i architektura Dane pomiarowe w DCDB Założenia badań zastosowania struktur relacyjno-obiektowych Wyniki badań Podsumowanie Generyczna realizacja relacyjna DEFINITIONS_OF_PROCESSES DETECTOR_CODE COMPONENT_TYPES DETECTOR_CODE TYPE_CODE DPR_CT_FK PROCESS_CODE NAME PROCESS_TYPE TYPE_CODE IS_ACTIVE NAME IS_ACTIVE SEQUENTIAL_NO DESCRIPTION VT_MAX_ROWS DESCRIPTION IS_VIRTUAL PROCESS_CODE_BELONGS_TO COM_CT_FK PRO_DPR_FK DVC_DPR_FK PROCESSES COMPONENTS DEFINITIONS_OF_VT_COLUMNS DETECTOR_CODE DETECTOR_CODE DETECTOR_CODE LAB_CREATED_BY TYPE_CODE PROCESS_CODE COMPONENT_ID COMPONENT_ID ORIGIN_CODE CATEGORY COMPONENT_NO TYPE_CODE IS_VIRTUAL MANUFACTURER_CODE DATABASE_CODE LOCAL_ID SERIAL_NUMBER PRODUCTION_DATE DESCRIPTION PRO_COM_FK TYPE_CODE PROCESS_CODE COLUMN_NO PROCESS_DATE DATA_TYPE_CODE IS_VALID IS_ACTIVE IS_DELETED COLUMN_TYPE PROCESS_CHANGE_NO LABEL UPLOAD_PROCESS_CHANGE_NO UNITS_OF_MEASURE MANUFACTURER_CODE DESCRIPTION DESCRIPTION PROCESS_DATE_BELONGS_TO PROCESS_CODE_BELONGS_TO PVA_PRO_FK PVA_DVC_FK PROCESS_VALUES DETECTOR_CODE COMPONENT_ID TYPE_CODE PROCESS_CODE PROCESS_DATE COLUMN_NO ROW_NO VALUE Zastososowanie struktur relacyjnorelacyjno-obiektowych... KKNTPD'05 5 Zastososowanie struktur relacyjnorelacyjno-obiektowych... KKNTPD'05 6 Dane pomiarowe w DCDB, c.d. Przechowywanie danych pomiarowych • Pierwsze podejście: naiwna struktura r-o – całe tablice wyników pomiarów – trudne operowanie na bazie – nienadzwyczajna wydajność (zwłaszcza w PostgreSQL) • Obecnie: struktura czysto relacyjna – każdy punkt pomiarowy w osobnym wierszu tabeli – łatwe operowanie na bazie – bardzo duże zużycie przestrzeni dyskowej (zwłaszcza w PostgreSQL) • Przyszłość: zoptymalizowana struktura r-o – badania na Oracle wykonane – badania na PostgreSQL w toku Trudności • Bardzo duża ilość danych – w czasie badań ♦ > 1 mln testów ♦ > 200 mln punktów pomiarowych – spodziewany przyrost ♦ ok. 10 razy • Wielkie rozmiary indeksów Wprowadzenie: baza DCDB – założenia i architektura Dane pomiarowe w DCDB Założenia badań zastosowania struktur relacyjno-obiektowych Wyniki badań Użyte rozwiązania dla VLDB (Oracle) • Partycjonowanie tabel • Tabele zorganizowane indeksowo (index organized tables) – z kompresją indeksu Zastososowanie struktur relacyjnorelacyjno-obiektowych... KKNTPD'05 Podsumowanie 7 Zastososowanie struktur relacyjnorelacyjno-obiektowych... KKNTPD'05 8 Założenia badań Cele do osiągnięcia Badane struktury (Oracle) • Mniejsze zużycie pamięci dyskowej – mniejsze koszty – mniejsze trudności w administrowaniu • Krótsze czasy ładowania danych – nadążanie za napływem danych – uniknięcie niepokoju użytkowników • Dobra wydajność typowych zapytań – możliwość efektywnej pracy fizyków • Relacyjna – komórkami • Nested table – kolumnami • Nested table – wierszami » badanie porzucono • Nested table – komórkami • Varying array – kolumnami • Varying array – wierszami • Varying array w varying array – kolumnami • Nested table w nested table – kolumnami • Varying array w nested table – kolumnami Wprowadzenie: baza DCDB – założenia i architektura Dane pomiarowe w DCDB Założenia badań zastosowania struktur relacyjno-obiektowych Wyniki badań Podsumowanie Badane operacje • • • • • • Ładowanie danych Wyszukiwanie wszystkich danych komponentu Tworzenie histogramu wyników pomiarów Uśrednianie wartości pomiaru Wyszukiwanie kolumn Modyfikacja danych Zastososowanie struktur relacyjnorelacyjno-obiektowych... KKNTPD'05 9 Zastososowanie struktur relacyjnorelacyjno-obiektowych... KKNTPD'05 Wyniki badań Wyniki badań, c.d. Ładowanie danych • Ładowanie danych do tabel bazy centralnej • Kryteria – czas ładowania – objętość danych • Wyniki – najlepsze: varying arrays kolumnami – najgorsze: reprezentacje wierszami – odrzucone: nested table wierszami Wyszukanie całego testu Czas ładowania Relacyjne P V0 NT komórkami P V3 NT kolumnami P V1 VA kolumnami P V4 VA wierszami VA w VA kolumnami NT w NT kolumnami VA w NT kolumnami • Zapytanie zwracające wszystkie wyniki – jednego testu – dla jednego komponentu • Kryterium – czas wykonania P V5 P V6 P V8 500 1000 1500 2000 2500 m in . Objętość danych Relacyjne P V0 NT komórkami P V3 VA kolumnami VA wierszami VA w VA kolumnami NT w NT kolumnami VA w NT kolumnami Relacyjne NT kolumnami NT komórkami VA kolumnami VA wierszami VA w VA kolumnami NT w NT kolumnami VA w NT kolumnami P V7 0 NT kolumnami 10 P V4 Wsz ystko In d e ksy P V5 P V6 P V7 • Wyniki – najlepsze: relacyjne i nested table – najgorsze: wierszami P V8 - 5 000 10 000 15 000 MB Zastososowanie struktur relacyjnorelacyjno-obiektowych... KKNTPD'05 • Zapytanie liczące histogram – jednego parametru – dla wszystkich komponentów jednego typu 11 PV1 PV3 PV4 PV5 PV6 PV7 PV8 0,001 • Wyniki – najlepsze: varying array kolumnami – najgorsze: nested table w nested table Histogramowanie P V1 PV0 0,01 0,1 1 10 100 1000 10000 s ek. (log) Relacyjne NT kolumnami NT komórkami VA kolumnami VA wierszami VA w VA kolumnami NT w NT kolumnami VA w NT kolumnami PV0 PV1 PV3 PV4 PV5 PV6 PV7 PV8 0 0,2 Zastososowanie struktur relacyjnorelacyjno-obiektowych... KKNTPD'05 0,4 0,6 0,8 1 1,2 s ek. 12 Wyniki badań, c.d. Tworzenie wykresu • Zapytanie wyszukujące wyniki pomiaru – jednego toru pomiarowego (kolumny) – dla jednego testu – dla jednego komponentu • Wyniki – najlepsze: varying array kolumnami – najgorsze: wierszami Modyfikacja danych • Zmiana pojedynczej „komórki” danych • Wyniki – najlepsze: relacyjne i nested table – najgorsze: varying array w varying array Relacyjne NT kolumnami NT komórkami VA kolumnami VA wierszami P V0 P V1 P V4 P V5 VA w VA kolumnami P V6 VA w NT kolumnami P V8 NT w NT kolumnami Wprowadzenie: baza DCDB – założenia i architektura P V3 Dane pomiarowe w DCDB P V7 0,00100 0,01000 Założenia badań zastosowania struktur relacyjno-obiektowych 0,10000 s ek. (log) Wyniki badań Relacyjne Podsumowanie NT kolumnami PV1 VA kolumnami PV4 VA w VA kolumnami PV6 VA w NT kolumnami PV8 NT komórkami VA wierszami NT w NT kolumnami 0,000 0,002 0,004 0,006 s ek. 0,008 Zastososowanie struktur relacyjnorelacyjno-obiektowych... KKNTPD'05 0,010 0,012 13 Zastososowanie struktur relacyjnorelacyjno-obiektowych... KKNTPD'05 14 Podsumowanie Wyniki badań • Stosując odpowiednio dobrane struktury r-o można – znacznie zredukować czas ładowania i objętość danych pomiarowych DCDB – zachowując dobrą wydajność typowych zapytań • Wyniki badań nie dają jednoznacznej odpowiedzi co do wyboru struktury – nie ma lidera we wszystkich „konkurencjach” – trzeba jeszcze wziąć pod uwagę ♦ dodatkowe czynniki techniczne ♦ wyniki badań dla PostgreSQL – wskazanie na reprezentację varying array kolumnami Zastosowanie struktur relacyjno-obiektowych do przechowywania masowych danych pomiarowych Dalsze prace • Dalsze badania na Oracle – wpływ innych czynników: partycjonowanie, indeksowanie • Dokończenie badań na PostgreSQL • Wybór struktury i konwersja danych na obu platformach • Dostosowanie aplikacji do struktur r-o i testy zmienionej aplikacji • Ostateczna akceptacja Zastososowanie struktur relacyjnorelacyjno-obiektowych... KKNTPD'05 15 Zastososowanie struktur relacyjnorelacyjno-obiektowych... KKNTPD'05 16