Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. Promotor: dr inż. Adam Piórkowski Autorzy: Jakub Osiadacz Marcin Wróbel
Plan prezentacji Magazynowanie obrazów Przetwarzanie obrazów Cel pracy Cel pracy Zakres pracy Zakres pracy Metodyka badań Metodyka badań Prezentacja wyników Prezentacja wyników Wnioski Wnioski Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 2
Cel pracy Porównanie wydajności: Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 3
Zakres pracy Testy wydajności MySQL, PostgreSQL, Oracle, MSSQL Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 4
Zakres pracy BLOB - typ danych, który umożliwia przechowywanie dużych ilości danych binarnych jako pojedynczy obiekt w bazie danych, stosowany w szczególności do przechowywania danych multimedialnych, takich jak grafika, muzyka czy filmy. 2 GB 2 GB 4 GB 4 GB Rozmiary obrazów użytych w testach wydajnościowych: 1 MB 5 MB 10 MB 50 MB 100 MB 200 MB Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 5
Zakres pracy Zdjęcie satelitarne Ziemi wykonane w nocy. Mapa geologiczna Polski. Mapa osadów powierzchniowych dna Bałtyku. Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 6
Metodyka badań Środowisko sprzętowe: Procesor: Intel Pentium 4 CPU 2.00 GHz Pamięć: 512 MB RAM Karta graficzna: nvidia GeForce FX 5200 Dysk twardy: SAMSUNG SP1614N (160 GB) System operacyjny: Pomiary: Czas minimalny, średni oraz maksymalny dodania obrazu do bazy danych Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 7
Prezentacja wyników 300 250 Czas [sek] 200 150 100 50 0 200 MB 100 MB 50 MB 10 MB 5 MB 1 MB Rozmiar [MB] 1 MB 5 MB 10 MB 50 MB 100 MB 200 MB technologie Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 8
Prezentacja wyników 3 2,5 2 czas [sek] 1,5 1 0,5 1 MB 5 MB 10 MB 0 10 MB 5 MB 1 MB rozmiar [MB] technologia Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 9
Wnioski przy obrazach o rozmiarze od 1 do 10 MB najlepiej stosować połączenie: PHP + MySQL oraz PHP + Oracle przy obrazach o rozmiarze od 50 do 200 MB najlepszym rozwiązaniem jest użycie par technologii: PHP + MS SQL Server, Java + PostgreSQL oraz ASP.NET + PostgreSQL Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 10
Cel pracy Celem pracy było rozpoznanie możliwości oraz wydajności przetwarzania obrazów cyfrowych na silnikach bazodanowych: MSSQL SERVER 2005 PostgreSQL 8.3 ORACLE 11G MySQL 5.0 Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 11
Zakres prac SQL/MM PL/SQL T/SQL PgPL/SQL Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 12
Zakres prac SQL/MM, SQL Multimedia and Application Packages, jest standardem ISO stanowiącym uzupełnienie języka SQL, opracowanym na potrzeby zarządzania multimedialnymi bazami danych. Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 13
Zakres prac Standard SQL MM dzieli się na: Część 1: Framework (baza dla pozostałych części), Część 2: Full-Text (tekstowe bazy danych), Część 3: Spatial (przestrzenne bazy danych), Część 5: Still Image (operacje na obrazach), Część 6: Data Mining (eksploracja danych), Część 7: History (dane historyczne). Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 14
Zakres prac SQL/MM Still Image zostało zaimplementowane w silniku bazodanowym Oracle od wersji 10g, pod nazwą InterMedia. Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 15
Zakres prac Generowanie miniaturek za pomocą wbudowanej metody SI_Thumbnail: declare outimage SI_STILLIMAGE; cursor f is select fname,image from test1; begin for x in f loop select image into outimage from test1 where fname=x.fname; outimage:=outimage.si_thumbnail(20,20); end loop; end; Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 16
Zakres prac Przez wzgląd na fakt, iż pozostałe systemy bazodanowe nie posiadają implementacji standardu SQL/MM stworzone zostały procedury składowane realizujące operacje: wyrównania histogramu filtracji dolnoprzepustowej Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 17
Zakres prac Fragment kodu realizucjący filtrację dolnoprzepustową w bazie PostgreSQL for k in 2..iHeight-1 loop for i in 2..iWidth-1 loop it=1; j=(i-1)+(k-2)*iwidth; tmp=k-2; loop exit when tmp>k; outpic[i+(k-1)*iwidth]=outpic[i+(k-1)*iwidth]+maska[it]*pic[j]; j:=j+1; if j>(i+1)+tmp*iwidth then tmp:=tmp+1; j:=(i-1)+tmp*iwidth; end if; it:=it+1; end loop; end loop; end loop; for i in 1..iWidth*iHeight loop outpic[i]:=outpic[i]/suma_wag; end loop; Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 18
Metodyka badań Środowisko sprzętowe: Procesor: Intel Pentium Core 2 Duo 1.6 GHz Pamięć: 2048 MB RAM Karta graficzna: Mobile Intel 965 Express Chipset Family Dysk twardy: SATA Fujitsu MHY2120BH(5400RPM) System operacyjny: Pomiary: Czas minimalny, średni oraz maksymalny wykonania operacji na obrazie Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 19
Metodyka badań Testy zostały wykonane na obrazach cyfrowych zapisanych w formacie PGM o rozmiarach: 1MB 2MB 5MB 10MB 50MB 100MB Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 20
Prezentacja wyników 120000 100000 80000 60000 40000 czas minimalny czas średni czas maksymalny 20000 0 MySQL PostgreSQL MSSQL ORACLE Czas wykonania filtracji dolnoprzepustowej na bazach MySql, PostgreSQL, MSSQL i Oracle dla bitmapy o rozmiarze 1MB Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 21
Prezentacja wyników 2500 2000 1500 1000 czas minimalny czas średni czas maksymalny 500 0 PostgreSQL ORACLE Czas wykonania filtracji dolnoprzepustowej na bazach PostgreSQL i Oracle dla bitmapy o rozmiarze 5MB Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 22
Prezentacja wyników 250000 200000 150000 100000 czas minimalny czas średni czas maksymalny 50000 0 PostgreSQL Kategoria ORACLE 2 Czas wykonania filtracji dolnoprzepustowej na bazach PostgreSQL i Oracle dla bitmapy o rozmiarze 100MB Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 23
Prezentacja wyników 7000 6000 5000 4000 3000 czas minimalny czas średni czas maksymalny 2000 1000 0 MySQL PostgreSQL MSSQL ORACLE Czas wykonania wyrównywania histogramu na bazach MySql, PostgreSQL, MSSQL i Oracle dla bitmapy o rozmiarze 1MB Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 24
Prezentacja wyników 8000 7000 6000 5000 4000 3000 2000 1000 0 MySQL PostgreSQL MSSQL ORACLE Czas wykonania wyrównywania histogramu na bazach MySql, PostgreSQL, MSSQL i Oracle dla bitmapy o rozmiarze 5MB Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 25
Prezentacja wyników 100000 90000 80000 70000 60000 50000 40000 30000 20000 10000 0 PostgreSQL ORACLE czas minimalny czas średni czas maksymalny Czas wykonania wyrównywania histogramu na bazach MySql, PostgreSQL, MSSQL i Oracle dla bitmapy o rozmiarze 100MB Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 26
Wnioski Brak możliwości zdefiniowania typu tablicowego w bazach MSSQL i MySQL determinuje konieczność przechowywania przetwarzanych danych w tymczasowych tabelach (MEMORY w MySQL, TEMPORARY w MSSQL), do których czasu dostępu, jak widać na powyższym zestawieniu, jest o wiele dłuższy niż do danych przechowywanych w tablicach. Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 27
Wnioski W przypadku relatywnie małych obrazów najszybszy okazała się baza PostgreSQL. Jednak nieliniowy wzrost czasu wykonania operacji wraz ze wzrostem wielkości obrazu wyklucza możliwość wykorzystania jej przy obrazach o rozmiarach większych niż 10MB. Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 28
Wnioski Podczas wszystkich testów na bazie Oracle dało zauważyć się niemal liniową zależność czasu wykonania operacji do wielkości przetwarzanego obrazu. Daje to możliwość szacowania czasu wykonania operacji na dowolnej ilości danych. Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 29
Dziękujemy za uwagę! Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. 30