Aspekty wydajności systemów opartych na bazie danych Oracle

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

Download "Aspekty wydajności systemów opartych na bazie danych Oracle"

Transkrypt

1 V Konferencja PLOUG Zakopane Październik 1999 Aspekty wydajności systemów opartych na bazie danych Oracle Paweł Radziulis Instytut Technik Telekomunikacyjnych i Informatycznych, Poznań Autor: Absolwent Akademii Techniczno-Rolniczej w Bydgoszczy. Od roku członek Zespołu Systemów Informatycznych i Multimediów, Instytutu Technik Telekomunikacyjnych i Informatycznych w Poznaniu. Streszczenie: Zadowolenie użytkowników, które jest miarą jakości systemu informatycznego zależy w dużej mierze od wydajności systemu (czas reakcji systemu, czas realizowania poleceń itd.). Zapewnienie odpowiedniej wydajności systemu jest kluczowym problemem w sytuacji gdy przewiduje się, że system ma obsługiwać wielu użytkowników w tym samym czasie.

2 1. Wstęp Podstawowym narzędziem uzyskania dobrej wydajności jest optymalizacja aplikacji i systemu bazy danych. Optymalizacja jest najbardziej efektywna kiedy przeprowadzana jest podczas kolejnych faz projektowania aplikacji, a nie czasie wdrażania gotowego systemu. Optymalizacja aplikacji powinna być przeprowadzana w etapach analizy i projektowania aplikacji. Przy silnej współpracy projektantów systemu oraz pionu kierowniczego klienta muszą zostać określone dokładnie cele stawiane aplikacji oraz realistyczne prognozy wydajności nowego systemu podczas jego pierwszego uruchomienia. Podczas etapu analizy i projektowania aplikacji projektanci mogą określić wtedy jaka kombinacja konfiguracji nowego systemu i możliwości udostępnianych przez Oracle a dadzą najbardziej wydajny system. Poprzez optymalizacje podczas tych dwóch etapów minimalizowane są w bardzo dużym stopniu ewentualne koszty związane z późniejszym przebudowywaniem aplikacji bądź systemu. Rys.1 pokazuje względny koszt optymalizacji podczas czasu życia aplikacji, zaś rys. 2 korzyści z optymalizacji podczas czasu życia aplikacji: Koszt Analiza Projektowanie Implementacja Czas Rys. 1 Koszt optymalizacji podczas czasu życia aplikacji Koszt Analiza Projektowanie Implementacja Czas Rys. 2 Korzyści z optymalizacji podczas czasu życia aplikacji 2

3 Optymalizacja systemu bazy danych przeprowadzana w czasie wdrożenia systemu ograniczyć się może tylko do konfiguracji pamięci oraz optymalizacji procesów wejścia / wyjścia systemu. Podczas implementacji systemu może okazać się, że zarówno baza Oracle jak i sam system operacyjny działają w najbardziej wydajnej konfiguracji, a sama aplikacja nie spełnia naszych oczekiwań. Jedynymi metodami poprawienia współczynników wydajnościowych jest optymalizacja samej aplikacji lub zwiększenie zasobów systemu komputerowego. Cele jakie stawia się podczas optymalizacji zależą od typu aplikacji. Aplikacje typu OLTP (ang. Online Transaction Processing) obsługujące bardzo wiele prostych operacji jednocześnie za podstawę wydajności przyjmą efektywność działania zasobów oferowanych przez system. W przeciwieństwie do nich aplikacje DSS (ang. Decision Support System) ukierunkowane są na obsługę małej ilości użytkowników jednocześnie, a podstawą miary ich wydajności jest szybkość odpowiedzi systemu. Ponieważ czas odpowiedzi systemu równy jest czasowi obsługi procesu przez system oraz czasowi oczekiwania na odpowiedź, wydajność można zwiększyć tu na dwa sposoby: przez redukcję czasu obsługi przez system; przez redukcję czasu oczekiwania na odpowiedź. Np. w systemach wieloprocesorowych poszczególne zadania mogą być realizowane natychmiast wykorzystując zasoby (procesory) przydzielone tylko do ich dyspozycji. Efektywność działania zasobów oferowanych przez system mierzona jest jako ilość skończonej pracy w zadanej ilości czasu. Istnieją dwie techniki zwiększania wydajności zasobów systemu: Zwiększenie ilości wykonanej pracy w oparciu o te same zasoby redukcja czasu obsługi. Zwiększenie szybkości pracy systemu poprzez skrócenie czasu oczekiwania na odpowiedź. Czas oczekiwania na odpowiedź związany jest ściśle z takimi zasobami systemu jak procesory, pamięć, operacje wejścia / wyjścia. Zwiększenie tych zasobów, a szczególnie tych, które powodują długie czasy oczekiwania na odpowiedź, zwiększa wydajność systemu oraz zmniejsza czasy oczekiwania na odpowiedź. 2. Kolejność kroków optymalizacji Najlepsza metoda optymalizacji opiera się na liście kroków uporządkowanych według zysku jaki uzyskuje się poprzez ich wykonanie oraz etapy projektu, w których powinny być wykonane tzn. od analizy poprzez projektowanie do implementacji. Czym krok jest wcześniejszy tym więcej korzyści można osiągnąć podczas jego wykonywania. Krok 1: Zmiana reguł biznesowych Krok 2: Projektowanie modelu danych Krok 3: Projektowanie aplikacji Krok 4: Projektowanie logicznej struktury bazy danych Krok 5: Optymalizacja operacji na bazie danych Krok 6: Optymalizacja ścieżek dostępu Krok 7: Optymalizacja konfiguracji pamięci operacyjnej Krok 8: Optymalizacji operacji wejścia / wyjścia 3

4 Krok 9: Optymalizacja blokad zasobów Krok 10: Optymalizacja systemu operacyjnego 3. Zmiana reguł biznesowych Jednym z kroków zwiększenia wydajności jest dostosowanie reguł biznesowych. Jest to proces bardzo dokładnych analiz oraz projektowania całego systemu. Na etapie tym projektanci muszą określić czy wymagania wydajności systemu odpowiadają ściśle potrzebom biznesowym klienta. Często podczas analizy systemu funkcje biznesowe aplikacji są tworzone zbyt szczegółowo. Szczegółowość taka nie mająca widocznego wpływu na efekt działania funkcji może w poważnym stopniu ograniczyć możliwości programistów w kierunku uzyskania jak najlepszych parametrów wydajnościowych dla danych funkcji, poprzez ograniczenie ich pola działania. A czym więcej możliwości mają do wyboru programiści tym większa szansa na osiągniecie wysokich współczynników wydajności systemu lub aplikacji. 4. Projektowanie modelu danych Podczas etapu definiowania danych należy określić jakie dane są konieczne do prawidłowego działania aplikacji, jakie posiadają atrybuty oraz jakie zależności pomiędzy nimi istnieją oraz które z nich są najważniejsze. Generalnie proces projektowania bazy danych opiera się na normalizacji. Jest to proces mający na celu wyeliminowanie z bazy danych redundancji. Czasami jednak konieczna staje się denormalizacja bazy danych w celu poprawienia wydajności jej działania. Np. kiedy projektanci stwierdzą, że najczęściej pobierane dane sumaryczne powinny być przechowywane w bazie danych a nie obliczane każdorazowo przez aplikację. W przypadku projektowania hurtowni danych bądź bazy danych operujących na bardzo dużych ilościach danych przydatne staje się partycjonowanie tabel. Partycjonowanie pozwala użytkownikowi na dekompozycję tabel i indeksów na mniejsze, łatwiejsze w zarządzaniu, fragmenty zwane partycjami. Każda z takich partycji traktowana jest jako osobny segment. Wszystkie partycje tabeli lub indeksu składają się z tych samych kolumn i posiadają te same definicje więzów integralności, lecz każda z nich może posiadać swoje własne parametry alokacji przestrzeni i być umieszczona w innej przestrzeni tabel. Dzięki partycjonowaniu tabel uzyskujemy: Efektywniejsze ścieżki dostępu dla optymalizacji kosztowej. Możliwości przeszukiwania tabel przy pomocy predykatów zakresu opartych o kolumnę partycjonowania. Możliwość okresowego załadowywania lub usuwania danych poprzez dodawania lub usuwanie partycji. Możliwości częściowej archiwizacji tabeli. Inną metodą redukcji obciążenia przeciążonego dysku jest przesunięcia najbardziej aktywnych plików na inne, mniej obciążone dyski. Jeśli wielu użytkowników jednocześnie wykonuje operacje na pewnej dużej 4

5 tabeli, to w celu zmniejszenia rywalizacji, należy ją rozłożyć pomiędzy różne pliki danych umieszczone na różnych dyskach. Ogólnie należy też dążyć do wyeliminowania operacji wejścia / wyjścia generowanych przez systemy nie związane z Oracle na dyskach, na których umieszczone są pliki bazy danych. Rozkładanie plików dokonać można poprzez system operacyjny (rozkładanie software owe lub RAID) lub ręcznie (polecenia CREATE TABLE lub ALTER TABLE ALLOCATE). Dla szybkiego i łatwego wyszukiwania danych tworzy się indeksy kluczy własnych oraz kluczy obcych na istniejących relacjach pomiędzy tablicami. 5. Projektowanie aplikacji Podczas tworzenia aplikacji konieczne jest efektywne odwzorowanie procesów wykonywanych w firmie w sprawnie działający system. Każdemu takiemu procesowi odpowiada osobna aplikacja systemu bądź część aplikacji. Niejednokrotnie różne procesy korzystają w pewnych swych okresach z identycznych podprocesów funkcji. Logiczne jest aby takie wyodrębnione bloki, wykorzystywane wielokrotnie lub wykorzystywane przez kilka procesów, były definiowane tylko jeden raz. Taką funkcję pełnią właśnie funkcje składowane oraz procedury składowane. 6. Projektowanie logicznej struktury bazy danych Podczas projektowania struktury bazy danych jedną z najważniejszych czynności jest przerobienie struktury indeksów. Poprawne skonfigurowanie indeksów ma większy wpływ na działanie aplikacji niż restrukturyzacja wyrażeń SQL lub przebudowa danych. Indeks zwiększa wydajność zapytań, które wybierają niedużą procentowo liczbę wierszy z tablicy. Zwykle indeksy zakłada się na tablicach, które są często przeszukiwane dla mniej niż 3 % do 4% wierszy w niej zawartych. Wartość ta może być większa w przypadku kiedy wszystkie żądane dane mogą zostać pobrane z indeksu bądź kiedy indeksowana kolumna będzie używana do tworzenia relacji z innymi tablicami. Tworzenie indeksów oparte jest na następujących założeniach i cechach charakterystycznych relacyjnych baz danych: Wiersze posiadające tą samą wartość w kolumnie, na której oparte jest zapytanie, są niejednolicie rozmieszczone w bloku danych przestrzeni tablic przydzielonym dla tablicy z danymi. Wiersze w tablicy są rozmieszczone losowo a ich układ nie odnosi się do żadnych kryteriów, na których opierają się zapytania. Tablice zawierają stosunkowo małą liczbę kolumn. Większość zapytań na tablicy ma względnie proste klauzule WHERE. Częstotliwość odwołań do pamięci podręcznej jest względnie niska. 5

6 Jeśli powyższe założenia nie opisują danych zawartych w tablicach, do których odwołują się zapytania, wtedy indeksy nie będą miały dużego wpływu na przyspieszenie działania wyrażeń SQL dopóki zapytania nie będą dotyczyły przynajmniej 25% wierszy z tablicy. Mimo, że optymalizacja kosztowa jest idealna do zapobiegania użycia nieselektywnych indeksów podczas wykonywania zapytań, motor SQL musi cały czas podtrzymywać wszystkie indeksy zdefiniowane na danych tablicach, niezależnie od tego czy są one wykorzystywane czy nie. Podtrzymywanie indeksów ma znaczący wpływ na zasoby procesora i układu wejścia / wyjścia systemu dla każdej aplikacji obsługującej dużą ilość operacji wejścia / wyjścia. Innymi słowy tworzenie indeksów na wszelki wypadek nie jest dobrą praktyką. Indeks nie powinien być tworzony dopóki nie będzie miał być wykorzystany, a z sytemu powinny zostać usunięte wszystkie indeksy, które nie są używane. Detekcję indeksów, do których nie odnoszą się żadne zapytania dokonuje się poprzez analizę wszystkich zapytań SQL wykorzystywanych w aplikacji funkcją EXPLAIN PLAN i odczycie jej wyników. Przy wyborze kolumn do indeksów programista powinien kierować się poniższymi wskazówkami: Należy brać pod uwagę kolumny, które są często wykorzystywane w klauzulach WHERE wyrażeń SQL. Należy brać pod uwagę kolumny, które są wykorzystywane do tworzenia relacji pomiędzy tablicami. Indeksy należy tworzyć na kolumnach mających procentowo małą liczbę wierszy o takich samych wartościach w kolumnie, do której ma odnosić się indeks. Należy pamiętać, że Oracle tworzy automatycznie indeksy na wszystkich kolumnach, na których zostały nałożone klucze unikatowe lub klucze własne. Indeksy te są najbardziej efektywne w procesie optymalizacji. 7. Optymalizacja operacji na bazie danych Optymalizację operacji na bazie danych można dokonać na dwa sposoby: Wykorzystując procesy optymalizacji Oracle Przez przebudowę poleceń SQL. Procesy optymalizacji Oracle udostępniają pracują w dwóch trybach: optymalizacji kosztowej i optymalizacji regułowej. Optymalizacja regułowa przynosi największe korzyści wykorzystywana w aplikacjach już istniejących. Zaś w celu uzyskania jak największych korzyści z nowych funkcjonalności tych procesów powinno stosować się regułę kosztową. Optymalizacja kosztowa generalnie wybiera plany wykonania zapytań lepsze od optymalizacji regułowej, szczególnie dla długich zapytań z wieloma powiązaniami bądź korzystających z wielu indeksów. W pewnym stopniu optymalizacja kosztowa eliminuje potrzebę optymalizacji samych zapytań SQL. Aby optymalizacja kosztowa zadziałała poprawnie konieczne jest wykonanie analiz na tablicach poleceniem ANALYZE. 6

7 8. Optymalizacja ścieżek dostępu W kroku tym należy przeanalizować efektywność dostępu do danych. Jeśli okaże się, że jednoczesny dostęp wielu użytkowników blokowany jest przez ograniczony dostęp do tablic, należy zastanowić się nad użyciem klastrów, hash-klastrów oraz indeksów. Klastry tworzy się na tablicach, do których zapytania odwołują się jednocześnie. W klastrze przechowywane są wiersze posiadające ten sam klucz klastra. Każda różna wartość klucza przechowywana jest tylko raz niezależnie od ilości tablic lub wierszy, w których występuje. Oszczędza to miejsce na dysku i przyspiesza wiele operacji dostępu do danych ściśle powiązanych ze sobą. Dla każdego klastra przed jego użyciem konieczne jest stworzenie własnego indeksu. Odmianą klastra są hash-klastry. Różnica polega tylko na tym, że kluczami są tu wartości hash funkcji. Funkcje takie tworzone są przez użytkowników bądź wykorzystywana jest, któraś z funkcji istniejących już w systemie Oracle. Do przyspieszenia dostępu, szczególnie do grup danych, mogą służyć indeksy grupowe i bitmapowe. Indeks grupowy jest to indeks, który odnosi się do więcej niż jednej kolumny w tablicy. Indeksy grupowe posiadają lepszą selektywność, niż indeksy zakładane na pojedynczych kolumnach. Czasami dwie lub więcej kolumn, każda o słabej selektywności, mogą być połączone w indeksie zapewniając dobrą efektywność wyszukiwania po danej tablicy. Dodatkowo indeksy te pozwalają na przechowywanie dodatkowych danych. Jeżeli wszystkie dane, które pobierane są w zapytaniu z danej tablicy, zawarte są w indeksie grupowym założonym na tej tablicy, Oracle pobierze te dane bez konieczności wyszukiwania ich w tablicy. Wyrażenie SQL wykorzysta indeks grupowy jeżeli jego struktura będzie zawierała początkowa cześć indeksu. Początkowa część indeksu to zestaw jednej lub więcej kolumn, które znajdują się na początku i to uporządkowane w kolejności jakiej znajdują się na liście kolumn w wyrażeniu CREATE INDEX, które stworzyło indeks. Tworzenie indeksów grupowych należy brać pod uwagę w następujących przypadkach: kiedy w klauzuli WHERE znajdują się kolumny z jednej tablicy i są od siebie oddzielone operatorem AND; jeżeli kilka zapytań korzysta z tego samego zestawu wartości pobieranych z jednej lub więcej kolumn z jednej tablicy. System Oracle udostępnia także indeksy bitmapowe, których zalety wykorzystuje się tam gdzie zawodzą indeksy B*-tree. Indeksy bitmapowe mogą znacznie zwiększyć wydajność zapytań o następujących charakterystykach: klauzule WHERE zawierają zbiorowe zapytania na mało lub średnio ważnych kolumnach; pojedyncze zapytanie na mało lub średnio ważnych kolumnach zwraca dużą ilość wierszy; tablica, na której wykonywane jest zapytanie posiada bardzo dużą liczbę wierszy. Zalety indeksów bitmapowych najlepiej są wykorzystywane przy złożonych zapytaniach zawierających długie klauzule WHERE, oraz zapytaniach łączonych ze sobą. W porównaniu z indeksami łączonymi B*-tree indeksy bitmapowe mogą znacznie zaoszczędzić zasoby systemu podczas gromadzenia danych. W bazie zawierającej tylko indeksy B*-tree, administrator musi 7

8 określić kolumny, które będą lub mogą być wykorzystywane razem w klauzulach WHERE i na tej podstawie stworzyć indeks grupowy. Indeks taki wymaga dużej ilości pamięci ze względu na przechowywanie danych z kilku kolumn. Oprócz tego indeks taki musi zostać uporządkowany. Oznacza to, że baza musi stworzyć indeksy na możliwość wystąpienia wszystkich permutacji kolumn, na których został stworzony indeks grupowy. Dla indeksu grupowego na trzech kolumnach zostanie stworzonych sześć niezależnych indeksów typu B*-tree. Indeksy bitmapowe rozwiązują ten problem. Są one efektywnie wiązane ze sobą dopiero podczas wykonywania zapytania. Indeksy bitmapowe utworzone osobno na trzech kolumnach wykonają taką samą pracę jak sześć indeksów grupowych typu B*-tree utworzonych na tych trzech kolumnach. Dla kolumn gdzie dana wartość powtórzona jest kilkaset lub kilka tysięcy razy, indeks bitmapowy zajmie około 25% pamięci potrzebnej indeksowi typu B*-tree. Efekt ten jest otrzymywany dzięki temu, że indeksy bitmapowe przechowywane są w formie skompresowanej. Cecha ta nie dotyczy kolumn, na których założone są klucze unikatowe. Wydajniejsze stają się wtedy zwykłe indeksy B*-tree. 9. Optymalizacja konfiguracji pamięci operacyjnej Konfiguracja pamięci operacyjnej ma trzy główne cele: redukcja operacji stronicowania i przerzucanie danych swapping ; umieszczenie SGA w głównej pamięci; rezerwacja wystarczającej ilości pamięci dla poszczególnych użytkowników. System operacyjny może gromadzić informacje w pamięci operacyjnej, pamięci wirtualnej, zewnętrznych nośnikach danych lub na dyskach. Odpowiednie mechanizmy pozwalają na przenoszenie informacji (danych) pomiędzy tymi różnymi mediami. Procesy te to stronicowanie i swapping. Procesy te uaktywniają się w momencie wprowadzania dużej ilości nowych danych do systemu i prowadzą do zwolnienia wykonywanych poleceń. W takim przypadku należy zwiększyć ilość pamięci operacyjnej bądź zmniejszyć ilość pamięci rezerwowanej dla użytkowników. Ponieważ dostęp do pamięci operacyjnej jest o wiele szybszy od dostępu do dysków, wskazane jest aby cały SGA był ładowany do głównej pamięci. W przypadku kiedy część danych SGA zostanie przerzucona na dysk spowoduje to redukcję szybkości dostępu do tych danych. Kiedy dane te są niewykorzystywane nie tylko nie zmniejsza to wydajności systemu, ale zwiększa ilość dostępnej pamięci operacyjnej. Oracle udostępnia opcję automatycznego ładowania całego SGA do pamięci komputera w momencie uruchamiania instancji. W tym celu należy ustawić parametr inicjalizujący PRE_PAGE_SGA na YES. Ustawienie to może zwiększyć czas potrzebny na uruchomienie instancji, ale za to zmniejszy czas potrzebny na osiągnięcie pełnej funkcjonalności przez bazę Oracle. Obszar SGA można generalnie podzielić na trzy części: bufor danych - przechowuje kopie danych odczytanych z plików; bufor dziennika powtórzeń - przechowuje zapisy o wszystkich operacjach DML i DDL; globalny obszar dzielony. Optymalizację można przeprowadzić na wszystkich tych częściach. 8

9 Ponieważ operacje wejścia / wyjścia zabierają znaczną ilość czasu i zwiększają obciążenie procesora, to wydajność pracy Oracle może być znaczeni zwiększona, jeśli procesy serwera większość potrzebnych bloków znajdować będą w pamięci. Statystyką, która pozwala na zmierzenie wydajności bufora danych jest współczynnik trafień w bufor. Statystyka ta to iloraz liczby bloków znalezionych w pamięci do liczby wszystkich bloków, na których procesy serwera wykonywały operacje. Jeśli bufor danych jest zbyt mały, to wydajność systemu jest niska, gdyż musi on wykonywać wiele operacji wejścia / wyjścia. Celem strojenia bufora danych jest zachowanie w pamięci wszystkich danych wykorzystywanych przez serwer oraz utrzymanie współczynnika trafień dla systemów OLTP powyżej 90%. Aby zwiększyć współczynnik trafień w bufor danych można: zwiększyć rozmiar bufora danych (przechowywanie większej ilości danych) stosowanie wielu pul buforów w celu oddzielenia bloków o różnych charakterystykach dostępu buforować w pamięci całe tabele. Każda operacja wykonana na bazie Oracle jest przechowywana w buforze dziennika powtórzeń, a potem w plikach dziennika powtórzeń na dysku, zatem prawidłowe skonfigurowanie tego bufora może mieć znaczący wpływ na poprawę wydajności systemu. Nastrojenie tego bufora powinno zapewnić wystarczającą przestrzeń dla wszystkich potrzebujących procesów serwera oraz zminimalizowanie niepotrzebnie rezerwowanej pamięci operacyjnej. Wartość parametru określającego wielkość bufora dziennika powtórzeń zależna jest w dużej mierze od systemu operacyjnego. Zwykło się przyjmować, że powinna być czterokrotnie większa od maksymalnego rozmiaru bloku danych. Globalny obszar dzielony składa się z: bufora bibliotecznego - przechowującego dzielone przez użytkowników polecenia SQL i bloki PL./SQL, bufora słownika danych przechowującego definicje obiektów słownikowych, globalnego obszaru użytkownika. Celem strojenia globalnego obszaru dzielonego jest: redukcja analiz do minimum (jeśli w buforze znajduje się już analiza polecenia SQL, które jest wywoływane przez serwer, to jego gotowy wynik zostanie pobrany bezpośrednio z pamięci, a nie jeszcze raz przeliczany) współczynnik trafień w obszar dzielony powinien być większy niż 90%; zmniejszenie stosunku ponownych załadowań do żądań w buforze bibliotecznym do poziomu poniżej 1%; zmniejszenie stosunku braków do żądań w buforze słownika danych do poziomu poniżej 15%. Niedogodnością optymalizacji globalnego obszaru dzielonego jest konieczność każdorazowego testowania wprowadzanych zmian na działającej bazie i aplikacjach. 10. Optymalizacja operacji wejścia / wyjścia Większość dysków posiada limit na ilość jednoczesnych dostępów do niego jak i ilości danych jakie można z niego odczytać jednocześnie. W momencie kiedy z operacji odczytu z dysku będzie chciało skorzystać zbyt wielu użytkowników i przekroczony zostanie któryś z powyższych parametrów, nastąpi 9

10 spowolnienie wykonywania niektórych procesów. Co odzwierciedli się w spadku wydajności systemu. Aby nie dopuścić do takich sytuacji zalecane są następujące czynności: Oddzielenie plików danych od plików dziennika powtórzeń pliki dziennika powtórzeń zapisywane są sekwencyjnie przez proces LGWR, a umieszczenie ich na dyskach nie obciążonych spowoduje iż operacja zapisu do tych plików nastąpi o wiele szybciej i nie spowolni jednoczesnego dostępu do plików danych. Partycjonowanie tablic - partycjonowanie dzieli tabele i indeksy na mniejsze, łatwiejsze w zarządzaniu, fragmenty zwane partycjami, a każda z takich partycji traktowana jest jako osobny segment. Eliminacja operacji wejścia / wyjścia procesów nie związanych z Oracle na dyskach z plikami danych bądź plikami dziennika powtórzeń. 11. Optymalizacja blokad zasobów W systemach wykorzystywanych jednocześnie przez wielu użytkowników spowolnienie pracy może następować z powodu blokady dostępu do bloków danych na dysku lub w pamięci w wyniku zbyt dużej liczby jednoczesnych odwołań. Spadek wydajności systemu następuje w wyniku kolejkowania kolejnych procesów w systemie. Jedną z możliwości niwelowania tego stanu jest zmiana wielkości bloków danych. Każda tablica danych w systemie jest składowana w postaci bloków danych. Najlepszą wydajność otrzymuję się kiedy w pojedynczym cyklu odczytu otrzymujemy wszystkie żądane dane z bloku. Czym bloki danych są mniejsze tym krótsze są cykle odczytu i łatwiejszy dostęp wielu użytkowników. Jednakże wielkość bloków danych jest płynna w zależności od aplikacji, które obsługują bazę danych. Np. dla aplikacji typu OLTP, gdzie duża ilość użytkowników generuje jednocześnie wiele zapytań, optymalna wielkość bloków danych to 2K 4K. Wraz ze wzrostem złożoności tabel (ilości kolumn) wielkość ta powinna systematycznie rosnąć, aż do 64K dla aplikacji typu DSS, gdzie dostęp do dużej ilości danych następuje sekwencyjnie. 12. Optymalizacja systemu operacyjnego Kiedy został zakończony proces optymalizacji systemu bazy danych, można spróbować skonfigurować system operacyjny. Trzeba jednak wiedzieć, że konfiguracja ta nie przyniesie wielkiego wzrostu wydajności. Jednymi z możliwych parametrów konfiguracyjnych systemu operacyjnego mających bezpośredni wpływ na bazę danych jest ilość i położenie plików wymiany oraz priorytet procesów pierwszo- i drugoplanowych Oracle (na systemach UNIX). 13. Podsumowanie Spośród wymienionych powyżej metod najłatwiejsze w realizacji oraz dające znaczną poprawę wydajności systemu bazy danych to zastosowanie optymalizacji kosztowej Oracle wraz z wykonaniem analiz tablic systemu oraz strojenie pamięci operacyjnej systemu. W pierwszym przypadku przy bardzo niewielkim wkładzie pracy uzyskać można nawet dwukrotne przyspieszenie wykonywania dowolnych operacji na bazie 10

11 danych. W szczególnych przypadkach funkcji składowanych, typowo matematycznych, przyspieszenie może osiągnąć wartość ponad 100 razy. W przypadku strojenia samej pamięci operacyjnej systemu wkład pracy jest już znacznie większy. Stajemy przed koniecznością testowania wielu zestawu parametrów, często zmiana tych parametrów powiązana jest z restartem bazy danych. W przeprowadzonych testach na platformie Windows NT poprzez zmianę samego parametru DB_BLOCK_BUFFERS uzyskano zwiększenie wydajności systemu o prawie 25%. Dość znaczne przyspieszenie działania systemu można osiągnąć poprzez odpowiednie zaprojektowanie samej aplikacji. Jest to łatwe do uzyskania szczególnie w przypadku aplikacji, której formularze korzystają z wielu zakładek. Najczęściej zakładki stosowane są w formularzach, które zawierają i wyświetlają duże ilości danych. Poprzez sekwencyjne ładowanie i doczytywanie danych, dla każdej widocznej zakładki osobno, odciążamy serwer od wielu czasami niepotrzebnie wykonywanymi operacjami (w przypadku gdy użytkownik korzysta tylko z jednej zakładki, a dane są pobierane lub obliczane dla całego formularza) oraz dokonujemy widocznego przyspieszenia działania systemu. Krytycznymi punktami procesu optymalizacji systemu są kroki tworzenia reguł biznesowych oraz projektowania samego modelu danych. Etapy te opierają się na ścisłej współpracy projektanta z klientem. Ścierają się wtedy dwie koncepcje struktury systemu. Jedna - klienta jak najbardziej zbliżona do potrzeb procesów firmy odwzorowywanych w systemie, ale z reguły mało optymalną pod względem wydajności. Druga - projektanta zachowująca pełne funkcjonalności poprzedniej, ale uwzględniająca aspekt wydajności działania systemu. Najważniejszym elementem tych etapów do jakich musi dążyć projektant jest ograniczenie w modelu danych liczby powiązań typu wiele do wiele. Jest to typ powiązań, który bardzo często pojawia się w modelu danych preferowanym przez klienta. W większości przypadków możliwe jest przemodelowanie systemu tak, aby powiązania te zastąpić powiązaniami typu jeden do wielu, co uchroni projektantów aplikacji od konieczności tworzenia bardzo skomplikowanych skryptów SQL znacznie spowalniających pracę systemu. Są to etapy najtrudniejsze dla projektantów, ponieważ często muszą oni uświadomić klienta, że proces optymalizacji systemu nie zaczyna się w chwili jego wdrażania, ale trwa przez cały okres projektu. A zmiany które przedstawiane są przez niego są konieczne do efektywnego działania systemu. Jak można zauważyć z powyższych rozważań proces optymalizacji systemu jest problemem bardzo złożonym. Dotyczy zarówno aplikacji, bazy danych oraz systemu operacyjnego. Rozciągnięcie jego na cały okres tworzenia systemu jest jednym z kluczowych zadań jakie stoją przed projektantami i programistami. Zbagatelizowanie albo opuszczenie, któregoś z jego kroków może doprowadzić do konieczności zwiększenia nakładu pracy w pozostałych etapach tworzenia systemu bądź późniejszym braku możliwości optymalizacji systemu bez konieczności ponownego etapu projektowania całej aplikacji. A optymalizacja to podstawowy klucz do zwiększenia wydajności systemu. 11

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 9 Optymalizacja zapytań Pobieranie planu wykonania Indeksy i wydajność - 1 - Zadania optymalizatora

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z

Bardziej szczegółowo

Hurtownie danych. 31 stycznia 2017

Hurtownie danych. 31 stycznia 2017 31 stycznia 2017 Definicja hurtowni danych Hurtownia danych wg Williama Inmona zbiór danych wyróżniający się następującymi cechami uporządkowany tematycznie zintegrowany zawierający wymiar czasowy nieulotny

Bardziej szczegółowo

OPRACOWANIE: SŁAWOMIR APANOWICZ

OPRACOWANIE: SŁAWOMIR APANOWICZ PROJEKTOWANIE RELACYJNEJ BAZY DANYCH OPRACOWANIE: SŁAWOMIR APANOWICZ 1. Ogólne informacje o projektowaniu bazy danych Przystępując do projektowania bazy danych należy określić jej cel oraz zadania, jakie

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

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK Paweł Lenkiewicz Polsko Japońska Wyższa Szkoła Technik Komputerowych Plan prezentacji PJWSTK

Bardziej szczegółowo

Optymalizacja poleceń SQL Metody dostępu do danych

Optymalizacja poleceń SQL Metody dostępu do danych Optymalizacja poleceń SQL Metody dostępu do danych 1 Metody dostępu do danych Określają, w jaki sposób dane polecenia SQL są odczytywane z miejsca ich fizycznej lokalizacji. Dostęp do tabeli: pełne przeglądnięcie,

Bardziej szczegółowo

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Instalacja roli kontrolera domeny, Aby zainstalować rolę kontrolera domeny, należy uruchomić Zarządzenie tym serwerem, po czym wybrać przycisk

Bardziej szczegółowo

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w

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

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Krzysztof Kadowski. PL-E3579, PL-EA0312, Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza

Bardziej szczegółowo

Galileo - encyklopedia internetowa Plan testów

Galileo - encyklopedia internetowa Plan testów Galileo - encyklopedia internetowa Plan testów Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Matek Sobierajski 5 czerwca 2006 1 Spis treści 1 Wprowadzenie 3 1.1 Cel..........................................

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

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15

Bardziej szczegółowo

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Przydział ciągły (ang. contiguous allocation) cały plik zajmuje ciąg kolejnych bloków Przydział listowy (łańcuchowy, ang. linked

Bardziej szczegółowo

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Plan wykładu Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka

Bardziej szczegółowo

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka spójności

Bardziej szczegółowo

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ zajęcia 1: 2. Procedury składowane

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

Biuletyn techniczny. CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu. Copyright 2006 COMARCH SA

Biuletyn techniczny. CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu. Copyright 2006 COMARCH SA Biuletyn techniczny CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu Copyright 2006 COMARCH SA Spis treści 1 SPIS TREŚCI...2 2 DRIVER ODBC POWODUJĄCY BŁĄD PRZY WYKONYWANIU WYDRUKÓW REPORT WRITER

Bardziej szczegółowo

Bazy danych Wykład zerowy. P. F. Góra

Bazy danych Wykład zerowy. P. F. Góra Bazy danych Wykład zerowy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Patron? Św. Izydor z Sewilli (VI wiek), biskup, patron Internetu (sic!), stworzył pierwszy katalog Copyright c 2011-12 P.

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

Wydajność hurtowni danych opartej o Oracle10g Database

Wydajność hurtowni danych opartej o Oracle10g Database Wydajność hurtowni danych opartej o Oracle10g Database 123 Plan rozdziału 124 Transformacja gwiaździsta Rozpraszanie przestrzeni tabel Buforowanie tabel Różnicowanie wielkości bloków bazy danych Zarządzanie

Bardziej szczegółowo

PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH

PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH ĆWICZENIA NR 4 PRZYGOTOWANIE PAMIĘCI MASOWEJ PARTYCJONOWANIE dr Artur Woike Dyski HDD i SSD muszą być wstępnie przygotowane do pracy. Przygotowanie do pracy odbywa

Bardziej szczegółowo

Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i

Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i VI Seminarium PLOUG Warszawa Styczeñ 2003 Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i Marcin Przepiórowski Strojenie systemu Linux pod kątem serwera bazy danych Oracle 9i 7 1. Wstęp

Bardziej szczegółowo

Hurtownie danych. Wstęp. Architektura hurtowni danych. http://zajecia.jakubw.pl/hur CO TO JEST HURTOWNIA DANYCH

Hurtownie danych. Wstęp. Architektura hurtowni danych. http://zajecia.jakubw.pl/hur CO TO JEST HURTOWNIA DANYCH Wstęp. Architektura hurtowni. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/hur CO TO JEST HURTOWNIA DANYCH B. Inmon, 1996: Hurtownia to zbiór zintegrowanych, nieulotnych, ukierunkowanych

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

Pojęcie bazy danych. Funkcje i możliwości.

Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór

Bardziej szczegółowo

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy

Bardziej szczegółowo

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7 AUREA BPM Oracle TECNA Sp. z o.o. Strona 1 z 7 ORACLE DATABASE System zarządzania bazą danych firmy Oracle jest jednym z najlepszych i najpopularniejszych rozwiązań tego typu na rynku. Oracle Database

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 005 Plik wymiany Pamięć wirtualna 2 SO i SK/WIN Plik wymiany - rodzaj pamięci wirtualnej komputerów. Plik ten służy do tymczasowego przechowywania

Bardziej szczegółowo

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS UNIWERSYTET ZIELONOGÓRSKI INSTYTUT INFORMATYKI I ELEKTROTECHNIKI ZAKŁAD INŻYNIERII KOMPUTEROWEJ Przygotowali: mgr inż. Arkadiusz Bukowiec mgr inż. Remigiusz Wiśniewski LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Bardziej szczegółowo

Referat pracy dyplomowej

Referat pracy dyplomowej Referat pracy dyplomowej Temat pracy: Wdrożenie intranetowej platformy zapewniającej organizację danych w dużej firmie na bazie oprogramowania Microsoft SharePoint Autor: Bartosz Lipiec Promotor: dr inż.

Bardziej szczegółowo

Migracja XL Business Intelligence do wersji

Migracja XL Business Intelligence do wersji Migracja XL Business Intelligence do wersji 2019.0 Copyright 2018 COMARCH Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 006 Wydajność systemu 2 SO i SK/WIN Najprostszym sposobem na poprawienie wydajności systemu, jeżeli dysponujemy zbyt małą ilością pamięci RAM

Bardziej szczegółowo

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1 Bazy danych wprowadzenie teoretyczne Piotr Prekurat 1 Baza danych Jest to zbiór danych lub jakichkolwiek innych materiałów i elementów zgromadzonych według określonej systematyki lub metody. Zatem jest

Bardziej szczegółowo

Podstawy technologii WWW

Podstawy technologii WWW Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy,

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Fizyczna struktura bazy danych w SQL Serwerze

Fizyczna struktura bazy danych w SQL Serwerze Sposób przechowywania danych na dysku twardym komputera ma zasadnicze znaczenie dla wydajności całej bazy i jest powodem tworzenia między innymi indeksów. Fizyczna struktura bazy danych w SQL Serwerze

Bardziej szczegółowo

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku System plików 1. Pojęcie pliku 2. Typy i struktury plików 3. etody dostępu do plików 4. Katalogi 5. Budowa systemu plików Pojęcie pliku (ang( ang. file)! Plik jest abstrakcyjnym obrazem informacji gromadzonej

Bardziej szczegółowo

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Usługi analityczne budowa kostki analitycznej Część pierwsza. Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.

Bardziej szczegółowo

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1 Microsoft Access materiały pomocnicze do ćwiczeń cz. 1 I. Tworzenie bazy danych za pomocą kreatora Celem ćwiczenia jest utworzenie przykładowej bazy danych firmy TEST, zawierającej informacje o pracownikach

Bardziej szczegółowo

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania Przedmiot: Bazy danych Rok: III Semestr: V Rodzaj zajęć i liczba godzin: Studia stacjonarne Studia niestacjonarne Wykład 30 21 Ćwiczenia Laboratorium 30 21 Projekt Liczba punktów ECTS: 4 C1 C2 C3 Cel przedmiotu

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie

Baza danych sql. 1. Wprowadzenie Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który

Bardziej szczegółowo

Spis treści. Przedmowa

Spis treści. Przedmowa Spis treści Przedmowa V 1 SQL - podstawowe konstrukcje 1 Streszczenie 1 1.1 Bazy danych 1 1.2 Relacyjny model danych 2 1.3 Historia języka SQL 5 1.4 Definiowanie danych 7 1.5 Wprowadzanie zmian w tabelach

Bardziej szczegółowo

Systemy baz danych. mgr inż. Sylwia Glińska

Systemy baz danych. mgr inż. Sylwia Glińska Systemy baz danych Wykład 1 mgr inż. Sylwia Glińska Baza danych Baza danych to uporządkowany zbiór danych z określonej dziedziny tematycznej, zorganizowany w sposób ułatwiający do nich dostęp. System zarządzania

Bardziej szczegółowo

Indeksowanie w bazach danych

Indeksowanie w bazach danych w bazach Katedra Informatyki Stosowanej AGH 5grudnia2013 Outline 1 2 3 4 Czym jest indeks? Indeks to struktura, która ma przyspieszyć wyszukiwanie. Indeks definiowany jest dla atrybutów, które nazywamy

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

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2 Szkolenie autoryzowane MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2 Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje Opis szkolenia Szkolenie, gdzie uczestnicy zapoznają

Bardziej szczegółowo

RELACYJNE BAZY DANYCH

RELACYJNE BAZY DANYCH RELACYJNE BAZY DANYCH Aleksander Łuczyk Bielsko-Biała, 15 kwiecień 2015 r. Ludzie używają baz danych każdego dnia. Książka telefoniczna, zbiór wizytówek przypiętych nad biurkiem, encyklopedia czy chociażby

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

Stronicowanie w systemie pamięci wirtualnej

Stronicowanie w systemie pamięci wirtualnej Pamięć wirtualna Stronicowanie w systemie pamięci wirtualnej Stronicowanie z wymianą stron pomiędzy pamięcią pierwszego i drugiego rzędu. Zalety w porównaniu z prostym stronicowaniem: rozszerzenie przestrzeni

Bardziej szczegółowo

Migracja Business Intelligence do wersji 11.0

Migracja Business Intelligence do wersji 11.0 Migracja Business Intelligence do wersji 11.0 Copyright 2012 COMARCH Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest

Bardziej szczegółowo

Wprowadzenie do projektowania i wykorzystania baz danych Relacje i elementy projektowania baz

Wprowadzenie do projektowania i wykorzystania baz danych Relacje i elementy projektowania baz Wprowadzenie do projektowania i wykorzystania baz danych Relacje i elementy projektowania baz Katarzyna Klessa RELACJE dwa sposoby tworzenia Tworzenie relacji: ręcznie za pomocą odpowiednich zapytań (ALTER

Bardziej szczegółowo

Migracja Business Intelligence do wersji 2013.3

Migracja Business Intelligence do wersji 2013.3 Migracja Business Intelligence do wersji 2013.3 Copyright 2013 COMARCH Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest

Bardziej szczegółowo

CuBe EMAT Ewidencja Materiałowa Wersja

CuBe EMAT Ewidencja Materiałowa Wersja Program Ewidencji Materiałowej Uniwersalny program do prowadzenia ewidencji magazynowej, który dzięki prostej obsłudze może być szybko wdrożony dla różnych zastosowań. Charakterystyka programu Program

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Bazy danych stanowią obecnie jedno z ważniejszych zastosowań komputerów. Podstawowe zalety komputerowej bazy to przede wszystkim szybkość przetwarzania danych, ilość dostępnych

Bardziej szczegółowo

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0 ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy

Bardziej szczegółowo

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji - wersja dokumentu 1.3-19.08.2014 Spis treści 1 Wstęp... 4 1.1 Cel dokumentu... 4 1.2 Powiązane dokumenty...

Bardziej szczegółowo

Administracja bazami danych

Administracja bazami danych Administracja bazami danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Klient tekstowy mysql Program mysql jest prostym programem uruchamianym w konsoli shell do obsługi

Bardziej szczegółowo

1. Pamięć wirtualna. 2. Optymalizacja pliku pamięci wirtualnej

1. Pamięć wirtualna. 2. Optymalizacja pliku pamięci wirtualnej 1. Pamięć wirtualna Jeśli na komputerze brakuje pamięci RAM wymaganej do uruchomienia programu lub wykonania operacji, system Windows korzysta z pamięci wirtualnej, aby zrekompensować ten brak. Aby sprawdzić,

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

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

Rejestr HKEY_LOCAL_MACHINE

Rejestr HKEY_LOCAL_MACHINE Rejestr HKEY_LOCAL_MACHINE Poddrzewo HKEY_LOCAL_MACHINE zawiera dane konfiguracyjne lokalnego systemu. Informacje tutaj przechowywane są wykorzystywane przez aplikacje i sterowniki urządzeń, a także przez

Bardziej szczegółowo

Instrukcja konfiguracji programu KS-ASW do pracy w trybie wielopodmiotowym

Instrukcja konfiguracji programu KS-ASW do pracy w trybie wielopodmiotowym Instrukcja konfiguracji programu KS-ASW do pracy Strona 1 z 9 Spis treści 1. Wstęp... 3 2. Zasada działania wielopodmiotowości... 3 3. Uruchamianie trybu wielopodmiotowości... 3 4. Dodawanie nowej firmy...

Bardziej szczegółowo

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

Bardziej szczegółowo

PODSTAWOWE POJĘCIA BAZ DANYCH

PODSTAWOWE POJĘCIA BAZ DANYCH Baza danych (data base) - uporządkowany zbiór danych o określonej strukturze, przechowywany na nośniku informacji w komputerze. System bazy danych można zdefiniować jako bazę danych wraz z oprogramowaniem

Bardziej szczegółowo

Normalizacja baz danych

Normalizacja baz danych Normalizacja baz danych Definicja 1 1 Normalizacja to proces organizowania danych w bazie danych. Obejmuje to tworzenie tabel i ustanawianie relacji między tymi tabelami zgodnie z regułami zaprojektowanymi

Bardziej szczegółowo

System plików. Warstwowy model systemu plików

System plików. Warstwowy model systemu plików System plików System plików struktura danych organizująca i porządkująca zasoby pamięci masowych w SO. Struktura ta ma charakter hierarchiczny: urządzenia fizyczne strefy (partycje) woluminy (w UNIXie:

Bardziej szczegółowo

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście. Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN

Bardziej szczegółowo

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK 1 2 3 Pamięć zewnętrzna Pamięć zewnętrzna organizacja plikowa. Pamięć operacyjna organizacja blokowa. 4 Bufory bazy danych. STRUKTURA PROSTA

Bardziej szczegółowo

Jarosław Kuchta. Administrowanie Systemami Komputerowymi. System plików

Jarosław Kuchta. Administrowanie Systemami Komputerowymi. System plików Jarosław Kuchta System plików Partycja a wolumin Partycja część dysku podstawowego (fizycznego) Wolumin część dysku dynamicznego (wirtualnego) System plików 2 Rodzaje dysków Dyski podstawowe partycjonowane

Bardziej szczegółowo

Wykaz zmian w programie WinAdmin Replikator

Wykaz zmian w programie WinAdmin Replikator Wykaz zmian w programie WinAdmin Replikator Pierwsza wersja programu 1.0.0.1 powstała w czerwcu 2010. kod źródłowy programu zawiera ponad 6 900 wierszy. Modyfikacje/zmiany w wersji 1.0.4.0 (październik

Bardziej szczegółowo

Archiwum DG 2016 PL-SOFT

Archiwum DG 2016 PL-SOFT 2 1 to kompleksowe narzędzie ochrony Twoich danych genealogicznych utworzonych w programie Drzewo genealogiczne. Aplikacja nie wymaga instalacji na komputerze i jest uruchamiana bezpośrednio z dysku USB.

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

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym 1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Bazy danych Database Kierunek: Rodzaj przedmiotu: obieralny Rodzaj zajęć: wykład, laboratorium Matematyka Poziom kwalifikacji: I stopnia Liczba godzin/tydzień: 2W, 2L Semestr: III Liczba

Bardziej szczegółowo

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza

Bardziej szczegółowo

Struktura dysku. Dyski podstawowe i dynamiczne

Struktura dysku. Dyski podstawowe i dynamiczne Struktura dysku Dyski podstawowe i dynamiczne System Windows 2000 oferuje dwa rodzaje konfiguracji dysków: dysk podstawowy i dysk dynamiczny. Dysk podstawowy przypomina struktury dyskowe stosowane w systemie

Bardziej szczegółowo

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych kolekcji. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych

Bardziej szczegółowo

Zapytanie ofertowe. Niespełnienie któregokolwiek wymagania może skutkować odrzuceniem oferty bez jej rozpatrzenia

Zapytanie ofertowe. Niespełnienie któregokolwiek wymagania może skutkować odrzuceniem oferty bez jej rozpatrzenia Warszawa, 05.07.2013r. Zapytanie ofertowe na wyłonienie wykonawcy/dostawcy 1. Wartości Niematerialnych i Prawnych a) aplikacja B2B w ramach realizacji projektu Wdrożenie aplikacji B2B automatyzującej naszą

Bardziej szczegółowo

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. ADMINISTROWANIE BAZAMI DANYCH kl. 4c

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. ADMINISTROWANIE BAZAMI DANYCH kl. 4c Wymagania edukacyjne w technikum ADMINISTROWANIE BAZAMI DANYCH kl. 4c Lp. 1 2 4 5 Temat Zasady dotyczące zarządzania projektem podczas prac związanych z tworzeniem bazy oraz cykl życiowy bazy Modele tworzenia

Bardziej szczegółowo

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,

Bardziej szczegółowo

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

Usługa archiwizacji danych w systemie Eureca. Marek Jelenik CONTROLLING SYSTEMS sp. z o.o.

Usługa archiwizacji danych w systemie Eureca. Marek Jelenik CONTROLLING SYSTEMS sp. z o.o. Usługa archiwizacji danych w systemie Eureca Marek Jelenik CONTROLLING SYSTEMS sp. z o.o. Na czym polega usługa archiwizacji danych w systemie Eureca? 2012 2013 2014 2015 Przed archiwizacją SQL OLAP BAZA

Bardziej szczegółowo

Migracja Business Intelligence do wersji

Migracja Business Intelligence do wersji Migracja Business Intelligence do wersji 2016.1 Copyright 2015 COMARCH Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z możliwości utworzenia struktury bazy danych z

Bardziej szczegółowo

Projektowanie bazy danych przykład

Projektowanie bazy danych przykład Projektowanie bazy danych przykład Pierwszą fazą tworzenia projektu bazy danych jest postawienie definicji celu, założeń wstępnych i określenie podstawowych funkcji aplikacji. Każda baza danych jest projektowana

Bardziej szczegółowo

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer? Kadry Optivum, Płace Optivum Jak przenieść dane na nowy komputer? Aby kontynuować pracę z programem Kadry Optivum lub Płace Optivum (lub z obydwoma programami pracującymi na wspólnej bazie danych) na nowym

Bardziej szczegółowo

Ulotka v.2012.2.2. System Comarch OPT!MA v. 2012.2.2. Comarch SA 31-864 Kraków, Al. Jana Pawła II 41g tel. (12) 681 43 00, fax (12) 687 71 00

Ulotka v.2012.2.2. System Comarch OPT!MA v. 2012.2.2. Comarch SA 31-864 Kraków, Al. Jana Pawła II 41g tel. (12) 681 43 00, fax (12) 687 71 00 System Comarch OPT!MA v. 2012.2.2 Ulotka v.2012.2.2 Comarch SA 31-864 Kraków, Al. Jana Pawła II 41g tel. (12) 681 43 00, fax (12) 687 71 00 Dział Wsparcia Klienta i Partnera: tel. (12) 681 43 00 www.comarch.pl/erp

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

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych Spis treści Wprowadzenie... ix Organizacja ksiąŝki... ix Od czego zacząć?... x Konwencje przyjęte w ksiąŝce... x Wymagania systemowe... xi Przykłady kodu... xii Konfiguracja SQL Server 2005 Express Edition...

Bardziej szczegółowo

Procedura wdrożeniowa program MERKURY QUATTRO wer. 1.0

Procedura wdrożeniowa program MERKURY QUATTRO wer. 1.0 Syriusz sp. z o.o. Rzeszów, 2009 Procedura wdrożeniowa program MERKURY QUATTRO wer. 1.0 POSTANOWIENIA OGÓLNE Minimalna, sugerowana ilość godzin wdrożenia programu to: bez przenoszenia danych 8 godzin +

Bardziej szczegółowo

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL Podstawy baz danych: Rysunek 1. Tradycyjne systemy danych 1- Obsługa wejścia 2- Przechowywanie danych 3- Funkcje użytkowe 4- Obsługa wyjścia Ewolucja baz danych: Fragment świata rzeczywistego System przetwarzania

Bardziej szczegółowo