Architektury rozproszonych baz danych. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Podobne dokumenty
Programowanie obiektowe

Rozproszone bazy danych. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Wybrane działy Informatyki Stosowanej

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

Systemy rozproszonych baz danych 1

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Wprowadzenie. Dariusz Wawrzyniak 1

Wybrane działy Informatyki Stosowanej

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

Wykład I. Wprowadzenie do baz danych

Komunikacja i wymiana danych

Bazy danych 2. Wykład 1

Bazy danych. Dr inż. Paweł Kasprowski

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO

Technologia informacyjna

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Middleware wprowadzenie października 2010

Od czego zacząć przy budowaniu środowisk wysokiej dostępności?

Programowanie Komponentowe WebAPI

Bazy danych. Seminarium II.

Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1

Systemy obiegu informacji i Protokół SWAP "CC"

Pojęcie systemu baz danych

Wprowadzenie do technologii Business Intelligence i hurtowni danych

INFORMATYKA Pytania ogólne na egzamin dyplomowy

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

Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services

Systemy rozproszone System rozproszony

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

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

Podstawy Systemów Zarządzania Baz Danych

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs.

Podstawy Systemów Zarządzania Baz Danych

Replikacja bazy danych polega na kopiowaniu i przesyłaniu danych lub obiektów bazodanowych między serwerami oraz na zsynchronizowaniu tych danych w

Politechnika Śląska, Instytut Informatyki

Wprowadzenie do usług internetowych

Architektury i technologie integracji danych

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911)

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP

1 Wprowadzenie do J2EE

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Serwery LDAP w środowisku produktów w Oracle

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

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

Programowanie współbieżne i rozproszone

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne

Integracja systemów transakcyjnych

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

World Wide Web? rkijanka

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

dlibra 3.0 Marcin Heliński

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska

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

ERDAS ADE Suite edytor baz danych Oracle Spatial

Ekspert MS SQL Server Oferta nr 00/08

Spis treści. Przedmowa

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

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

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Architektury usług internetowych. Tomasz Boiński Mariusz Matuszek

Systemy GIS Systemy baz danych

Wprowadzenie do baz danych

Baza danych. Modele danych

EXSO-CORE - specyfikacja

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia. Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Bazy danych i ich aplikacje

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Architektura i mechanizmy systemu

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

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

Czym jest baza danych?

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

Replikacje. dr inż. Dziwiński Piotr Katedra Inżynierii Komputerowej. Kontakt:

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Integracja systemów transakcyjnych

Relacyjne, a obiektowe bazy danych. Bazy rozproszone

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1

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

Alicja Marszałek Różne rodzaje baz danych

Virtual Grid Resource Management System with Virtualization Technology

Projekt Fstorage. Łukasz Podkalicki Bartosz Kropiewnicki

Szkolenie autoryzowane. MS Administracja Windows Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Tomasz Grześ. Systemy zarządzania treścią

Middleware wprowadzenie października Dariusz Wawrzyniak. Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5)

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Wprowadzenie do systemów baz danych. Wykład 1

Programowanie komponentowe

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Transkrypt:

Architektury rozproszonych baz danych Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Rozproszona baza danych Rozproszoną bazą danych (RBD) nazywamy: Logicznie połączone ze sobą zasoby współdzielonych danych, które fizycznie rozproszone są pomiędzy węzłami w sieci komputerowej. System zarządzania rozproszoną bazą danych (SZRBD) DDBMS (ang. Distributed Database Management System) definiowany jest jako: Oprogramowanie umożliwiające zarządzanie rozproszoną bazą danych, w sposób, w którym rozproszenie danych jest niewidoczne dla użytkowników. Dokonując interpretacji definicji można stwierdzić, że DDB jest po prostu rozproszonym systemem plików DSF (ang. Distributed File Systems)

Różnice pomiędzy DDB i DFS (1) DFS zapewnia użytkownikom prosty interfejs dostępu do plików rozmieszczonych na komputerach połączonych w sieć. Pliki te mają prostą strukturę (zazwyczaj są płaskie). Powiązania pomiędzy kilkoma plikami (o ile w ogóle istnieją) nie są zarządzane przez system, pozostawiając to użytkownikom. W przeciwieństwie do tego, DDB są zorganizowane zgodnie ze schematem, który definiuje strukturę danych oraz relacje miedzy nimi. Za zarządzanie strukturą oraz relacjami odpowiedzialny jest system.

Różnice pomiędzy DDB i DFS (2) Interfejs użytkownika w DFS umożliwia jedynie wykonywanie podstawowych operacji na plikach, typu: otwarcie, odczyt lub zapis oraz zamknięcie pliku. DDB natomiast posiadają pełną funkcjonalność centralnej bazy danych. Oznacza to, że umożliwiają wykonywanie operacji na danych z użyciem języków wysokiego poziomu (np. SQL lub OQL ang. Object Query Language), wsparcie dla transakcji (zbioru powiązanych zapytań) oraz implementację mechanizmów wielodostępu i odzyskiwania danych.

Różnice pomiędzy DDB i DFS (3) W DDB zapewniona jest przezroczystość dostępu do danych, co oznacza, iż użytkownik nie zdaje sobie sprawy z tego, że dane są rozmieszone na innych komputerach niż jego. W DFS użytkownik musi znać rozmieszczenie plików.

Typy rozproszonych baz danych SZBD Scentralizowane rozproszone Homogeniczne Heterogeniczne Zdalne BD Sfederowane BD System wielo-baz danych

Systemy homogeniczne vs heterogeniczne Jeśli wszystkie serwery (lub indywidualne lokalne SZBD) i klienci wykorzystują identyczne oprogramowanie, to SZRBD jest nazywany systemem homogenicznym System zarządzania heterogeniczną rozproszoną bazą danych (SZHRBD) jest systemem integrującym istniejące, rozwijane autonomicznie, heterogeniczne systemy baz danych, nazywane lokalnymi systemami baz danych (LSBD)

Systemy heterogeniczne Heterogeniczność LSBD wchodzących w skład SHRBD oznacza, że systemy te stosują różne interfejsy użytkowe, różne modele danych na których oparte są te systemy, różne języki dostępu, systemy te mogą różnić się semantyką i syntaktyką przechowywanych danych oraz mechanizmami zarządzania współbieżnością. Problem lokalnej autonomii: Jeśli wszystkie operacje dostępu do SZRBD muszą odbywać się poprzez klientów, to taki system nie ma lokalnej autonomii, natomiast jeśli jest możliwe wykonywanie bezpośredniego dostępu do danych przez lokalne transakcje (z pominięciem SZRBD), to jest to system z lokalną autonomią Systemy bez lokalnej autonomii - klasyczne systemy rozproszone Systemy z lokalną autonomią systemy sfederowanych baz danych i systemy wielo-baz danych

Architektura ANSI/SPARC

Architektura SZRBD zalecana przez ANSI Bazuje na idei tworzenia globalnego schematu koncepcyjnego w oparciu o schematy lokalne ES1 ES1... ESn Integracja schematów to proces syntezy pojedynczego schematu globalnego na podstawie 2 lub więcej schematów lokalnych GCS Legenda: ES1 External Schema GCS Global Conceptual Schema LCS1 LCS2... LCSn LCS1 Local Conceptual Schema LIS1 Local Internal Schema LIS1 LIS2... LISn

System sfederowanych baz danych System sfederowanych baz danych to system składający się z co najmniej dwóch niezależnych, różnych systemów baz danych oraz odpowiedniego mechanizmu konsolidującego wszystkie ich komponenty Każdy serwer jest niezależnym i autonomicznym scentralizowanym SZBD, który ma swoich własnych lokalnych użytkowników. Każdy serwer może autoryzować dostęp do określonej porcji bazy danych przez wyspecyfikowanie schematu eksportowego, który określa część bazy danych, do której mogą mieć dostęp użytkownicy globalni. Użytkownik globalny poprzez GCS (tworzony na podstawie schematów eksportowych) posiada w ograniczonym zakresie informacje co w każdej bazie danych się znajduje.

Architektura systemu sfederowanych baz danych ES1 ES1... ESn LES11 LES12 LESn1 LESn2 GCS LCS1 LCS2... LCSn LIS1 LIS2... LISn

Systemy sfederowanych baz danych - komentarz System taki jest hybrydą pomiędzy systemem scentralizowanym i rozproszonym Poszczególne systemy baz danych należące do systemu sfederowanego są całkowicie niezależne od siebie i mogą pracować jako samodzielne jednostki Wykorzystywanie systemów sfederowanych może mieć niemalże nieograniczony zasięg Integracją komponentów systemu sfederowanego mogą zajmować się użytkownicy we współpracy z administratorami i projektantami aplikacji

Systemy sfederowanych baz danych - problemy Konieczność wielokrotnego tłumaczenia formatów danych Realizacja transakcji, która wymaga dostępu do innych baz danych, wiąże się z koniecznością nie tylko pobrania danych, ale również dopasowania do schematu bazy danych, w której transakcja jest przetwarzana Podstawowe problemy związane z zarządzaniem sfederowanymi bazami danych: propagacja modyfikacji z poziomu globalnego na poziomy lokalne, spójność bazy danych na poziomie globalnym.

System wielo-baz danych System wielo-baz danych (ang. multidatabase system) jest zbiorem autonomicznych i heterogenicznych baz danych, które umożliwiają realizację pewnych operacji globalnych, do których wykonania jest konieczne niezależne i asynchroniczne wykonanie zbioru transakcji w ogólności w różnych bazach danych, będących składnikami wielobazy. ES1 ES1 LCS1 LCS2 LIS1 LIS2......... ESn LES11 LES12 LESn1 LESn2 LCSn LISn

Systemy wielo-baz danych - przykład System rezerwacji połączeń komunikacyjnych różnymi środkami lokomocji między dowolnymi miastami Wielo-baza danych składa się z następujących baz danych: rezerwacji połączeń lotniczych, rezerwacji połączeń kolejowych, rezerwacji i wynajmu samochodów, rezerwacji hotelowej. Użytkownik wielo-baza danych Kowalski planuje dotarcie z Poznania do Zanzibar Town szukając najszybszego i najbardziej komfortowego połączenia, przy jednoczesnym dopasowaniu go do jego ograniczeń czasowych

Systemy wielo-baz danych - charakterystyka Poszczególne bazy danych są wzajemnie niezależne, tzn. że zawarte w nich dane nie mają wpływu na zawartość i transakcje realizowane w innych bazach danych Podobnie jak w systemach sfederowanych wyróżnia się użytkowników lokalnych i globalnych Ze względu na autonomiczność tworzących wielo-bazę węzłów zakłada się, że każdy z nich musi być w stanie spójnym, natomiast stan całej wielo-bazy w ogólności nie jest spójny W celu realizacji zleceń globalnych w wielo-bazach wykorzystuje się tzw. transakcje kooperujące (ang. cooperating transactions) realizowane w różnych węzłach wielo-bazy i przekazujące między sobą wyniki. Na przykład, rezerwacja lotnicza może być parametrem rezerwacji kolejowej

Bramy i zdalne bazy danych (ang. gateways and remote databases) Zdalna baza danych jest to baza ulokowana na stanowisku komputerowym innym niż stanowisko na którym pracuje dany użytkownik użytkownik jest świadom, że pracuje ze zdalną bazą danych Konieczny jest specjalny interfejs do zdalnego heterogenicznego systemu bazy danych nazywany bramą Jest to odmienne od koncepcji systemów rozproszonych, sfederowanych i wielo-baz. MySQL (SQL) Gateway Gateway Oracle (SQL)

Standardy łączenia rozproszonych danych (1) Open DataBase Connectivity (ODBC): standard [zdalnego] dostępu do relacyjnych baz danych bazuje na Call Level Interface (CLI) opracowanym przez konsorcjum X/Open definiuje API oraz cechy SQL które muszą być zapewnione na różnych poziomach zgodności. Java DataBase Connectivity (JDBC): analogiczny do ODBC standard dla Java. OLE-DB: API podobne do ODBC, ale wspomagające źródła niebazodanowe, takie jak płaskie pliki. OLE-DB program może negocjować ze źródłem danych aby znaleźć własności, które ono podtrzymuje. API jest podzbiorem SQL ADO (Active Data Objects): łatwy interfejs do funkcji OLE-DB

Standardy łączenia rozproszonych danych (2) Kilka standardów bazujących na XML dla E-commerce Np. RosettaNet (łańcuchy dostaw), BizTalk Definiują katalogi, opisy usług, faktury, zamówienia, itd. osłony XML są używane do eksportu informacji z relacyjnej BD do XML Resource Description Framework (RDF): specyfikacja ontologii dla zasobów Web. Web Services i Simple Object Access Protocol (SOAP): bazujący na XML standard dla zdalnego wołania usług. SOAP jest mniej elastyczny i uniwersalny w stosunku do CORBA. Używa XML do zakodowania danych, HTTP jako protokołu transportowego Kilka dalszych standardów: WSDL (opis danych i usług), UDDI (rejestry usług), itd. Dalsze standardy są oparte na SOAP dla specyficznych aplikacji, np. OLAP i Data Mining (standardy Microsoft'u)

Replikacja Replikowanie danych - w systemie utrzymywanych jest wiele kopii tych samych danych (relacji lub fragmentów relacji) Cel: zwiększenie niezawodności systemu (uszkodzenie określonej kopii lub stanowiska nie musi oznaczać załamania się całego systemu) dostęp do określonego pliku danych jest możliwy nawet w przypadku awarii serwera na którym ten plik był przechowywany równomierne rozłożenie obciążenia pomiędzy poszczególne serwery i równoległe wykonywanie zadań, a tym samym zwiększenie efektywności pracy całego systemu. zwiększenie efektywności operacji dostępu do danych - system możewybrać kopię, która jest usytuowana najbliżej stanowiska użytkownika

Metody replikowanie danych replikacja pełna - fully replicated distributed database - na każdym stanowisku jest przechowywana cała baza danych maksymalizacja dostępu do danych wysoka efektywność wykonywania zapytań globalnych drastyczne spowolnienie transakcji aktualizacyjnych replikacja częściowa - partially replication - pewne fragmenty bazy danych mogą być replikowane, inne - nie. liczba kopii relacji może się zmieniać od 1 do liczby stanowisk w systemie fakt replikowania plików musi być transparentny dla użytkownika rozszerzony mechanizm nazywania plików

Sposoby wykonywania kopii fragmentów bazy danych Explicit replication - kopia danych jest najpierw tworzona na lokalnym serwerze, a następnie na kolejnych wykonywanie operacji modyfikacji bazy danych jest realizowane w ten sam sposób podczas realizacji zapytań, wykonywane są próby dostępu do poszczególnych kopii danych, tak długo aż zostanie znaleziona kopia dostępna. Lazy replication - tworzenie kolejnych kopii na innych stanowiskach, gdy serwer ma trochę czasu problemy z utrzymywaniem spójności bazy danych

Wady replikacji Konieczna dodatkowa przestrzeń dyskowa Możliwość powstania niespójności pomiędzy repliką i oryginałem - zagrożenie dla spójności procesów biznesowych Np. jeżeli dane o wysokości kont są powtórzone w wielu miejscach, wówczas ktoś korzystając z (celowo) uszkodzonych linii transmisyjnych może dokonać nielegalnych wypłat. Zwiększenie kosztów aktualizacji danych: aktualizacja oryginału pociąga za sobą dodatkowy koszt aktualizacji replik

Rozproszone zarządzanie transakcjami bazujące na wyróżnionej kopii danych Główna idea - wyznaczenie w systemie wyróżnionej kopii danych Blokady danych są związane z wyróżnioną kopią wszystkie żądania założenia lub zdjęcia blokad są wysyłane na stanowisko, które przechowuje tą kopię Szereg metod bazuje na tej idei, ale różnią się one metodą wyboru kopii wyróżnionej

Pytania?