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



Podobne dokumenty
Tworzenie Stron Internetowych. odcinek 5

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

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

Zarządzanie bazą danych. Bazy Danych i Systemy informacyjne Wykład 4. Piotr Syga

Oracle PL/SQL. Paweł Rajba.

Oracle11g: Wprowadzenie do SQL

Wprowadzenie do HTML, CSS, JavaScript, PHP. Kurs

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Indeksowanie w bazach danych

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Wykład :45 BD-1 W_3

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

Administracja i programowanie pod Microsoft SQL Server 2000

Paweł Rajba

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Procesy ETL - wykład V. Struktura. Wprowadzenie. 1. Wprowadzenie. 2. Ekstrakcja 3. Transformacja 4. Ładowanie 5. Studium przypadków.

Tworzenie Stron Internetowych. odcinek 5

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

PRZEWODNIK PO PRZEDMIOCIE

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Bazy danych Język SQL część 2 Wykład dla studentów matem

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Wykład XII. optymalizacja w relacyjnych bazach danych

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

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

Podstawy technologii WWW

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

PRZEWODNIK PO PRZEDMIOCIE

E.14.1 Tworzenie stron internetowych / Krzysztof T. Czarkowski, Ilona Nowosad. Warszawa, Spis treści

rk HTML 4 a 5 różnice

Zaawansowana Pracownia Komputerowa - Ćwiczenia. Krzysztof Miernik

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

P o d s t a w y j ę z y k a S Q L

Kursory. A. Pankowska 1

Administracja i programowanie pod Microsoft SQL Server 2000

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

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech

Programowanie internetowe

Programowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE,

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Tworzenie zapytań do Microsoft SQL Server

Baza danych sql. 1. Wprowadzenie

media Blitz wydajne sytemy szablonów

Systemy GIS Tworzenie zapytań w bazach danych

INSTALACJA I KONFIGURACJA SERWERA PHP.

PRZEWODNIK PO PRZEDMIOCIE

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

Wprowadzenie. Rozdział 23 PDO. Podstawowe kroki aplikacji. Źródło danych

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

WPROWADZENIE DO BAZ DANYCH

Pojęcie systemu baz danych

Procedury i funkcje składowane

6. Bezpieczeństwo przy współpracy z bazami danych

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

Organizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle

PROJEKT Z BAZ DANYCH

Microsoft SQL Server Podstawy T-SQL

Wykład 2. Relacyjny model danych

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Plan wykładu BAZY DANYCH II WYKŁAD 4. Co to jest kursor? Rodzaje kursorów

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

Bazy danych. Dr inż. Paweł Kasprowski

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

Język SQL, zajęcia nr 1

Imię, nazwisko i tytuł/stopień KOORDYNATORA (-ÓW) kursu/przedmiotu zatwierdzającego protokoły w systemie USOS Dr Adam Naumowicz

Bazy danych. dr Radosław Matusik. radmat

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

Programowanie po stronie serwera w SZBD. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

HTML, CSS i JavaScript / Laura Lemay, Rafe Colburn, Jennifer Kyrnin. Gliwice, cop Spis treści

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

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

Programowanie obiektowe

Skuteczne sposoby budowania ruchu w oparciu o SEM/SEO. - Karol Wnukiewicz

Symfonia Produkcja. Kreator raportów. Wersja 2013

SQL 4 Structured Query Lenguage

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.

ABC języka HTML i XHTML / Maria Sokół. wyd. 2. Gliwice, cop Spis treści

Opisy efektów kształcenia dla modułu

Netsprint Search. Koncepcja

Deklarowanie kursora. CURSOR nazwa [ ( param1 typ1 [,param2 typ2]... ) ] [RETURN typ zwracany] IS zapytanie SQL;

katalog Usługi internetowe SERWERY WIRTUALNE

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach

Splunk w akcji. Radosław Żak-Brodalko Solutions Architect Linux Polska Sp. z o.o.

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

Migracja do PostgreSQL za pomocą narzędzi Enterprise DB

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

SIECI KOMPUTEROWE I BAZY DANYCH

Szczegółowy opis zamówienia:

Wykład 5. SQL praca z tabelami 2

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Baza danych. Modele danych

PODSTAWY BAZ DANYCH 13. PL/SQL

Transkrypt:

Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład XI Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl

INTERNETOWE BAZY DANYCH 1. Wprowadzenie 2. Wybrana aspekty optymalizacji 3. Zwiększanie wydajności BD

1. Wprowadzenie system wydajny optymalizacja intuicyjnie: spełnia oczekiwania klienta proces wyznaczania najlepszego rozwiązania z punktu widzenia określonych kryteriów (np. czas przetwarzania zapytań, koszt, przepustowość) punkt odniesienia punkt zmierzony np. poprzez przeprowadzenie testów, wykonanie pomiarów.

1. Wprowadzenie Podstawowe pojęcia: monitoring regularne jakościowe i ilościowe pomiary najczęściej w określonym czasie lub czasu rzeczywistego (z określonymi zasadami archiwizacji)

1. Wprowadzenie Procedura rozwiązywania problemów Znaleźć problem (problem finding) zdefiniować (problem defining) zaplanować strategie (strategy planning) wybrać najlepiej właściwą (strategy selection) sprawdzić, czy działa (strategy testing) ewaluacja końcowa (final evaluation)

1. Wprowadzenie TREŚCI OPTYMALIZACJA KODU strony WWW (prezentacji), aplikacji (np. skrypty, funkcje), bazy danych. OPTYMALIZACJA STATYCZNA DYNAMICZNA

2. Optymalizacja Optymalizacja treści stron WWW: pod kątem organizacji (architektura informacji): odpowiednia organizacja treści, menu, łatwa nawigacja i znalezienie potrzebnej informacji, organizacja (np. tematyczna, alfabetyczna, geograficzna), uwzględnienie przyzwyczajeń (np. wygląd odnośników) uwzględnienie np. wyników badań operacyjnych, prostych ankiet, śledzenia historii, wykorzystanie mechanizmu ciasteczek.

2. Optymalizacja pod kątem przystępności: uwypuklenie istotnych elementów, powiązanie elementów stanowiących logiczną całość, stosowanie odpowiedniego języka, kodowanie znaków, forma nagłówków (zasady, jak np. dla prasy, artykułów naukowych),

2. Optymalizacja pod kątem dostępności rejestracja w katalogach tematycznych, marketing i reklama, promocje.

2. Optymalizacja Optymalizacja kodu stron WWW: pod kątem szybkości wyświetlania się strony (objętości kodu), zgodności ze standardami (np. walidacja odpowiednimi narzędziami, różne wersje strony, stosowanie mechanizmów awaryjnych ), automatycznej rejestracji w systemach wyszukiwawczych tzw. pozycjonowania w systemach wyszukiwawczych.

2. Optymalizacja elementy nagłówka <HEAD> <meta http-equiv="content-type" content="text/html; charset= iso-8859-2"> <META HTTP-EQUIV="Creation-date" CONTENT="2002.03.16"> <META HTTP-EQUIV="Reply-to" CONTENT="adres zwrotny"> <meta http-equiv="content-language" content="pl"> <META NAME="Description" CONTENT="opis dokumentu"> <META name="keywords" content="słowa kluczowe"> <META NAME="Author" CONTENT="autor dokumentu"> <META NAME="Generator" CONTENT="Zajączek 3.0"> <TITLE> Tytuł </TITLE> </HEAD>

2. Optymalizacja Optymalizacja kodu php: zmniejszanie liczby połączeń z bazą danych i/lub umiejętne operowanie trwałymi połączeniami, optymalizacja zapytań (np. ograniczenie liczby, testowanie zapytań złożonych i szukanie innych możliwości, np. polecenie EXPLAIN w MySQL u), stosowanie staycznego HTML u zamiast generowania przez php jeśli możliwe, stosowanie ciągów zamkniętych pojedynczymi cudzysłowami (działają szybciej niż podwójne),

2. Optymalizacja Optymalizacja kodu php: stosowanie gotowych rozwiązań i/lub narzędzi (np. Zend Optimizer) inne techniki i narzędzia inżynieria oprogramownia (np. inspekcja, przeglądanie kodu). UWAGA: Najbardziej kosztowne (czas) są połączenie i pobieranie danych z bazy.

3. Zwiększanie wydajności BD Zwiększanie wydajność bazy danych (na przykładzie PostgreSQL): indeksy, klastry, kontrola pobierania danych: LIMIT i OFFSET, kursory.

3. Zwiększanie wydajności BD Indeksy Indeksy przyspieszają dostęp do relacji. Jeśli relacja R posiada indeks na atrybucie A, wtedy pobieramy wszystkie krotki o wartości atrybutu A = a w czasie zależnym od liczby tych krotek (nie zależnym od rozmiaru relacji R).

3. Zwiększanie wydajności BD Indeksy jednokolumnowe CREATE INDEX agenci_pseudonim ON agenci (pseudonim); wielokolumnowe CREATE INDEX agenci_plec_pseudonim ON agenci (plec, pseudonim); UWAGA: Nieprzydatny przy wyszukiwaniu postaci: SELECT * FROM agenci WHERE pseudonim= bond ;

3. Zwiększanie wydajności BD Indeksy inne (np. indeksowanie danych przestrzennych Oracle 9i Locator patrz: http://www.ds5.agh.edu.pl/~hellfire/ )

3. Zwiększanie wydajności BD Indeksy SELECT * FROM siatkarze WHERE wiek >18; Jaka będzie różnica w działaniu, jeśli kolumna wiek: a) jest indeksowana b) Nie jest indeksowana Przejrzana zostania cała tabela. Nastąpi przejście do odpowiedniego miejsca (pominięcie niewłaściwych wierszy).

3. Zwiększanie wydajności BD Indeksy STOSOWANIE INDEKSÓW ZALETA oszczędność czasu (np. przy wyszukiwaniu danych, stosowaniu złączeń), WADY przechowywanie dodatkowa informacja (np. osobny plik indeksów), zbyt wiele indeksów - wydłużenie czasu zapisu i modyfikacji danych

3. Zwiększanie wydajności BD Klastry klaster jeden lub więcej sektorów na nośniku danych, w kontekście SZBD: polecenie CLUSTER umożliwia uporządkowanie danych w pliku zgodnie z uporządkowaniem indeksu tabeli Składnia CLUSTER [indexname [ON tablename]] http://www.postgresql.org/docs/7.4/static/sql-cluster.html

3. Zwiększanie wydajności BD Polecenia: LIMIT i OFFSET LIMIT ogranicza liczbę wierszy, OFFSET umożliwia przejście do określonego wiersza, jaki będzie wynik zapytania: SELECT ID FROM wampiry ORDER BY ID LIMIT=3 OFFSET 1; 2 3 ID 1 2 3 Nazwa_wa mpira Dracula Nosferatu Jagielski Liczba ofiar 350 200 56

3. Zwiększanie wydajności BD Kursory funkcjonuje w ramach transakcji, operacje na kursorze: DECLARE deklaruje kursor, FETCH pobiera wiersze, MOVE przesuwa kursor, CLOSE zwalnie wiersze zapisane w kursorze.

3. Zwiększanie wydajności BD Kursory ID Nazwa_wampira Liczba ofiar Przykład: BEGIN WORK; 1 2 3 Dracula Nosferatu Jagielski 350 200 56 DECLARE wampiry_kursor CURSOR FOR SELECT ID FROM wampiry; MOVE 1 FROM wampiry_kursor; FETCH 2 FROM wampiry_kursor; FETCH -1 FROM wampiry_kursor; 2 CLOSE wampiry_kursor 2 3 COMMIT WORK;

4. Ciekawostka znalezione w Internecie Bibliografia uzupełniająca: Microsoft Server 2000 optymalizacja wydajności http://download.microsoft.com/download/2/3/f/23f09d42-8d97-4229-9f7c-6c6

4. Zadanie na piękny, słoneczny dzień Nadal pracujemy nad serwisem:

4. Zadanie na piękny, słoneczny dzień Już fajrant, a pracownik waszej firmy ma problemy: >> Miało być tak, że jak klikam na szkołę, to pokazują się informacje tylko o niej. A u mnie o wszystkich! <<

4. Zadanie na piękny, słoneczny dzień JEST MA BYĆ

4. Ciekawostka znalezione w Internecie