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

Podobne dokumenty