Metody skrócenia czasu wykonywania fazy regeneracji krotek podczas realizacji złączeń w pamięci operacyjnej

Wielkość: px
Rozpocząć pokaz od strony:

Download "Metody skrócenia czasu wykonywania fazy regeneracji krotek podczas realizacji złączeń w pamięci operacyjnej"

Transkrypt

1 Rozdział 22 Metody skrócenia czasu wykonywania fazy regeneracji krotek podczas realizacji złączeń w pamięci operacyjnej Streszczenie. W rozdziale opisano możliwości przyspieszenia fazy regeneracji krotek podczas realizacji algorytmów złączeń na danych znajdujących się w całości w pamięci operacyjnej. Często stosowanym wówczas podejściem jest wydzielenie z łączonych relacji podrelacji zawierających atrybuty złączenia, wykonanie złączenia na tych podrelacjach, co prowadzi do zbudowania indeksu złączeniowego a następnie na jego podstawie wygenerowanie relacji wynikowej. Faza generacji relacji wynikowej zwana także fazą regeneracji krotek stanowi w takim przetwarzaniu element najbardziej czasochłonny. W niniejszym rozdziale przeanalizowano przyczyny tego zjawiska i różne metody skrócenia czasu wykonywania fazy regeneracji. 1 Wstęp Wzrost pojemności pamięci operacyjnych wraz z jednoczesnym spadkiem ich ceny spowodował pojawienie się w ciągu kilkunastu ostatnich lat wielu systemów baz danych, w których podstawowym nośnikiem danych jest pamięć operacyjna. Systemy takie będziemy nazywać systemami baz danych w pamięci operacyjnej lub w skrócie MM DBMS (Main Memory Database Management System). Obecnie istnieje wiele takich systemów, część z nich to nawet rozwiązania komercyjne. Do tej grupy można zaliczyć przykładowo takie systemy jak: DataBlitz znany wcześniej pod nazwą Dalí [1], [11], FastDB [15], Oracle TimesTen [14], Polyhedra [13], extremedb [12]. Z rozwiązań eksperymentalnych wspomnieć należy Monet [2], [10] i Tachyon [7]. Spośród operatorów algebry relacji złączenie jest zwykle operacją najbardziej czasochłonną. Od lat poszukuje się coraz szybszych algorytmów wykonujących tę operację. W systemach typu MM DBMS czynnikiem decydującym o czasie realizacji algorytmów złączeń nie jest liczba dostępów do dysku (dane są przechowywane w pamięci operacyjnej, więc nie ma potrzeby odwoływania się do dysku) ale czas przetwarzania tych danych w pamięci. Stąd konieczne stało się takie przebudowanie klasycznych algorytmów złączeń, by dostosować je do specyfiki przetwarzania tego typu systemów. Jednym z często stosowanych rozwiązań jest wykonywanie złączeń nie na całych relacjach ale na ich kopiach zawierających wyłącznie atrybuty uczestniczące w złączeniu. Postępowanie takie prowadzi Robert Tutajewicz Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16, Gliwice, Polska

2 R. Tutajewicz do radykalnego skrócenia czasu wykonywania złączenia, ale powoduje także konieczność wprowadzenia dodatkowej fazy, w trakcie której na podstawie uzyskanego wcześniej wyniku złączenia tworzy się pełną relację wynikową. W takim przypadku ta właśnie faza, zwana fazą regeneracji krotek, staje się najbardziej czasochłonnym elementem złączenia. Zwykle jednak łączny czas trwania obydwu faz i tak jest znacznie krótszy niż w przypadku podejścia klasycznego. W niniejszym rozdziale przedstawiono metody przyspieszenia regeneracji krotek oraz efekty zastosowania każdej z metod. W końcowej części rozdziału porównano metody między sobą wskazując stosowanie której z nich daje najlepsze rezultaty. 2 Realizacja fazy regeneracji krotek Jeżeli złączenie wykonywane jest za pomocą algorytmów z sortowaniem lub haszowaniem, czas trwania regeneracji krotek może stanowić nawet 90% łącznego czasu obliczania wyniku złączenia. Poprawienie szybkości realizacji tej fazy może zatem spowodować także wyraźną poprawę łącznego czasu wykonania algorytmów złączeń. Aby to było możliwe konieczne jest najpierw określenie źródeł opóźnień. Następnie można spróbować tak zmodyfikować stosowane algorytmy, aby wyeliminować bądź co najmniej zmniejszyć udział opóźnień w łącznym czasie realizacji. Reprezentowanie relacji w pamięci W systemach typu MM DBMS zmieniono sposób reprezentowania danych tworzących relację. Zamiast klasycznego rozmieszczenia danych zgodnie z modelem NSM, stosuje się inne rozwiązania: pionową fragmentację kolumn (model DSM), podział w poprzek atrybutów (PAX) lub podział relacji na tzw. superbloki (MBSM). W dyskowych relacyjnych systemach baz danych powszechnie stosowanym sposobem rozmieszczenia danych jest umieszczenie całych rekordów reprezentujących krotki relacji w blokach na dysku (rys. 1). Model taki nazywany jest zwykle skrótem NSM (N-ary Storage Model). Jego podstawową zaletą jest to, że cały rekord może być pobrany z dysku za pomocą jednego odczytu. Z drugiej strony, w przypadku, gdy do realizacji zapytania potrzebne są wartości tylko kilku wybranych atrybutów, konieczne jest odczytanie zawartości wszystkich bloków tworzących tabelę. W bazach danych w pamięci operacyjnej pojawia się kolejna wada tego rozwiązania: niskie wykorzystanie pamięci podręcznej. Przy przetwarzaniu danych rozmieszczonych zgodnie z tym modelem, dużą część pamięci podręcznej zajmują wartości atrybutów nie wykorzystywane w zapytaniu. Naglówek bloku Atr1 Atr2 Rekord 1 Atr1 Atr2 Atr3 Atr1 Atr2 Rekord 2 Rekord 3 Atr3 Atr3 Rys. 1. Rozmieszczenie danych w pamięci zgodnie z modelem NSM 238

3 Sposoby skrócenia czasu wykonywania fazy regeneracji krotek podczas realizacji złączeń w pamięci operacyjnej Alternatywą dla tego rozwiązania jest pionowa fragmentacja kolumn określana jako model DSM (Decomposition Storage Model [5]). Zgodnie z nim relację zawierającą n atrybutów należy podzielić na n podrelacji, z których każda odpowiada pojedynczemu atrybutowi. Każda podrelacja oprócz wartości odpowiadającego jej atrybutu musi przechowywać także identyfikatory rekordów (rys. 2). Model DSM został zaproponowany, by zminimalizować liczbę zbędnych dostępów do dysku w przypadku zapytań odwołujących się tylko do wybranych atrybutów. Jednakże, gdy zapytanie odwołuje się do wszystkich lub co najmniej większości atrybutów relacji, przetwarzanie takiego zapytania wiąże się ze znaczącym kosztem dodatkowym na połączenie wszystkich potrzebnych podrelacji w jedną całość. Nagłówek strony 1 Atr1 2 Atr1 3 Atr1 Podrelacja 1 Nagłówek strony 1 Atr2 2 Atr2 3 Atr2 Podrelacja 2 Nagłówek strony 1 Atr3 2 Atr3 3 Atr3 Podrelacja 3 Rys. 2. Rozmieszczenie danych w pamięci zgodnie z modelem DSM Realizacja złączeń na danych zorganizowanych zgodnie z modelem DSM składa się zwykle z 2 etapów. Pierwszym jest właściwe złączenie wykonywane na podrelacjach zawierających argumenty złączenia. W jego efekcie powstaje indeks złączeniowy, czyli dwuargumentowa relacja zawierająca identyfikatory par krotek, które powinny pojawić się w wyniku złączenia. Indeks ten staje się następnie podstawą do wygenerowania w fazie regeneracji krotek pełnej relacji wynikowej. 3 Metody skracania czasu realizacji złączeń Wszystkie eksperymenty przeprowadzono na bazie danych złożonej z 2 relacji: mniejszej R i większej S o schematach identycznych z tzw. schematem Wisconsin [6] przechowywanej zgodnie z modelem DSM. Każda z relacji liczyła 13 atrybutów będących 4-bajtowymi liczbami całkowitymi oraz 3 atrybuty napisowe o długości 52 znaków każdy. Pierwszy atrybut obydwu relacji pełnił rolę klucza i przyjmował unikalne wartości. Drugi atrybut relacji S przyjmował wartości identyczne z wartościami pierwszego atrybutu relacji R. Wartości te były rozmieszczone zgodnie z rozkładem równomiernym. Warunkiem złączenia była równość wartości pierwszego atrybutu relacji R i drugiego atrybutu relacji S. Rozmiary obydwu relacji były zawsze tak dobrane by większa z nich (S) liczyła 10-krotnie więcej rekordów niż mniejsza (R). Większość badań przeprowadzono na komputerze PC wyposażonym w procesor Intel Pentium 4 z jądrem Northwood taktowanym zegarem o częstotliwości 2,6 GHz wyposażonym w dwupoziomową pamięć podręczną o pojemności odpowiednio 8KB (pierwszy poziom) i 512 KB (drugi poziom) oraz główną pamięć operacyjną o pojemności 512 MB. 239

4 R. Tutajewicz 3.1 Wpływ rozmiaru relacji wynikowej Wykonanie fazy generacji relacji wynikowej polega na powtarzaniu dla każdej krotki wyniku czynności kopiowania atrybutów do tejże relacji. Dlatego też należy oczekiwać, że czas jej wykonywania będzie proporcjonalny do liczby krotek tworzących relację wynikową. Aby zweryfikować tę tezę zmierzono czasy trwania fazy regeneracji krotek dla relacji wynikowych zawierających różną liczbę krotek. Czasy te wyrażone w milionach taktów procesora zawarto w tabeli 1. Tabela 1. Czasy regeneracji krotek dla różnych rozmiarów relacji wynikowej Liczba krotek (w tys.) Czas 20,2 48,5 71,2 99, regeneracji Zmierzone czasy podzielono następnie przez liczbę krotek wyniku aby wyznaczyć średni czas regeneracji pojedynczej krotki. Jak się okazuje czas przetwarzania pojedynczej krotki rośnie wraz ze wzrostem liczby regenerowanych krotek, co ilustruje rys. 4, umieszczony pod koniec rozdziału. Aby zmniejszyć czas wykonywania regeneracji krotek należy poszukać przyczyn opisanego zjawiska. 3.2 Chybienia przy dostępie do pamięci podręcznej Częstą przyczyną spowolnienia obliczeń realizowanych na danych umieszczonych w pamięci operacyjnej są opóźnienia związane z dostępem do tych danych. Z tego też powodu zmierzono liczby chybień przy odszukiwaniu danych w pamięci podręcznej podczas wykonywania regeneracji krotek dla różnych rozmiarów danych. Liczby te następnie podzielono przez liczby krotek relacji wynikowej określając tym samym średnią liczbę chybień przypadającą na generację pojedynczej krotki. Uzyskane wyniki zaprezentowano na rys. 3. Średnia liczba chybień Rozmiar relacji wynikowej w tys. krotek Rys. 3. Średnia liczba chybień przy dostępie do pamięci podręcznej przypadająca na pojedynczą krotkę wynikową Porównanie obydwu rysunków pozwala stwierdzić, że to właśnie liczba chybień przy dostępie do pamięci powoduje opóźnienia podczas realizacji fazy regeneracji krotek. Należy 240

5 Sposoby skrócenia czasu wykonywania fazy regeneracji krotek podczas realizacji złączeń w pamięci operacyjnej zatem tak zmodyfikować stosowany algorytm aby zmniejszyć tę liczbę. Chybienia powstają wtedy, gdy podczas przetwarzania potrzebne dane nie znajdują się w pamięci podręcznej i muszą być sprowadzone z głównej pamięci operacyjnej. Ponieważ czas dostępu do pamięci operacyjnej jest co najmniej kilkakrotnie dłuższy od czasu dostępu do pamięci podręcznej, duża liczba chybień może znacząco wydłużyć realizację algorytmów. 3.3 Pobieranie wyprzedzające Współczesne procesory dostarczają narzędzi, w postaci mechanizmu tzw. pobierania wyprzedzającego, pozwalających zmniejszyć liczbę chybień. Pobieranie wyprzedzające można podzielić na sprzętowe i programowe. Sprzętowe pobieranie wyprzedzające polega na śledzeniu przez wydzielony moduł procesora wszystkich odwołań do pamięci, dzięki czemu możliwe jest znalezienie regularności w tych odwołaniach. Po odnalezieniu takich regularności procesor rozpoczyna pobieranie z wyprzedzeniem danych z głównej pamięci operacyjnej do pamięci podręcznej, tak że w momencie, gdy są one potrzebne w procesie obliczeniowym są już dostępne w pamięci podręcznej. Zaletą mechanizmu sprzętowego jest to, że nie wymaga on modyfikacji kodu programu. Metoda ta dobrze sprawdza się w przypadku dostępu o regularnym charakterze, nie ma natomiast zastosowania, gdy dane są pobierane losowo. Alternatywną metodą jest programowe pobieranie wyprzedzające. Mechanizm ten jest dostępny dzięki wprowadzeniu specjalnych rozkazów zlecających procesorowi pobieranie danych z pamięci w chwili gdy nie są one jeszcze potrzebne do realizacji procesu obliczeniowego. Rozwiązanie to pozwala ukryć opóźnienia związane z dostępem do danych w sytuacji nieregularnych wzorców dostępu (np. dane pobierane w sposób pseudolosowy), gdzie nie sprawdza się mechanizm sprzętowy. Podstawową wadą stosowania tej metody jest konieczność modyfikacji kodu poprzez jawne umieszczenie w nim rozkazów pobierania wyprzedzającego. Metoda ta nie sprawdza się także w przypadku programów intensywnie korzystających z pamięci (jak np. kopiowanie bloków pamięci z jednego miejsca na drugie). 3.4 Wykorzystanie pobierania wyprzedzającego Mechanizm programowego pobierania wyprzedzającego został z powodzeniem zastosowany w odniesieniu do różnych rodzajów algorytmów, w tym między innymi do algorytmów przetwarzania tablic [9], struktur opartych o wskaźniki [8], w tym do B-drzew [4] oraz do realizacji złączeń z haszowaniem [3]. W przypadku zagadnienia regeneracji relacji wynikowej mamy do czynienia z dość poważnym problemem przy implementacji pobierania wyprzedzającego, jakim jest zjawisko tzw. wyścigu wskaźników (ang. pointer-chasing). Ze względu na rozmieszczenie danych w sposób przypadkowy nie możliwe jest najprostsze podejście polegające na próbie ukrycia opóźnień związanych z dostępem do danych w ramach przetwarzania pojedynczej krotki. Nawet rozdzielenie fazy pobierania danych od fazy obliczeń na nich nie wystarcza do ukrycia opóźnień, zbyt krótki jest czas obliczeń w stosunku do czasu potrzebnego na pobranie potrzebnych danych. Stąd też nie można wprost zastosować rozwiązań wypracowanych dla algorytmów numerycznych, gdzie to najczęściej stosuje się pobieranie wyprzedzające. Można za to wykorzystać fakt braku praktycznie żadnych zależności między danymi potrzebnymi do przetwarzania sąsiednich krotek. Dzięki temu możliwe jest ukrycie opóźnień związanych z pobieraniem następnych krotek poprzez równoległe wykonywanie obliczeń 241

6 R. Tutajewicz na krotkach je poprzedzających. Warto przy tym zauważyć, że dystans między krotką aktualnie przetwarzaną a tą której pobieranie danych dopiero co zainicjowano, powinien być znacznie większy niż 1, gdyż czas przetwarzania pojedynczej krotki nie równoważy czasu pobierania potrzebnych do tego przetwarzania danych. Aby w pełni ukryć opóźnienia spowodowane chybieniami przy dostępie do pamięci w fazie regeneracji krotek możliwe jest wykorzystanie jednej z dwóch technik zaproponowanych dla złączenia z haszowaniem [3]. Pierwszą z tych technik jest pobieranie wyprzedzające z grupowaniem (ang. group prefetching). W tym przypadku indeks złączeniowy jest dzielony na grupy o stałej liczbie krotek. Krotki te zajmują w pamięci ciągły obszar, co przy sekwencyjnym ich przetwarzaniu pozwala wykorzystać mechanizm sprzętowego pobierania wyprzedzającego. Dla każdej krotki w grupie jej wartości są odczytywane do wewnętrznego bufora i uruchamiane są rozkazy pobierania wyprzedzającego odpowiednich krotek relacji źródłowych. Po zakończeniu tej fazy, dla każdej krotki w grupie obliczana jest krotka wynikowa. W podobny sposób przetwarzane są krotki należące do kolejnych grup. Drugą możliwą do zastosowania techniką jest potokowe pobieranie wyprzedzające (ang. software-pipelined prefetching). Także i w tym przypadku wykorzystuje się dodatkowy bufor na przechowanie fragmentu indeksu złączeniowego. Inny jest jednak schemat przetwarzania. Najpierw cały bufor ładowany jest krotkami pochodzącymi z początku indeksu złączeniowego i dla każdej takiej krotki rozpoczyna się pobieranie odpowiadających jej krotek relacji źródłowych. Po wypełnieniu bufora rozpoczyna się główna pętla przetwarzania. W pętli tej począwszy od pierwszej krotki z bufora naprzemiennie realizowane są obliczanie krotki relacji wynikowej i ładowanie w zwolnione miejsce w buforze kolejnej krotki indeksu złączeniowego oraz inicjowanie pobierania odpowiadających jej krotek relacji źródłowych. Krotki z bufora przetwarzane są cyklicznie aż do momentu pobrania ostatniej krotki z indeksu złączeniowego. W tym momencie wystarczy dla każdej krotki z bufora utworzyć odpowiadające im krotki wynikowe i na tym można zakończyć regenerację krotek. 3.5 Sortowanie indeksu złączeniowego Innym sposobem zmniejszenia liczby chybień w fazie regeneracji jest takie uporządkowanie danych, aby ich przetwarzanie odbywało się, na ile to tylko możliwe, w sposób sekwencyjny i tym samym wykorzystywało mechanizm sprzętowego pobierania wyprzedzającego. W pełni sekwencyjnego charakteru dostępu do danych nie można jednak osiągnąć, gdyż wymagałoby to posortowania całych krotek, co prowadzi do bardzo wyraźnego wzrostu czasu sortowania a co zatem idzie i wzrostu czasu realizacji całego złączenia. Można jednak dopasować kolejność przetwarzania przynajmniej do uporządkowania danych w jednej z relacji wejściowych. W tym celu należy posortować indeks złączeniowy zgodnie z kolejnością pojawiania się krotek jednej z relacji. Przyjęto, że tą relacją będzie relacja S (testy przeprowadzone dla uporządkowania indeksu złączeniowego według relacji R dawały nieco gorsze wyniki). 4 Wyniki eksperymentów W ramach badań zaimplementowano wszystkie opisane powyżej metody i porównano czasy trwania fazy regeneracji krotek przy zastosowaniu każdej z nich. Wyniki eksperymentów przestawiono w postaci wykresu (rys. 4). Podobnie jak poprzednio przedstawiono zależność średniego przetwarzania pojedynczej krotki w funkcji rozmiaru danych. 242

7 Sposoby skrócenia czasu wykonywania fazy regeneracji krotek podczas realizacji złączeń w pamięci operacyjnej Średni czas generacji krotki Liczba generowanych krotek (w tysiącach) Klasyczne Sortowanie Grupowanie Rys. 4. Zależność średniego czasu regeneracji pojedynczej krotki od liczby krotek dla rozważanych metod przyspieszenia tej fazy Na wykresie pominięto wyniki dla potokowego pobierania wyprzedzającego, gdyż w całym prezentowanym przedziale uzyskane czasy były gorsze od czasów uzyskanych dla rozwiązania klasycznego. Z wykresu widać, że najlepsze wyniki uzyskuje się dla metody wykorzystującej wstępne sortowanie indeksu złączeniowego. Metody wykorzystujące mechanizm programowego pobierania wyprzedzającego nie dały spodziewanego przyspieszenia. Fakt ten można wytłumaczyć tym, że rozważana operacja regeneracji krotek należy do grupy zadań intensywnie wykorzystujących pamięć, dla której jak już wspomniano wcześniej metody używające programowego pobierania wyprzedzającego nie sprawdzają się. Metoda sortowania indeksu złączeniowego szczególnie dobrze sprawdza się w sytuacji złączenia pary relacji, w której jedna (S) pełni rolę tablicy faktów zaś druga (R) słownika, gdy do relacji wynikowej wchodzą wszystkie krotki z tablicy faktów. W przypadku niskiej selektywności złączenia metoda ta daje słabe wyniki. Spowodowane jest to tym, że do wyniku wchodzą wtedy tylko niektóre wybrane krotki, co oznacza konieczność pomijania wielu krotek z relacji S, pobranych już do pamięci podręcznej. Wtedy jednak liczba krotek w relacji wynikowej zwykle jest niewielka i czas regeneracji nie odgrywa tak istotnej roli w łącznym czasie trwania złączenia. Literatura 1. Baulier J., Bohannon P., Gogate S., Gupta C., Haldar S., Joshi S., Khivesera A., Korth H., Mcilroy P., Miller J., Narayan P.P.S., Nemeth M., Rastogi R., Seshadri S., Silberschatz A., Sudarshan S., Wilder M., Wei C.: DataBlitz Storage Manager: Main Memory Database Performance for Critical Applications. Proc. of the ACM SIGMOD Int'l Conf. on Management of Data, Philadelphia, Boncz P.A.: Monet. A next generation DBMS Kernel For Query Intensive Applications. PhD thesis, Amsterdam, Chen S., Ailamaki A., Gibbons P.B., Mowry T.C.: Improving Hash Join Performance through Prefetching, Proc of the 20 th Int l Conf. On Data Engineering, Boston, Chen S., Gibbons P.B., Mowry T.C.: Improving Index Performance through Prefteching, Proc. of the SIGMOD Conference, Santa Barbara, Copeland A., Khoshafian S.: A Decomposition Storage Model, Proc. of the SIGMOD Conference, Austin,

8 R. Tutajewicz 6. DeWitt D.J.: The Wisconsin Benchmark: Past, Present and Future, for Database and Transaction Systems (2nd Edition). Morgan Kaufmann, Kim S.W, Park S.H., Choi W.: Development of an Index Manager for a Main Memory DBMS Tachyon, Luk C.K., Mowry T.C.: Compiler Based Prefetching for Recursive Data Structures, Proc. of the 7th ASPLOS Conf., Cambridge, Mowry T.C., Lam M.S., Gupta A., Design and Evaluation of a Compiler Algorithm for Prefetching, Proc. of the 5th ASPLOS, Boston, Żukowski M., Boncz P., Nes N., Heman S.: MonetDB/X100 A DBMS in The CPU Cache. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, DataBlitz Home Page, 12. extremedb Home Page, 13. Polyhedra Home Page, 14. Oracle TimesTen In-Memory Database, 15. FastDB Home Page, 244

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności. Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Organizacja pamięci Organizacja pamięci współczesnych systemów komputerowych

Bardziej szczegółowo

Wykład XII. optymalizacja w relacyjnych bazach danych

Wykład XII. optymalizacja w relacyjnych bazach danych Optymalizacja wyznaczenie spośród dopuszczalnych rozwiązań danego problemu, rozwiązania najlepszego ze względu na przyjęte kryterium jakości ( np. koszt, zysk, niezawodność ) optymalizacja w relacyjnych

Bardziej szczegółowo

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Motywacja - memory wall Krzysztof Banaś, Obliczenia wysokiej wydajności. 2 Organizacja pamięci Organizacja pamięci:

Bardziej szczegółowo

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność obliczeń Dla wielu programów wydajność obliczeń można traktować jako wydajność pobierania z pamięci

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna

Bardziej szczegółowo

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD Optymalizacja zapytań Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD Elementy optymalizacji Analiza zapytania i przekształcenie go do lepszej postaci. Oszacowanie

Bardziej szczegółowo

Zaawansowane Systemy Baz Danych

Zaawansowane Systemy Baz Danych Zaawansowane Systemy Baz Danych dr inż. Olga Siedlecka olga.siedlecka@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 4 maja 2009 r. Plan seminarium Wprowadzenie Stosowane

Bardziej szczegółowo

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.

Bardziej szczegółowo

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu inż. Daniel Solarz Wydział Fizyki i Informatyki Stosowanej AGH 1. Cel projektu. Celem projektu było napisanie wtyczki

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

Baza danych. Baza danych to:

Baza danych. Baza danych to: Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania Plan wykładu Bazy danych Wykład 10: Fizyczna organizacja danych w bazie danych Model logiczny i model fizyczny Mechanizmy składowania plików Moduł zarządzania miejscem na dysku i moduł zarządzania buforami

Bardziej szczegółowo

Zarządzanie pamięcią w systemie operacyjnym

Zarządzanie pamięcią w systemie operacyjnym Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej

Bardziej szczegółowo

SQL SERVER 2012 i nie tylko:

SQL SERVER 2012 i nie tylko: SQL SERVER 2012 i nie tylko: Wstęp do planów zapytań Cezary Ołtuszyk coltuszyk.wordpress.com Kilka słów o mnie Starszy Administrator Baz Danych w firmie BEST S.A. (Bazy danych > 1TB) Konsultant z zakresu

Bardziej szczegółowo

Przetwarzanie potokowe pipelining

Przetwarzanie potokowe pipelining Przetwarzanie potokowe pipelining (część A) Przypomnienie - implementacja jednocyklowa 4 Add Add PC Address memory ister # isters Address ister # ister # memory Wstęp W implementacjach prezentowanych tydzień

Bardziej szczegółowo

Alicja Marszałek Różne rodzaje baz danych

Alicja Marszałek Różne rodzaje baz danych Alicja Marszałek Różne rodzaje baz danych Rodzaje baz danych Bazy danych można podzielić wg struktur organizacji danych, których używają. Można podzielić je na: Bazy proste Bazy złożone Bazy proste Bazy

Bardziej szczegółowo

architektura komputerów w. 8 Zarządzanie pamięcią

architektura komputerów w. 8 Zarządzanie pamięcią architektura komputerów w. 8 Zarządzanie pamięcią Zarządzanie pamięcią Jednostka centralna dysponuje zwykle duża mocą obliczeniową. Sprawne wykorzystanie możliwości jednostki przetwarzającej wymaga obecności

Bardziej szczegółowo

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność obliczeń a architektura procesorów Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność komputerów Modele wydajności-> szacowanie czasu wykonania zadania Wydajność szybkość realizacji wyznaczonych

Bardziej szczegółowo

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4 Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,

Bardziej szczegółowo

AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie. Wydział Geologii, Geofizyki i Ochrony Środowiska. Bazy danych 2

AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie. Wydział Geologii, Geofizyki i Ochrony Środowiska. Bazy danych 2 AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie Wydział Geologii, Geofizyki i Ochrony Środowiska Wydajnośd w bazach danych Grzegorz Surdyka Informatyka Stosowana Kraków, 9 Spis treści. Wstęp...

Bardziej szczegółowo

Schematy zarzadzania pamięcia

Schematy zarzadzania pamięcia Schematy zarzadzania pamięcia Segmentacja podział obszaru pamięci procesu na logiczne jednostki segmenty o dowolnej długości. Postać adresu logicznego: [nr segmentu, przesunięcie]. Zwykle przechowywana

Bardziej szczegółowo

Procesory. Schemat budowy procesora

Procesory. Schemat budowy procesora Procesory Procesor jednostka centralna (CPU Central Processing Unit) to sekwencyjne urządzenie cyfrowe którego zadaniem jest wykonywanie rozkazów i sterowanie pracą wszystkich pozostałych bloków systemu

Bardziej szczegółowo

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci Układ Podstawy Informatyki - Układ bezpośredniego dostępu do pamięci alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu Układ 1 Układ Wymiana informacji Idea Zasady pracy maszyny W Architektura

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Przykładowa RBD o schematach relacji (tzw. płaska postać RBD): N(PRACOWNICY) = {ID_P, IMIĘ,

Bardziej szczegółowo

Baza danych. Modele danych

Baza danych. Modele danych Rola baz danych Systemy informatyczne stosowane w obsłudze działalności gospodarczej pełnią funkcję polegającą na gromadzeniu i przetwarzaniu danych. Typowe operacje wykonywane na danych w systemach ewidencyjno-sprawozdawczych

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku System plików Definicje: Plik jest logiczną jednostką magazynowania informacji w pamięci nieulotnej Plik jest nazwanym zbiorem powiązanych ze sobą informacji, zapisanym w pamięci pomocniczej Plik jest

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Polcode Code Contest PHP-10.09

Polcode Code Contest PHP-10.09 Polcode Code Contest PHP-10.09 Przedmiotem konkursu jest napisanie w języku PHP programu, którego wykonanie spowoduje rozwiązanie zadanego problemu i wyświetlenie rezultatu. Zadanie konkursowe Celem zadania

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

Zarządzanie pamięcią operacyjną

Zarządzanie pamięcią operacyjną SOE Systemy Operacyjne Wykład 7 Zarządzanie pamięcią operacyjną dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Hierarchia pamięci czas dostępu Rejestry Pamięć podręczna koszt

Bardziej szczegółowo

Podstawy OpenCL część 2

Podstawy OpenCL część 2 Podstawy OpenCL część 2 1. Napisz program dokonujący mnożenia dwóch macierzy w wersji sekwencyjnej oraz OpenCL. Porównaj czasy działania obu wersji dla różnych wielkości macierzy, np. 16 16, 128 128, 1024

Bardziej szczegółowo

1 Instalowanie i uaktualnianie serwera SQL Server 2005... 1

1 Instalowanie i uaktualnianie serwera SQL Server 2005... 1 Spis treści Przedmowa... ix Podziękowania... x Wstęp... xiii Historia serii Inside Microsoft SQL Server... xiii 1 Instalowanie i uaktualnianie serwera SQL Server 2005... 1 Wymagania SQL Server 2005...

Bardziej szczegółowo

Integracja systemów transakcyjnych

Integracja systemów transakcyjnych Integracja systemów transakcyjnych Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel Alokacja danych Alokacja danych umieszczanie

Bardziej szczegółowo

QUERY język zapytań do tworzenia raportów w AS/400

QUERY język zapytań do tworzenia raportów w AS/400 QUERY język zapytań do tworzenia raportów w AS/400 Dariusz Bober Katedra Informatyki Politechniki Lubelskiej Streszczenie: W artykule przedstawiony został język QUERY, standardowe narzędzie pracy administratora

Bardziej szczegółowo

System pamięci. Pamięć wirtualna

System pamięci. Pamięć wirtualna System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni

Bardziej szczegółowo

Wykład 8. Pamięć wirtualna. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wykład 8. Pamięć wirtualna. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wykład 8 Pamięć wirtualna Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wprowadzenie Podstawowa idea: System operacyjny pozwala na wykorzystanie pamięci o pojemności większej,

Bardziej szczegółowo

Bazy danych. Plan wykładu. Przetwarzanie zapytań. Etapy przetwarzania zapytania. Translacja zapytań języka SQL do postaci wyrażeń algebry relacji

Bazy danych. Plan wykładu. Przetwarzanie zapytań. Etapy przetwarzania zapytania. Translacja zapytań języka SQL do postaci wyrażeń algebry relacji Plan wykładu Bazy danych Wykład 12: Optymalizacja zapytań. Język DDL, DML (cd) Etapy przetwarzania zapytania Implementacja wyrażeń algebry relacji Reguły heurystyczne optymalizacji zapytań Kosztowa optymalizacja

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

Bardziej szczegółowo

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22 ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH struktury procesorów ASK SP.06 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 Maszyny wirtualne 2 3 Literatura c Dr inż. Ignacy

Bardziej szczegółowo

Zasada działania pamięci RAM Pamięć operacyjna (robocza) komputera - zwana pamięcią RAM (ang. Random Access Memory - pamięć o swobodnym dostępie)

Zasada działania pamięci RAM Pamięć operacyjna (robocza) komputera - zwana pamięcią RAM (ang. Random Access Memory - pamięć o swobodnym dostępie) Zasada działania pamięci RAM Pamięć operacyjna (robocza) komputera - zwana pamięcią RAM (ang. Random Access Memory - pamięć o swobodnym dostępie) służy do przechowywania danych aktualnie przetwarzanych

Bardziej szczegółowo

Wpływ ustawień parametru wieloblokowego sekwencyjnego czytania danych na czas wykonywania zapytania SQL w bazie danych Oracle 11g

Wpływ ustawień parametru wieloblokowego sekwencyjnego czytania danych na czas wykonywania zapytania SQL w bazie danych Oracle 11g Radosław Boroński Politechnika Koszalińska, Wydział Elektroniki i Informatyki E-mail: radoslaw.boronski@tu.koszalin.pl Wpływ ustawień parametru wieloblokowego sekwencyjnego czytania danych na czas wykonywania

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego

Bardziej szczegółowo

Bibliografia: pl.wikipedia.org www.intel.com. Historia i rodzaje procesorów w firmy Intel

Bibliografia: pl.wikipedia.org www.intel.com. Historia i rodzaje procesorów w firmy Intel Bibliografia: pl.wikipedia.org www.intel.com Historia i rodzaje procesorów w firmy Intel Specyfikacja Lista mikroprocesorów produkowanych przez firmę Intel 4-bitowe 4004 4040 8-bitowe x86 IA-64 8008 8080

Bardziej szczegółowo

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk Wstęp wprowadzający do laboratorium 2 mgr inż. Rafał Grycuk Plan prezentacji 1. Czym jest T-SQL i czym się różni od standardu SQL 2. Typy zapytań 3. Zapytanie typu SELECT 4. Słowo o indeksach T-SQL (1)

Bardziej szczegółowo

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Hurtownie danych Przetwarzanie zapytań. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Magazyny danych operacyjnych, źródła Centralna hurtownia danych Hurtownie

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

Bardziej szczegółowo

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING Laboratorium nr 5 Temat: Funkcje agregujące, klauzule GROUP BY, HAVING Celem ćwiczenia jest zaprezentowanie zagadnień dotyczących stosowania w zapytaniach języka SQL predefiniowanych funkcji agregujących.

Bardziej szczegółowo

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych Politechnika Śląska Instytut Informatyki instrukcja laboratoryjna laboratorium Bazy Danych przygotowali: mgr inż. Paweł Kasprowski (Kasprowski@zti.iinf.polsl.gliwice.pl) mgr inż. Bożena Małysiak (bozena@ivp.iinf.polsl.gliwice.pl)

Bardziej szczegółowo

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38 Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem zajęcia 1 dr Jakub Boratyński pok. A38 Program zajęć Bazy danych jako podstawowy element systemów informatycznych wykorzystywanych

Bardziej szczegółowo

Test dysku Intel SSD DC S3500 480GB. Wpisany przez Mateusz Ponikowski Wtorek, 22 Październik 2013 16:22

Test dysku Intel SSD DC S3500 480GB. Wpisany przez Mateusz Ponikowski Wtorek, 22 Październik 2013 16:22 W połowie bieżącego roku na rynku pojawiły się profesjonalne nośniki Intel z serii DC S3500. Producent deklaruje, że sprzęt przeznaczony jest do bardziej wymagających zastosowań takich jak centra danych

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Architektura systemów zarządzania bazami danych Realizacja zapytań algebra relacji Wielodostęp do danych - transakcje Dr inż. Paweł Kasprowski pawel@kasprowski.pl Aplkacja przechowująca

Bardziej szczegółowo

Potrzeba instalacji w napędach SSD akumulatorów ograniczała jednak możliwości miniaturyzacji takich napędów.

Potrzeba instalacji w napędach SSD akumulatorów ograniczała jednak możliwości miniaturyzacji takich napędów. Pamięci masowe Dyski twarde SSD Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej część 2, K. Wojtuszkiewicz NEXT, 5/2009 http://pl.wikipedia.org/wiki/solid_state_drive SSD (ang.

Bardziej szczegółowo

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Bazy danych wykład dwunasty Wykonywanie i optymalizacja zapytań SQL Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Model kosztów

Bardziej szczegółowo

Pamięci masowe. ATA (Advanced Technology Attachments)

Pamięci masowe. ATA (Advanced Technology Attachments) Pamięci masowe ATA (Advanced Technology Attachments) interfejs systemowy w komputerach klasy PC i Amiga przeznaczony do komunikacji z dyskami twardymi zaproponowany w 1983 przez firmę Compaq. Używa się

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium BAZY DANYCH Databases Forma studiów: Stacjonarne

Bardziej szczegółowo

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie. dr inż. Adam Piórkowski. Jakub Osiadacz Marcin Wróbel

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie. dr inż. Adam Piórkowski. Jakub Osiadacz Marcin Wróbel 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

Bardziej szczegółowo

STROJENIE BAZ DANYCH: INDEKSY. Cezary Ołtuszyk coltuszyk.wordpress.com

STROJENIE BAZ DANYCH: INDEKSY. Cezary Ołtuszyk coltuszyk.wordpress.com STROJENIE BAZ DANYCH: INDEKSY Cezary Ołtuszyk coltuszyk.wordpress.com Plan spotkania I. Wprowadzenie do strojenia baz danych II. III. IV. Mierzenie wydajności Jak SQL Server przechowuje i czyta dane? Budowa

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią

SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 2. Pamięć rzeczywista 3. Pamięć wirtualna

Bardziej szczegółowo

Fizyczna organizacja danych w bazie danych

Fizyczna organizacja danych w bazie danych Fizyczna organizacja danych w bazie danych PJWSTK, SZB, Lech Banachowski Spis treści 1. Model fizyczny bazy danych 2. Zarządzanie miejscem na dysku 3. Zarządzanie buforami (w RAM) 4. Organizacja zapisu

Bardziej szczegółowo

Optymalizacja poleceń SQL

Optymalizacja poleceń SQL Optymalizacja poleceń SQL Przetwarzanie polecenia SQL użytkownik polecenie PARSER słownik REGUŁOWY RBO plan zapytania RODZAJ OPTYMALIZATORA? GENERATOR KROTEK plan wykonania statystyki KOSZTOWY CBO plan

Bardziej szczegółowo

Pomiar czasu przetwarzania rozproszonych zapytań w ewoluujących silnikach serwerów baz danych SQL Microsoft Server

Pomiar czasu przetwarzania rozproszonych zapytań w ewoluujących silnikach serwerów baz danych SQL Microsoft Server Alicja KILIŃSKA WIŚNIEWSKA Politechnika Koszalińska Wydział Informatyki i Elektroniki E-mail: alicja@hardrex.pl Pomiar czasu przetwarzania rozproszonych zapytań w ewoluujących silnikach serwerów baz danych

Bardziej szczegółowo

Systemy operacyjne III

Systemy operacyjne III Systemy operacyjne III WYKŁAD Jan Kazimirski Pamięć wirtualna Stronicowanie Pamięć podzielona na niewielki bloki Bloki procesu to strony a bloki fizyczne to ramki System operacyjny przechowuje dla każdego

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów Eksploracja danych Piotr Lipiński Informacje ogólne Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów UWAGA: prezentacja to nie

Bardziej szczegółowo

Wykład 7. Zarządzanie pamięcią

Wykład 7. Zarządzanie pamięcią Wykład 7 Zarządzanie pamięcią -1- Świat idealny a świat rzeczywisty W idealnym świecie pamięć powinna Mieć bardzo dużą pojemność Mieć bardzo krótki czas dostępu Być nieulotna (zawartość nie jest tracona

Bardziej szczegółowo

Pojęcie systemu informacyjnego i informatycznego

Pojęcie systemu informacyjnego i informatycznego BAZY DANYCH Pojęcie systemu informacyjnego i informatycznego DANE wszelkie liczby, fakty, pojęcia zarejestrowane w celu uzyskania wiedzy o realnym świecie. INFORMACJA - znaczenie przypisywane danym. SYSTEM

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

Bardziej szczegółowo

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

DB2 with BLU acceleration rozwiązanie in-memory szybsze niż pamięć operacyjna&

DB2 with BLU acceleration rozwiązanie in-memory szybsze niż pamięć operacyjna& DB2 with BLU acceleration rozwiązanie in-memory szybsze niż pamięć operacyjna& Artur Wroński" Priorytety rozwoju technologii Big Data& Analiza większych zbiorów danych, szybciej& Łatwość użycia& Wsparcie

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków: 2008 04 25

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków: 2008 04 25 MS Excel 2007 Kurs zaawansowany Obsługa baz danych prowadzi: Dr inż. Tomasz Bartuś Kraków: 2008 04 25 Bazy danych Microsoft Excel 2007 udostępnia szereg funkcji i mechanizmów obsługi baz danych (zwanych

Bardziej szczegółowo

Wojna morska algorytmy przeszukiwania

Wojna morska algorytmy przeszukiwania Temat 6 Wojna morska algorytmy przeszukiwania Streszczenie Wyszukiwanie informacji w wielkich zbiorach danych wymagają często użycia komputerów. Wymaga to ciągłego doskonalenia szybkich i efektywnych metod

Bardziej szczegółowo

Podstawowe wiadomości o systemach plików.

Podstawowe wiadomości o systemach plików. Podstawowe wiadomości o systemach plików. Komputery mogą przechowywać informacje w kilku różnych postaciach fizycznych na różnych nośnikach i urządzeniach np. w postaci zapisów na dysku twardym, płytce

Bardziej szczegółowo

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall Grzegorz Sułkowski, Maciej Twardy, Kazimierz Wiatr Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall Plan prezentacji 1. Architektura Firewall a załoŝenia 2. Punktu

Bardziej szczegółowo

Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci. Ptc 2013/2014 13.12.2013

Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci. Ptc 2013/2014 13.12.2013 Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci półprzewodnikowe, Betty Prince, WNT Ptc 2013/2014 13.12.2013 Pamięci statyczne i dynamiczne Pamięci statyczne SRAM przechowywanie informacji

Bardziej szczegółowo

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016

Bardziej szczegółowo

KURS ACCESS 2003 Wiadomości wstępne

KURS ACCESS 2003 Wiadomości wstępne KURS ACCESS 2003 Wiadomości wstępne Biorąc c udział w kursie uczestnik zapozna się z tematyką baz danych i systemu zarządzania bazami danych jakim jest program Microsoft Access 2003. W trakcie kursu naleŝy

Bardziej szczegółowo

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania 43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania Typy pamięci Ulotność, dynamiczna RAM, statyczna ROM, Miejsce w konstrukcji komputera, pamięć robocza RAM,

Bardziej szczegółowo

Podstawowe zapytania SELECT (na jednej tabeli)

Podstawowe zapytania SELECT (na jednej tabeli) Podstawowe zapytania SELECT (na jednej tabeli) Struktura polecenia SELECT SELECT opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje FROM nazwy tabel lub widoków WHERE warunek (wybieranie wierszy) GROUP

Bardziej szczegółowo

Rozliczanie kosztów księgowania wg filtrów kont

Rozliczanie kosztów księgowania wg filtrów kont Rozliczanie kosztów księgowania wg filtrów kont (wersja 1.0) Soneta Sp z o.o. ul. Wadowicka 8a, wejście B 31-415 Kraków tel./fax +48 (12) 261 36 41 http://www.enova.pl e-mail: ksiegowosc@enova.pl 1 Zawartość:

Bardziej szczegółowo

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki. Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów

Bardziej szczegółowo

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem

Bardziej szczegółowo

Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ

Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ Mariusz Jankowski autor strony internetowej poświęconej Excelowi i programowaniu w VBA; Bogdan Gilarski właściciel firmy szkoleniowej Perfect And Practical;

Bardziej szczegółowo

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy Pytania SO Oprogramowanie Biurowe Pytania: Egzamin Zawodowy Pytania SO Oprogramowanie Biurowe (1) Gdzie w edytorze tekstu wprowadza się informację lub ciąg znaków, który ma pojawić się na wszystkich stronach

Bardziej szczegółowo

Grafowy model bazy danych na przykładzie GOOD

Grafowy model bazy danych na przykładzie GOOD GOOD p. 1/1 Grafowy model bazy danych na przykładzie GOOD (Graph-Oriented Object Database Model) Marcin Jakubek GOOD p. 2/1 Plan prezentacji Przykłady modeli danych Zastosowania Inne modele grafowe Wizualizacja

Bardziej szczegółowo

Sterowanie wielkością zamówienia w Excelu - cz. 3

Sterowanie wielkością zamówienia w Excelu - cz. 3 Sterowanie wielkością zamówienia w Excelu - cz. 3 21.06.2005 r. 4. Planowanie eksperymentów symulacyjnych Podczas tego etapu ważne jest określenie typu rozkładu badanej charakterystyki. Dzięki tej informacji

Bardziej szczegółowo

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka. Email: krzysztof.pieczarka@gmail.

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka. Email: krzysztof.pieczarka@gmail. Wrocławska Wyższa Szkoła Informatyki Stosowanej Bazy danych Dr hab. inż. Krzysztof Pieczarka Email: krzysztof.pieczarka@gmail.com Literatura: Connoly T., Begg C., Systemy baz danych Praktyczne metody projektowania,

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy

Bardziej szczegółowo

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Bazy Danych Bazy Danych i SQL Podstawowe informacje o bazach danych Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Literatura i inne pomoce Silberschatz A., Korth H., S. Sudarshan: Database

Bardziej szczegółowo

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład VII Kierunek Informatyka - semestr V Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Problem pakowania plecaka System kryptograficzny Merklego-Hellmana

Bardziej szczegółowo

Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych

Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych dr Piotr Sulewski POMORSKA AKADEMIA PEDAGOGICZNA W SŁUPSKU KATEDRA INFORMATYKI I STATYSTYKI Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych Wprowadzenie Obecnie bardzo

Bardziej szczegółowo

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej Struktura stanowiska laboratoryjnego Na rysunku 1.1 pokazano strukturę stanowiska laboratoryjnego Z80 z interfejsem częstościomierza- czasomierz PFL 21/22. Rys.1.1. Struktura stanowiska. Interfejs częstościomierza

Bardziej szczegółowo

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

Architektury komputerów Architektury i wydajność. Tomasz Dziubich Architektury komputerów Architektury i wydajność Tomasz Dziubich Przetwarzanie potokowe Przetwarzanie sekwencyjne Przetwarzanie potokowe Architektura superpotokowa W przetwarzaniu potokowym podczas niektórych

Bardziej szczegółowo

Tworzenie aplikacji bazodanowych

Tworzenie aplikacji bazodanowych Wydział Informatyki Politechnika Białostocka Studia stacjonarne Tworzenie aplikacji bazodanowych Prowadzący: pokój: E-mail: WWW: Małgorzata Krętowska, Agnieszka Oniśko 206 (Małgorzata Krętowska), 207 (Agnieszka

Bardziej szczegółowo

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer Realizacja algorytmu przez komputer Wstęp do informatyki Wykład UniwersytetWrocławski 0 Tydzień temu: opis algorytmu w języku zrozumiałym dla człowieka: schemat blokowy, pseudokod. Dziś: schemat logiczny

Bardziej szczegółowo