konto usunięte

Temat: Potrzebuję literatury na temat wydajności baz.

Krzysztof Woś:
Tomasz: Czyli, w kontekście głównego wątku tego tematu, autor powinien zmienić temat pracy? :)
Zawsze to jakieś rozwiązanie...

Ja bym zmienił wykładowcę odpowiedzialnego za taki temat pracy (tego, który to wymyślił, albo na to się zgodził).
Karol Kanicki

Karol Kanicki Freelance BI
consultant @ Icon
plc

Temat: Potrzebuję literatury na temat wydajności baz.

Szymon G.:
Krzysztof Woś:
Tomasz: Czyli, w kontekście głównego wątku tego tematu, autor powinien zmienić temat pracy? :)
Zawsze to jakieś rozwiązanie...

Ja bym zmienił wykładowcę odpowiedzialnego za taki temat pracy (tego, który to wymyślił, albo na to się zgodził).

jakbyś chciał wymienić wszystkich którzy wymyślają albo godzą się na 'takie' tematy prac, to byś położył polskie szkolnictwo wyższe, gwarantuję

sporo filozofowania panowie w tym temacie, pomocy 'potrzebującemu' [ : ) ] mało --- wiem, wiem, taka już natura forów dyskusyjnych i dyskusji jako takiej

konto usunięte

Temat: Potrzebuję literatury na temat wydajności baz.

Karol Kanicki:
Szymon G.:
Krzysztof Woś:
Tomasz: Czyli, w kontekście głównego wątku tego tematu, autor powinien zmienić temat pracy? :)
Zawsze to jakieś rozwiązanie...

Ja bym zmienił wykładowcę odpowiedzialnego za taki temat pracy (tego, który to wymyślił, albo na to się zgodził).

jakbyś chciał wymienić wszystkich którzy wymyślają albo godzą się na 'takie' tematy prac, to byś położył polskie szkolnictwo wyższe, gwarantuję

Wiem, smutne to jest. Jak popatrzeć na tematy doktoratów z polskich szkół i porównać z MIT, to od razu widać, że coś jest nie teges. Niektóre tematy doktoratów są tak śmieszne, że trudniejsze rzeczy robiłem w pracy. A powinno być odwrotnie.
sporo filozofowania panowie w tym temacie, pomocy 'potrzebującemu' [ : ) ] mało --- wiem, wiem, taka już natura forów dyskusyjnych i dyskusji jako takiej

Nie, taka natura pytania. Po prostu pytanie jest z gatunku tych, że nie da się na nie odpowiedzieć bez stwierdzenia, że ktoś próbuje rozwiązać nieistniejący idiotyczny problem. Chciałbym zauważyć, że sam nie dałeś sensownej odpowiedzi na to pytanie, a raczej napisałeś, że będzie ciężko zrobić coś sensownego.

Podobne pytanie dostałem ostatnio: jaka jest dobra książka ogólnie o przyspieszaniu baz danych. Też nie da się odpowiedzieć, książek jest wiele, ale każda dotyczy konkretnej bazy, a nie tak ogólnie. Ogólnie to się nie da.
Łukasz W.

Łukasz W. Zarządzanie Zasobami
Informacyjnymi

Temat: Potrzebuję literatury na temat wydajności baz.

Proponuję zrobić tak jak ja założyłem w podobnym temacie.

Wpierw wymyśl przykład, konkretną sytuację w które baza danych ma się sprawdzić.
Nie wiem... firmę, rodzaj połączeń, liczbę userów, dostępność etc.

Potem dokonaj stosownego przesiewu wykluczając systemy bazodanowe, które nie spełniają twoich kryteriów.
Zostań przy kilku na których się skupisz. Sam przesiew to już pewnie połowa MGR.
Potem na zasadzie wywiadów lub prawdopodobieństwa dokonaj porównania (bo jak Ci wypadnie baza np EXADATA (czy jak jej tam) lub TERADATA to porównanie u siebie odpada) i walnij podsumowanie ;)

Woila.... magisterka :p
Tomasz Dłużniewski

Tomasz Dłużniewski starszy specjalista,
PZU S.A.

Temat: Potrzebuję literatury na temat wydajności baz.

Jeżeli już ktoś zdecydował się na drastyczny krok przygotowania takiego zestawienia to ja bym przed wynikami "poczynił" po prostu warunki początkowe dla których te testy są przeprowadzane. Zwłaszcza jeżeli tutaj chodzi o odbębnienie, a nie przygotowanie rzetelnej wiedzy.

Testuję bazy A, B, C.
1. Bazy A, B i C będą zainstalowane na homogenicznym środowisku typu D (tutaj zestawienie sprzętu, pamięci)
2. System operacyjny zainstalowany z pudełka przed zainstalowaniem każdej bazy bez żadnych zmian (poza doinstalowaniem wymaganych przez bazę składników)
3. Bazy danych instalowane w wersji default (bez zmian)
4. Każda baza danych dostanie tablespace'y czy dbspace'y o tym samym rozmiarze na tej samej wydzielonej fizycznie partycji znajdujacej sie na tej samej przestrzeni adresowej dysku.
5. W celach testowych tworze tabele E,F,G,H,I,J z takim, a takim wolumenem danych
6. Dla każdej z tabel tworzę powiązania referencyjne, indeksy takie, a takie
7. Nie korzystam z dodatkowych funkcjonalności oferowanych przez poszczególnych producentów baz danych
8. Testy przeprowadzam dla prostych operacji CRUD oraz dla bardziej złożonych zapytań (i tutaj ich zestawienie).
9. Testy przeprowadzam też dla operacji skanowania sekwencyjnego dla zapytań G, H i J
10. Wyniki będę podawał za pomocą a) ilości odczytów fizycznych b) ilości czasu wykonania zapytania podanego przez bazę danych.
11. Przed wykonaniem każdego zapytania baza danych zostanie wyłączona, a następnie włączona (aby uniknąć zafałszowań w wynikach - tutaj chodzi o czasy pobrania).

Przy mniej więcej podobnej liści sformułowanych założeń (nie mówię, że to wszystkie) można robić testy i przedstawiać wyniki. Owszem będą za przeproszeniem odrobinę z dupy, ale dla potrzeb pracy magisterskiej powinny wystarczy.
Maciej W.

Maciej W. Oracle developer

Temat: Potrzebuję literatury na temat wydajności baz.

Porównanie bolidu Formuły 1 i ciężarówki Caterpillar 767... które auto jest lepsze?
Wszystko zależy od określonego przypadku (jak już napisano). Niektóre bazy danych są udostępniane z zastrzeżeniem by nie prezentować nigdzie porównania ich wydajności.
Porównaj czas dopisania/odczytania wiersza do pliku .csv znajdującego się w pamięci, i zrób to samo na rozproszonej bazie danych, która zapewnia spójność danych - okaże się (błędnie), że plik .csv jest najszybszy więc nie ma sensu płacić za strasznie drogie bazy danych?

Jeśli chcesz jakieś porównanie wykonać to określ najpierw:
- określ co dokładnie (i w jakich okolicznościach, liczbach, wielkościach) chcesz porównywać
- wykonaj testy na domyślnych onfiguracjach
- zoptymalizuj bazy pod kątem wydajności mierzonych operacji
- porównaj jeszcze raz i wyciągnij wnioski
- porównaj test dla dużo większej próbki aż zaczną się pojawiać wąskie gardła (np. baza A padnie z braku pamięci, baza B wykończy dysk twardy, baza C zagotuje procesor a baza D stopi kable sieciowe).

Osobiście sądzę, że jedyne wnioski, do jakich możesz dojść to:
- jakie ograniczenia zauważyłeś w bazie X w wersji Y
- która baza przy wybranych operacjach konsumuje w jakim stopniu jakie zasoby (pomiar nie będzie dokładny)
- jakich funkcjonalności z bazy Z prakuje Tobie w bazie Q

Pozdrawiam
Łukasz W.

Łukasz W. Zarządzanie Zasobami
Informacyjnymi

Temat: Potrzebuję literatury na temat wydajności baz.

Panowie, a nie ma jakiegoś rozwiązania tabelarycznego / wykresowego porównującego wydajności systemów względem konkretnych systemów/okoliczności/zastosowań?

konto usunięte

Temat: Potrzebuję literatury na temat wydajności baz.

Łukasz W.:
Panowie, a nie ma jakiegoś rozwiązania tabelarycznego / wykresowego porównującego wydajności systemów względem konkretnych systemów/okoliczności/zastosowań?
Pod każdym takim zestawieniem proponuję szukać mikroskopijnego dopisku "zestawienie sponsorowane przez..."
Na odbieraną "wydajność systemu" wpływa bardzo duża liczba czynników, w tym sprzętowych. Nie wypada więc tego uogólniać, bo konkretnych zastosowań nie da się porównać.

konto usunięte

Temat: Potrzebuję literatury na temat wydajności baz.

Tomasz D.:
Jeżeli już ktoś zdecydował się na drastyczny krok przygotowania takiego zestawienia to ja bym przed wynikami "poczynił" po prostu warunki początkowe dla których te testy są przeprowadzane. Zwłaszcza jeżeli tutaj chodzi o odbębnienie, a nie przygotowanie rzetelnej wiedzy.

Twój plan jest dość systematyczny, ale są pewne "ale":
4. Każda baza danych dostanie tablespace'y czy dbspace'y o tym samym rozmiarze na tej samej wydzielonej fizycznie partycji znajdujacej sie na tej samej przestrzeni adresowej dysku.

Każda baza może mieć inne wymagania dot. przestrzeni dyskowej vs wymaganej przestrzeni na dane.
Jeśli testujemy wydajność to trzeba to wziąć pod uwagę - i np. w każdej bazie dać przestrzeń z dużym zapasem (ale pliki mogą być tej samej / porównywalnej wielkości).
7. Nie korzystam z dodatkowych funkcjonalności oferowanych przez poszczególnych producentów baz danych

Pierwszy etap - tak. Kolejny etap mógłby zawierać optymalizacje per baza danych.
9. Testy przeprowadzam też dla operacji skanowania sekwencyjnego dla zapytań G, H i J

Po co? Wiadomo, że trzeba unikać przetwarzania sekwencyjnego (jeśli chodzi o kursory).
Gdyby taki test był potrzebny, trzeba byłoby też przetestować bazę bez indeksów...
11. Przed wykonaniem każdego zapytania baza danych zostanie wyłączona, a następnie włączona (aby uniknąć zafałszowań w wynikach - tutaj chodzi o czasy pobrania).

W takiej sytuacji to bardziej test czasu rozruchu bazy niż jej wydajności. Uruchomienie zapytania pierwszy raz, nawet jeśli baza jest już uruchomiona, też testuje głównie rozruch...
Bazę należałoby przed testem raczej "rozgrzać" lub podać oba wyniki (pierwsze uruchomienie i średnio - kolejne).

Tutaj ktoś pisze, że warto zrobić oba testy:
https://users.cs.fiu.edu/~chens/PDF/ADBIS00.pdf

podobnie jak ten facet: http://www.cattell.net/vita/
http://research.microsoft.com/en-us/um/people/gray/Ben...Ten post został edytowany przez Autora dnia 10.09.13 o godzinie 15:24
Maciej W.

Maciej W. Oracle developer

Temat: Potrzebuję literatury na temat wydajności baz.

Gdyby to było takie proste to na rynku istniałaby tylko jedna baza danych.
Zdaje się, że w licencji Oracle jest zapis, aby nie podawać tego typu mylących porównań - i jest to jak najbardziej uzasadnione. Aby wskazać słabe i mocne punkty (!) każdej z baz musiałbyś mieć wieloletnie doświadczenie z każdą z nich aby mieć pewność, że używasz danej funkcjonalności poprawnie.

Mam nadzieję, że poradzisz sobie z zadaniem lepiej niż ten naukowiec z dowcipu:
Naukowiec Iwan Iwanowicz przeprowadzał eksperymenty na musze. Urwał jej skrzydełka aby nie mogła odlecieć i postawił na stole.
Powiedział "Mucho idź". Mucha szła.
Urwał jej nóżkę i powiedział "Mucho idź". Mucha szła.
Powtarzał eksperyment póki mucha miała nogi.
Gdy urwał jej ostatnią nóżkę i powiedział "Mucho idź" - mucha już nie szła.
Zadowolony z siebie naukowiec zapisał wynik eksperymentu: Po wyrwaniu ostatniej nóżki mucha ogłuchła.
Damian Snoch

Damian Snoch Typ konstruktora, a
nie destruktora...

Temat: Potrzebuję literatury na temat wydajności baz.

W swoich testach możesz też gdzieś napisać coś o funkcji okna w mssql 2012. Naprawdę niezły tuning zapytania. Możesz też coś napisać o podzapytaniach które spowalniaja całego selecta ( wiadomo nie da sie ich uniknac wszedzie ), ale lekarstwem na to jest wlasnie funkcja okna ( i nie tylko na to ). Kazda baza ma swoje mechanizmy, ktore w lepszym lub gorszym stopniu pozwalaja przyspieszyc selecty. O indexach juz pewnie wiesz ( szybki select, ale wolny update ) - to tak z grubsza zalezy od indeksu ( a rodzaji ich jest sporo ).

konto usunięte

Temat: Potrzebuję literatury na temat wydajności baz.

Damian S.:
W swoich testach możesz też gdzieś napisać coś o funkcji okna w mssql 2012.

To jest też w innych bazach - w tej czy innej formie.

Oracle: http://www.dba-oracle.com/t_advanced_sql_windowing_cla...
PostgreSQL: http://www.postgresql.org/docs/9.1/static/tutorial-win...
DB2: http://my.safaribooksonline.com/book/databases/sql/978...

konto usunięte

Temat: Potrzebuję literatury na temat wydajności baz.

Damian S.:
W swoich testach możesz też gdzieś napisać coś o funkcji okna w mssql 2012. Naprawdę niezły tuning zapytania. Możesz też coś napisać o podzapytaniach które spowalniaja całego selecta ( wiadomo nie da sie ich uniknac wszedzie ), ale lekarstwem na to jest wlasnie funkcja okna ( i nie tylko na to ).

Nieprawda. Funkcja okna nie jest lekarstwem na podzapytania. Jest cała masa podzapytań, do których funkcja okna ma się nijak.

Temat: Potrzebuję literatury na temat wydajności baz.

Szymon G.:
Damian S.:
W swoich testach możesz też gdzieś napisać coś o funkcji okna w mssql 2012. Naprawdę niezły tuning zapytania. Możesz też coś napisać o podzapytaniach które spowalniaja całego selecta ( wiadomo nie da sie ich uniknac wszedzie ), ale lekarstwem na to jest wlasnie funkcja okna ( i nie tylko na to ).

Nieprawda. Funkcja okna nie jest lekarstwem na podzapytania. Jest cała masa podzapytań, do których funkcja okna ma się nijak.

A już myślałem ze udało się odszukać lek na wszystkie bazowe bolączki i musiałeś sprowadzić na ziemię.
Chciałem ustawić sobie motto "Nie działa, to użyj okna" i co teraz?
Damian Snoch

Damian Snoch Typ konstruktora, a
nie destruktora...

Temat: Potrzebuję literatury na temat wydajności baz.

Źle się wyraziłem, Istotnie nie jest do lekarstwo na wszystko, ale naprawdę potrafi przyspieszyć niektóre zapytania. Oczywiście macie rację, że nie zawsze i wszędzie działa, ale warto moim zdaniem wspomnieć o tym czy chociażby uwzględnić w testach.

Piotrze "Nie działa, to użyj okna" co to znaczy? Jak nie działa select to użyj okna? :)

Pomijając już wydajność - znając funkcje okna i mając możliwość jej stosowania naprawdę możemy "uschludnić" zapytanie do bazy.Ten post został edytowany przez Autora dnia 23.09.13 o godzinie 18:34

konto usunięte

Temat: Potrzebuję literatury na temat wydajności baz.

Piotr C.:
Szymon G.:
Damian S.:
W swoich testach możesz też gdzieś napisać coś o funkcji okna w mssql 2012. Naprawdę niezły tuning zapytania. Możesz też coś napisać o podzapytaniach które spowalniaja całego selecta ( wiadomo nie da sie ich uniknac wszedzie ), ale lekarstwem na to jest wlasnie funkcja okna ( i nie tylko na to ).

Nieprawda. Funkcja okna nie jest lekarstwem na podzapytania. Jest cała masa podzapytań, do których funkcja okna ma się nijak.

A już myślałem ze udało się odszukać lek na wszystkie bazowe bolączki i musiałeś sprowadzić na ziemię.
Chciałem ustawić sobie motto "Nie działa, to użyj okna" i co teraz?

Nie rozumiem z czego te drwiny. Myślałem, że rozmowa ludzi myślących, dotycząca technicznych szczegółów czegoś, wymaga precyzyjnego wyrażania się, w tym poprawnego używania kwantyfikatorów i chociażby podawania jednostek (zamiast częstego mylenia mb, MB i Mb). No ale może się myliłem, może tutaj jest tylko miejsce na dyskusje w stylu "jak masz wolne zapytanie to użyj okna" albo "transakcje nic nie dają, tylko spowalniają bazę, używaj myisam" albo moje ulubione "użyj indeksu, to zawsze przyspiesza bazę".

Nie ma sprawy, idę sobie w miejsce inne, gdzie dyskusje są o konkretach, a ludzie nie kpią sobie ze zwrócenia uwagi, że ktoś bzdury opowiada.Ten post został edytowany przez Autora dnia 24.09.13 o godzinie 09:15

Temat: Potrzebuję literatury na temat wydajności baz.

Szymon G.:
Piotr C.:
Szymon G.:
Damian S.:
W swoich testach możesz też gdzieś napisać coś o funkcji okna w mssql 2012. Naprawdę niezły tuning zapytania. Możesz też coś napisać o podzapytaniach które spowalniaja całego selecta ( wiadomo nie da sie ich uniknac wszedzie ), ale lekarstwem na to jest wlasnie funkcja okna ( i nie tylko na to ).

Nieprawda. Funkcja okna nie jest lekarstwem na podzapytania. Jest cała masa podzapytań, do których funkcja okna ma się nijak.

A już myślałem ze udało się odszukać lek na wszystkie bazowe bolączki i musiałeś sprowadzić na ziemię.
Chciałem ustawić sobie motto "Nie działa, to użyj okna" i co teraz?

Nie rozumiem z czego te drwiny. Myślałem, że rozmowa ludzi myślących, dotycząca technicznych szczegółów czegoś, wymaga precyzyjnego wyrażania się, w tym poprawnego używania kwantyfikatorów i chociażby podawania jednostek (zamiast częstego mylenia mb, MB i Mb). No ale może się myliłem, może tutaj jest tylko miejsce na dyskusje w stylu "jak masz wolne zapytanie to użyj okna" albo "transakcje nic nie dają, tylko spowalniają bazę, używaj myisam" albo moje ulubione "użyj indeksu, to zawsze przyspiesza bazę".

Nie ma sprawy, idę sobie w miejsce inne, gdzie dyskusje są o konkretach, a ludzie nie kpią sobie ze zwrócenia uwagi, że ktoś bzdury opowiada.

Odrobina sarkazmu bywa potrzebna. :)
Pewnie okno w SQL Serverze się świetnie sprawdza, ale jak zauważyłeś okno to nie wszystko - można powiedzieć "Nie, okno nie zastąpi drzwi, chociaż czasami morze", a można też sarkastycznie "Od dziś budujmy domy z samych okien".

Temat: Potrzebuję literatury na temat wydajności baz.

Szymonie, Piotr wyraził to samo co Ty (i pod czym i ja się podpisuję), nie drwił z Ciebie tylko wsparł :) Pax :)
Damian Snoch

Damian Snoch Typ konstruktora, a
nie destruktora...

Temat: Potrzebuję literatury na temat wydajności baz.

Etam bez nerwów.

Szymonie:

" Nie ma sprawy, idę sobie w miejsce inne, gdzie dyskusje są o konkretach, a ludzie nie kpią sobie ze zwrócenia uwagi, że ktoś bzdury opowiada. "

Nie uważam by stwierdzenie " funkcja okna może przyspieszyć zapytanie " było bzdurą, aczkolwiek może zdanie nie do końca prawdziwe ( chyba, że nie do tego się odnosisz ) bo na pewno jest lepiej pisać zapytanie nie tracąc przy tym szczegółowości i obracać się w obszarze pobranego już zbioru.

Piotrze,

" Chciałem ustawić sobie motto "Nie działa, to użyj okna" i co teraz? "

Trzeba kombinować :) Okna, indexy to nie wszystko. Wszystko zależy od samego modelu bazy ( wszyscy to pewnie wiecie, ja tylko prostuje wypowiedź moją ).

Generalnie aby pisać wydajne zapytania trzeba myśleć w kategoriach zbiorów. Funkcja okna pomaga przejść pomiędzy myśleniem iteracyjnym a myśleniem w kategoriach zbiorów.

:)

Chętnie się też dowiem ( i nie tylko ja ) jak wy radzicie sobie ze spadkiem wydajności. Może napotkaliście jakiś ciekawy przypadek? Może wiecie dlaczego procedura składowana ( gdy zwolni po jakimś czasie ), przekompilowana ma swoją pierwotną wydajność ( może a nie musi )? Przeczytałem kiedyś coś takiego na innym forum.Ten post został edytowany przez Autora dnia 24.09.13 o godzinie 18:02

Temat: Potrzebuję literatury na temat wydajności baz.

Krzysztof W.:
Tomasz: Czyli, w kontekście głównego wątku tego tematu, autor powinien zmienić temat pracy? :)
Zawsze to jakieś rozwiązanie...

Dobry pomysł - np. na:
Porównanie wydajności i funkcjonalności MySQL/MariaDB
dla rożnych storage engines (tłum. za Wikipedią: mechanizmów bazodanowych)
np. MyISAM, InnoDB, BerkeleyDB, MERGE, FEDERATED, CSV, ARCHIVE, PBXT,
Aria, CassandraSE, FederatedX, Mroonga, OQGRAPH, scaleDB, XtraDB....

zakres taki akurat na pracę dyplomową, nie powinno naruszać warunków licencyjnych
i sam chętnie bym przeczytał taką pracę ;)

Następna dyskusja:

Kursy z baz danych SQL? Gdz...




Wyślij zaproszenie do