Wykład 4 Wojciech Pieprzyca

Slides:



Advertisements
Podobne prezentacje
Teoretyczne podstawy tworzenia systemów relacyjnych baz danych
Advertisements

Indeksy w bazie danych Oracle
Zastosowanie LDAP w obsłudze katalogów bibliotecznych
Modelowanie logiczne (dla relacyjnych SZBD)
Podział i zastosowanie
Programowanie wizualne PW – LAB5 Wojciech Pieprzyca.
Rozproszone bazy danych
Studia Podyplomowe IT w Biznesie Systemy Rozproszone
PHP + MySQL część II.
Microsoft Professional Developer Days 2004
BAZA DANYCH - RODZAJE.
WPROWADZENIE DO BAZ DANYCH
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE Zarządzanie.
Wycofywanie potwierdzonych transakcji
Język SQL – zapytania zagnieżdżone (podzapytania)
Wykład 10 Prowadzący: dr Paweł Drozda
SQL-owskie szlaki górskie
Zapytania SQL: wydajność i optymalizacja
Wykład 7 Wojciech Pieprzyca
Wykład 8 Wojciech Pieprzyca
BD-LAB6 Wojciech Pieprzyca
Wykład 6 Wojciech Pieprzyca
Wykład 5 Wojciech Pieprzyca
Artur Szmigiel Paweł Zarębski Kl. III i
Rozproszone bazy danych
Rozproszone bazy danych
Projektowanie fizycznej bazy danych
WYKONYWANIE ZAPYTAŃ Przygotował Lech Banachowski na podstawie: 1.Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, McGrawHill, 2000 (książka.
Modele baz danych - spojrzenie na poziom fizyczny
Język SQL – ciąg dalszy DML (Data Manipulation Language)
Bazy Danych Wykład 1 S. Kozielski.
Teoria relacyjnych baz danych
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
SQL – zapytania posumowanie
SQL – Structured Query Language (3)
Tworzenie nowych kont lokalnych i domenowych, oraz zarządzanie nimi
Administracja serwerem bazy danych Oracle 11g Zarządzanie strukturą bazy danych Wykład nr 2 Michał Szkopiński.
Bazy danych podstawowe pojęcia
Wybrane zagadnienia relacyjnych baz danych
BAZA ADRESOWA WOJEWÓDZTWA ŁÓDZKIEGO
Komendy SQL do pracy z tabelami i bazami
dr Łukasz Murowaniecki T-109
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Bazy danych Microsoft access 2007.
Opracowanie ćwiczeń dotyczących zapewniania niezawodności baz danych na przykładzie Oracle Opiekun : dr inż. Agnieszka Landowska Dyplomant : Tomasz Krzyżanowski.
Projektowanie relacyjnych baz danych – postacie normalne
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
Łódź 2008 Banki danych WYKŁAD 2 dr Łukasz Murowaniecki T-109.
Temat 1: Strukturalny język zapytań SQL
Jednym z podstawowych celów tworzenia sieci komputerowych jest współdzielenie zasobów, takich jak pliki lub drukarki. Każdy z takich zasobów musi być udostępniony,
Temat 4: Funkcje Systemu Zarządzania Bazą Danych (SZBD)
System Zarządzania Bazą Danych
Zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego.
Projektowanie relacyjnych baz danych – diagramy związków encji
Komendy SQL do pracy z danymi
Język SQL – polecenie Select
Relacja (ang.relation) Po podzieleniu danych na tabele i zdefiniowaniu pól kluczy podstawowych trzeba wprowadzić do systemu bazy danych informacje na temat.
Optymalna konfiguracja Microsoft SQL Server 2014
Bazy Danych Wprowadzenie
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Temat: Tworzenie bazy danych
Rozproszony system plików Coda Krzysztof Lichota.
Instalacja i konfiguracja kontrolera domeny. Jest to komputer, na którym uruchomiono usługę Active Directory W małej sieci wystarczy jeden kontroler w.
Widoki (views) - Perspektywy:
Strukturalny język zapytań SQL - historia
Technologie Informacyjne Bazy danych
Czym są i jak służą społeczeństwu?
Rozproszone bazy danych
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Wykład 4 Wojciech Pieprzyca Systemy Baz Danych Wykład 4 Wojciech Pieprzyca

Bazy scentralizowane Baza scentralizowana – tradycyjne, najprostsze podejście - wszystkie dane znajdują się na jednym serwerze. Wady takiego rozwiązania: Przy dużej liczbie operacji/zapytań realizowanych przez serwer czas oczekiwania na wynik jest znaczący i może powodować widoczne dla użytkownika opóźnienia w działaniu systemu bazodanowego. Jeżeli mamy do czynienia z organizacją posiadającą oddziały w różnych regionach geograficznych to baza scentralizowana w żaden sposób nie odzwierciedla takiego rozproszenia, gdyż wszystkie dane przechowywane są w tym samym miejscu, bez względu na miejsce pochodzenia.

Bazy scentralizowane Możliwe jest także występowanie opóźnień czasowych wynikających z czasu transferu danych pomiędzy serwerem bazodanowym a odległym węzłem sieciowym (klientem oczekującym na wynik operacji). Przykładem bazy scentralizowanej może być baza przechowująca numery PESEL i informacje personale wszystkich obywateli Polski wykorzystywana np. przez urzędy i inne instytucje państwowe.

Bazy rozproszone Baza rozproszona – to zbiór lokalnych baz, umieszczonych zazwyczaj na różnych serwerach i w różnych miejscach. Taka baza musi jednak stanowić całość w sensie modelu danych i koordynacji wykonywanych transakcji. Dwie możliwości rozproszenia danych: - fragmentacja danych – w lokalnej bazie przechowywany jest podzbiór (część) wszystkich danych. Dopiero połączenie wszystkich fragmentów z lokalnych baz danych daje nam w takim przypadku obraz całej bazy danych. - replikacja danych – kopia całości lub części bazy danych przechowywana w innym miejscu niż oryginalna baza danych.

Bazy rozproszone Przykładem bazy rozproszonej może być baza dla firmy ubezpieczeniowej posiadającej oddziały w całej Polsce. Można wyobrazić sobie powstanie 4 odrębnych terytorialnie miejsc przechowywania danych np.: - Gdańsk – dane dotyczące obszaru Polski północnej, - Wrocław – dane dotyczące obszaru Polski zachodniej, - Rzeszów – dane dotyczące obszaru Polski wschodniej, - Katowice – dane dotyczące obszaru Polski południowej. Okresowo dane te mogą być zbierane razem w celu utworzenia np. statystyk dotyczących działalności firmy na terenie całej Polski.

Fragmentacja pozioma Fragmentacja pozioma – podzbiór (część) wierszy z tabeli np. dane z jednego rejonu kraju. Taki rodzaj fragmentacji uzyskuje się poprzez zastosowanie odpowiedniego polecenia selekcji danych np. dla określonego rejonu działalności firmy: (1)select * from pracownicy where wojewodztwo=”Śląskie” or województwo=”Małopolskie” (2) select * from pracownicy where wojewodztwo=”Dolnośląskie” or wojewodztwo=”Opolskie” … (N) select …

Fragmentacja pozioma Odtworzenie oryginalnej bazy będzie polegało na zsumowaniu wyników z poszczególnych fragmentów bazy np. select * from pracownicy where wojewodztwo=”Śląskie” or wojewodztwo=”Małopolskie” union select * from pracownicy where wojewodztwo=”Dolnośląskie” or wojewodztwo=”Opolskie” … select …

Fragmentacja pionowa Fragmentacja pionowa – podzbiór (część) kolumn z tabeli np. id_klienta, data_urodzenia, placa. (1)select id_pracownika, data_urodzenia, placa from pracownicy; (2)select id_pracownika, imie, nazwisko, ulica, miasto, kod, wojewodztwo from pracownicy; Odtworzenie oryginalnej bazy będzie polegało na zastosowaniu złączenia w oparciu o wartości klucza głównego (w powyższym przykładzie jest to pole id_pracownika). select id_klienta, data_urodzenia, placa, imie, nazwisko, ulica, miasto, kod, województwo from pracownicy1 p1, pracownicy2 p2 where p1.id_pracownika = p2.id_pracownika;

Przeźroczystość Finalny użytkownik nie powinien odczuwać różnicy czy pracuje na bazie scentralizowanej czy też bazie rozproszonej. Oznacza to, że muszą być spełnione 3 właściwości przeźroczystości: przeźroczystość geograficzna – użytkownicy nie muszą wiedzieć, na którym serwerze (w jakim miejscu) znajdują się przechowywane dane, które przeglądają lub modyfikują. przeźroczystość fragmentacji – użytkownicy nie muszą wiedzieć, w jaki sposób dane są podzielone. Powinna istnieć możliwość operowania na bazie jako jednej całości. przeźroczystość replikacji – użytkownicy nie muszą wiedzieć, w jaki sposób dane są replikowane i z której repliki pochodzą dane, które przeglądają lub modyfikują.

Zalety rozproszonych BD Zalety rozproszonych baz danych: zwiększona niezawodność systemu poprzez replikację danych w różnych miejscach, odwzorowanie geograficznego podziału organizacji, dostęp do danych może być determinowany poprzez miejsce dostępu np. możliwość modyfikacji danych dla obszaru Polski południowej tylko poprzez pracowników jednostki Katowice, itp. zwiększenie szybkości działania systemu, jeżeli zapytania w lokalnym oddziale będą dotyczyć bazy znajdującej się najbliżej (lokalnej).

System zarządzania RBD System zarządzania rozproszoną bazą danych Katalog tabel systemowych jest bardziej skomplikowany, konieczne jest przechowywanie informacji np. o położeniu fragmentów i replik tabel. Zwiększają się problemy związane ze współbieżnym dostępem do danych np. aktualizacja danych pociąga za sobą konieczność dokonania zmian w kilku różnych miejscach. Trudno jest spełnić warunek, aby wszyscy użytkownicy w jednym czasie (obojętnie skąd się logują) widzieli te same dane.

System zarządzania RBD System zarządzania rozproszoną bazą danych Optymalizator zapytań w procesie optymalizacji dla bazy rozproszonej musi brać pod uwagę także topograficzne położenie danych i koszt czasowy przesyłu danych z danego węzła sieci. Nie tylko dane mogą być rozproszone, ale również sam system zarządzania bazą danych może znajdować się w różnych miejscach np. w celu podniesienia odporności na awarie głównego serwera.

Zapytania do RBD select avg(pensja) from pracownicy pr, pensje pe where pr.id_pracownika = pe.id_pracownika and nr_dzialu > 5 and nr_dzialu < 10 and data_wypl=’2007-02-01’ 1) W przypadku wystąpienia fragmentacji poziomej: załóżmy, że dane dotyczące działów 1-7 umieszczone są w Krakowie, a dane dotyczące działów 8-14 znajdują się w Warszawie. W celu wykonania powyższego zapytania SZBD będzie musiał obliczyć w każdym z węzłów osobno sumę wartości pensji SUM(pensja) oraz ich liczbę COUNT(pensja), i dopiero na tej podstawie stworzy informacje o średniej pensji.

Zapytania do RBD SUM(pensja) COUNT(pensja) Kraków 134500 50 Warszawa 233100 60 AVG(pensja) = (134500+233100)/(50+60) = 3341,81 2) W przypadku wystąpienia fragmentacji pionowej: Załóżmy, że tabela pracownicy znajdują się w Krakowie, a tabela pensje w Warszawie. Wykonanie powyższego zapytania wymagało będzie sprowadzenia danych z obu tabel do jednego węzła i wykonania zapytania na tak stworzonych danych tymczasowych. KRAKÓW (pracownicy) WARSZAWA (pensje) WARSZAWA (pracownicy, pensje=>tmp)–złączenie tabel

Zapytania do RBD 3) W przypadku wystąpienia replikacji Jeżeli wszystkie dane są zreplikowane w dwóch oddziałach np. Warszawa i Kraków, to wybór tego skąd zostaną one fizycznie pobrane będzie uzależniony od optymalizatora zapytań, który zbada, z której replikacji dane mogą zostać szybciej pobrane.

Synchronizacja replik Metody synchronizacji replik: synchroniczna replikacja – transakcja modyfikująca dane nie jest zatwierdzana do momentu propagacji zmian we wszystkich węzłach w których znajdują się repliki. Dzięki temu wynik odczytu z tabel różnych replik jest zawsze taki sam. asynchroniczna replikacja – transakcja jest zatwierdzana natychmiast po modyfikacji danych w danej replice, a pozostałe repliki są aktualizowane tylko okresowo. Jest to metoda szybsza, która zażywa mniej zasobów, jednak powoduje, że okresowo dane w tabelach różnych replik mogą się różnić.