Autor: Joanna Barańska
description
Transcript of Autor: Joanna Barańska
![Page 1: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/1.jpg)
Autor:Joanna Barańska
Analiza porównawcza wydajności przetwarzania
dokumentów XML w MS SQL Server
Promotor:dr inż. Paweł Figat
Konsultant:mgr inż. Andrzej Ptasznik
![Page 2: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/2.jpg)
Agenda
Podsumowanie
TestyDane testowe
Wyniki
Eliminacja skrajnych wyników
HipotezyDziedzina problemu
Wnioski
Cel pracy
![Page 3: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/3.jpg)
Cel pracy
W jaki sposób struktura dokumentu XML wpływa na
wydajność jego przetwarzania oraz jaki wpływ na wydajność
mają takie czynniki jak schematy oraz indeksy XML ???
![Page 4: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/4.jpg)
Rozbudowana struktura hierarchiczna dokumentu XML ma wpływ na zmniejszenie wydajności przetwarzanych dokumentów XML
Zastosowanie schematów XML oraz użycie indeksacji pozwala zwiększyć wydajność przetwarzanych dokumentów XML
Hipotezy
![Page 5: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/5.jpg)
Dziedzina problemu
Niezależność od platformy
Dostosowanie do specyfiki przetwarzania w sieci Web
Hierarchiczna reprezentacja danych
Tworzenie nowych języków znacznikowych
Sformalizowany zapis informacji
<XML>Możliwość zróżnicowanej prezentacji
Przepływ elektronicznych dokumentów dzięki ustanowieniu jednego formatu
![Page 6: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/6.jpg)
Dziedzina problemu
Możliwość deklaracji własnych typów
Możliwość wielokrotnego użycia definicji
Definiowanie składni dokumentu XML
Określanie typów elementów i wartości atrybutów
XMLSchem
a
Możliwość walidacji dokumentów XML
Napisany w języku XML
<>
![Page 7: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/7.jpg)
Typ danych XML
Dziedzina problemu
Indeksy XML
Operacje na dokumentach XML
SQLServer
Wsparcie dla XML Schema
Klauzura FOR XML funkcja OPEN XML
![Page 8: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/8.jpg)
Po1000
wierszy w
tabeli
60 elementów 80 elementów40 elementów20 elementów10 elementów
Dane testowe - dokumenty XMLZero poziomów
Zero poziomów
Zero poziomów
Zero poziomów
Zero poziomów
3 poziomy3 poziomy3 poziomy3 poziomy3 poziomy
6 poziomów6 poziomów6 poziomów6 poziomów6 poziomów
10 poziomów10 poziomów10 poziomów10 poziomów10 poziomów
![Page 9: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/9.jpg)
Testy wykonano na 80 tabelach z kolumną typu XMLXML ze zdefiniowanym XML
SchemaXML bez zdefiniowanego XML
Schema
Tabele bez zdefiniowanych indeksów XML
.
Tabele z indeksami pomocniczymi XML:
Dane testowe – tabele
Path,Value,
Property
![Page 10: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/10.jpg)
Każda metoda zwraca jednakowy wynik zapytania przy wykorzystaniu różnych metod języka SQL
Testy
Metoda nodes()
Metoda query()
Metoda value()
select xmldoc.value('Root[1]/Element1[1]', 'varchar(50)') from t1where xmldoc.value('Root[1]/Element1[1]', 'varchar(50)')='wartosc_elementu70‘
select T.c.query('.') FROM t1cross apply xmldoc.nodes('Root') as T(C) where xmldoc.value('Root[1]/Element1[1]', 'varchar(50)')='wartosc_elementu70'
select xmldoc.query(' for $wartosc in /Root[1]/Element1[1] return string ($wartosc)') from t1where xmldoc.value('Root[1]/Element1[1]', 'varchar(50)')='wartosc_elementu70'
![Page 11: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/11.jpg)
Testy
Tabele
+80Ilość testów
100
+Rodzaj zapytania
3Tabela wynikowazawiera 24000 rekordów
= 24000
Ilość testów
![Page 12: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/12.jpg)
Eliminacja skrajnych wyników Czas [ms] Ilość wystąpień
32 17
33 40
34 26
35 3
36 9
38 1
39 2
51 1
131 1
![Page 13: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/13.jpg)
Eliminacja skrajnych wyników
Mediana 33 ms
Średnia 34,75 ms
Wyniki odstające od reszty (np. 131 ms) mogą fałszować wartości średnie, dlatego należy je odrzucić.
Wartość średnia, która jest znacznie bardziej odporna na wyniki odstające od reszty niż średnia arytmetyczna.
Odrzucono
ok. 16 %
wyników należących dodecyla 1 oraz 9
![Page 14: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/14.jpg)
Wyniki przykładXML - 80 elementów
Zapytanie z metodą
0 poziomów
3 poziomy
6 poziomów
10 poziomów
XML + XSD
Nodes 81 213 513 864nodes with index 1298 1644 2621 3997Query 63 137 401 716query with index 1227 1511 2506 3820Value 61 136 397 717value with index 1190 1498 2496 3807
![Page 15: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/15.jpg)
Wnioski Dokumenty zawierające elementy typu prostego są przetwarzane szybciej z zastosowaniem schematów XML.
Czas wykonywania zapytań zależy od ilości elementów oraz poziomu zagnieżdzenia.
Najszybszą metodą przetwarzania jest metoda value(), a najwolniejszą metoda nodes().
Dokumenty zawierające elementy typu złożonego przetwarzane są szybciej bez zdefiniowanych schematów oraz bez indeksów XML.
Zastosowanie połączonych indeksów pomocniczych XML wydłuża czas przeszukiwania dokumentów.
![Page 16: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/16.jpg)
Podsumowanie
Zastosowanie Schematów XML oraz użycie indeksacji pozwala zwiększyć wydajność przetwarzanych dokumentów XML, nie została potwierdzona.
Rozbudowana struktura hierarchiczna dokumentu XML ma wpływ na zmniejszenie wydajności przetwarzanych dokumentów XML jest prawdziwa.
Hipoteza mówiąca, że:
![Page 17: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/17.jpg)
Podsumowanie
Dalsze testy dla tabel:
z jednym indeksem pomocniczym, bez schematów,z jednym indeksem pomocniczym, ze schematami,z dwoma indeksami pomocniczymi, bez schematów,z dwoma indeksami pomocniczymi, ze schematami.
Aby dokładniej zbadać wpływ indeksów na wydajność przetwarzania dokumentów XML, należy wykonać serie dodatkowych testów:
![Page 18: Autor: Joanna Barańska](https://reader034.fdocument.pub/reader034/viewer/2022051821/56815aa3550346895dc82e85/html5/thumbnails/18.jpg)
Koniec