Architektura chmur i wirtualizacja. Wykład 6 Dane w chmurze

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

Download "Architektura chmur i wirtualizacja. Wykład 6 Dane w chmurze"

Transkrypt

1 Architektura chmur i wirtualizacja Wykład 6 Dane w chmurze

2 Zawartość Bazy NoSQL Skalowalne bazy relacyjne Chmurowe systemy plików Powiązane algorytmy 2

3 Dane w chmurze

4 Architektura równoległych baz danych D. DeWitt and J. Gray: Parallel Database Systems: The Future of High Performance Database Processing, CACM 36(6),

5 Skalowalne bazy Aspekty skalowalności baz danych: Dużo (małych) transakcji, Dużo kopii danych, Duże zużycie procesora dla pojedynczego zapytania, Skrajnie duże zbiory danych dla jednego zapytania. Replikacja danych: Przenoszenie danych do miejsc, gdzie są potrzebne, Zarządzana replikacja dla zapewnienie dostępności i niezawodności. 5

6 Dlaczego chmury? Aplikacje zarządzające danymi są potencjalnymi kandydatami do wdrożenia w chmurze Przemysł bazy przedsiębiorstw charakteryzują się wysokimi kosztami, zarówno sprzętu jaki i oprogramowania, Środowisko akademickie zarządzanie, przetwarzanie i współdzielenie masowo produkowanych danych w chmurze. 6

7 Dlaczego chmury? Wiele niezwykle skutecznych aplikacji chmurowych (cloud killer apps) polega na intensywnym przetwarzaniu danych (data- intensive): Przetwarzanie wsadowe z map/reduce, OLTP (Online Transaction Processing) w zautomatyzowanych aplikacjach biznesowych, OLAP (Offline Analytical Processing) w eksploracji danych (data mining) lub uczeniu maszynowym (machine learning). 7

8 Charakterystyka chmur Dane są przechowywane na niezaufanych hostach Istnieje ryzyko dotyczące prywatności i bezpieczeństwa przechowywania danych na niezaufanym hoście, Szczególnie wrażliwe dane mogą być pominięte w analizie lub uczynione anonimowymi. Współdzielenie i umożliwianie dostępu jest częstym celem używania chmur dla naukowych zbiorów danych. Data Management in the Cloud: Limitations and Opportunities, IEEE,

9 Charakterystyka chmur Dane są replikowane, często na przestrzeni olbrzymich odległości geograficznych Ciężko utrzymać gwarancje ACID (atomicity, consistency, isolation, durability) w obecności replikacji na olbrzymią skalę, Pełne gwarancje ACID zazwyczaj nie są wymagana w aplikacjach analitycznych. Data Management in the Cloud: Limitations and Opportunities, IEEE,

10 Charakterystyka chmur Wirtualizacja dużych kolekcji danych stanowi wyzwanie Ładowanie zajmuje więcej czasu niż uruchamianie VM, Koszty składowania kontra koszty pasma, Replikacja online kontra replikacja offline. Data Management in the Cloud: Limitations and Opportunities, IEEE,

11 Wyzwania Ustępstwa (trade- off) funkcjonalność na rzecz kosztów operacyjnych Ograniczony interfejs, minimalistyczny język zapytać, ograniczone gwarancje spójności, Większy ciężar programistyczny dla deweloperów, Umożliwienie przewidywalnych usług i SLA (service level agreements). The Claremont Report on Database Research,

12 Wyzwania Zarządzalność Ograniczony udział ludzki, duża wariancja obciążenia i różnorodność współdzielonych infrastruktur, Potrzeba samo- zarządzających i adaptacyjnych technik bazodanowych. The Claremont Report on Database Research,

13 Wyzwania Skalowalność Dzisiejsze bazy SQLowe nie skalują się do tysięcy węzłów wdrażanych w kontekście chmury, Ciężko obsługiwać zwielokrotnione rozproszone aktualizacje tego samego zbioru danych, Ze względów pojemności (magazynowanie, pasmo sieciowe, itp.) ciężko replikować olbrzymie zbiory danych z zapewnieniem dostępności Magazynowanie różne techniki implementacji transakcyjności, różna semantyka, lub jedno i drugie, Przetwarzanie zapytań i optymalizacja wymagane ograniczenia przestrzeni planów lub samego wyszukiwania, Programowalność wyrażanie programów w chmurze. The Claremont Report on Database Research,

14 Wyzwania Prywatność i bezpieczeństwo danych Ochrona przed innymi użytkownikami i dostawcami chmur, Pokusy dla dostawców i klientów. The Claremont Report on Database Research,

15 Wyzwania Nowe aplikacje: mieszanki (mashups) interesujących zbiorów danych Używają usług z przygotowanym dużymi zbiorami danych, notowaniami giełdowymi, wynikami przeszukiwania sieci, danymi naukowymi, Zbiory danych pochodzą z prywatnych lub publicznych domen, Mogą stać się początkiem federacyjnych architektur chmurowych. The Claremont Report on Database Research,

16 Skalowalne składy danych

17 Przegląd Nowe systemy pojawiły się w celu sprostania wymaganiom zarządzania danymi w chmurze Składy NoSQL, Skalowalne bazy SQL. Skalowanie poziome (horizontal scaling) Shared nothing, Replikowanie i partycjonowanie danych na tysiącach serwerów, Dystrybucja obciążenia prostej operacji na tysiące serwerów. Proste operacje to: Wyszukiwania po kluczu (key lookups), Odczyty i zapisy na jednym lub małej liczbie rekordów, Brak złożonych zapytań lub złączeń. 17

18 Sharding, partycjonowanie poziome i pionowe Partycjonowanie poziomie (horizontal partitioning) Partycjonowanie pionowe (vertical paritioning) SQL Azure Federation Introduction, azure- federation- ndash- introduction.aspx 18

19 Sharding, partycjonowanie poziome i pionowe Partycjonowanie poziome dzieli jedną lub więcej tabel względem rekordu, zazwyczaj w ramach pojedynczej instancji schematu lub serwera bazy danych Może oferować korzyść z redukcji wielkości indeksu (i dlatego kosztu wyszukiwania) pod warunkiem, że istnieje jakiś oczywisty, solidny i jawny sposób identyfikacji, w jaki ten konkretny rekord może być znaleziony bez potrzeby wcześniejszego przeszukiwania indeksu Klasyczny przykład tabele z klientami dla każdej litery, gdzie nazwa klienta wskazuje od razu, gdzie dany rekord znaleźć. Wikipedia, 19

20 Sharding, partycjonowanie poziome i pionowe Sharding idzie znacznie dalej partycjonuje problematyczne tabele w ten sam sposób, ale potencjalnie pomiędzy wieloma instancjami schematu Oczywistą zaletą jest to, że obciążenia wyszukiwania dla dużej spartycjonowanej tabeli może być rozłożone pomiędzy wiele serwerów (logicznych lub fizycznych), nie tylko wiele indeksów na jednym logicznym serwerze, Rozdzielanie odłamków (shards) pomiędzy liczne izolowane instancje wymaga więcej niż partycjonowania poziomego. Zakładane zyski wydajności zostałyby utracone, jeżeli odpytywanie bazy wymagałoby odpytania każdej instancji tylko w celu pobrania prostej tabeli. Dlatego sharding rozdziela wielkie spartycjonowane tabele pomiędzy serwery, podczas gdy mniejsze tabele są replikowane jako kompletne jednostki. Wikipedia, 20

21 Sharding, partycjonowanie poziome i pionowe To także dlatego sharding jest związany z architekturą shared nothing po rozbiciu każdy shard może istnieć w całkowicie oddzielnym logicznym schemacie, instancji, fizycznym serwerze, centrum danych, czy kontynencie. Nie ma potrzeby zachowywania współdzielonego dostępu (spomiędzy shardów) to innych niespartycjonowanych tabel na innych shardach Czyni to replikację pomiędzy wieloma serwerami łatwą, w przeciwieństwie do prostego partycjonowania poziomego, Jest to także wygodne w przypadku rozproszenia aplikacji na skalę globalną, gdzie łącza komunikacyjne pomiędzy centrami danych stanowiłyby wąskie gardło. Wikipedia, 21

22 Sharding, partycjonowanie poziome i pionowe Istnieje także wymaganie dotyczące mechanizmu powiadamiania i replikacji pomiędzy instancjami schematu, aby niespartycjonowane tabele pozostały zsynchronizowane tak blisko, jak aplikacja tego wymaga Stanowi to złożony wybór w odłamkowej (sharded) architekturze, Stosowane podejścia sięgają od ustawiania danych tylko do odczytu (aktualizacje są rzadkie i batchowane) po dynamicznie replikowane tabele (kosztem ograniczenia pewnych korzyści z rozproszenia i shardingu), przez wiele opcji pośrednich. Wikipedia, 22

23 Sharding, partycjonowanie poziome i pionowe 5 ways to boost performance of your Rails applications, ways- to- boost- performance- of- your- rails- applications/ 23

24 Definicja NoSQL Zgodna definicja nie istnieje: not only SQL, not SQL/relational, 24

25 Definicja NoSQL Sześć cech kluczowych: Zdolność poziomego skalowania prostych operacji poprzez wiele serwerów, Zdolność replikacji i dystrybucji (partycjonowania) danych na wiele serwerów, Proste wołania poziomu interfejsu lub protokołu (w przeciwieństwie do wiązania SQL), Słabszy model współbieżności niż w transakcjach ACID większości systemów relacyjnych, Wydajne wykorzystanie rozproszonych indeksów i RAM dla magazynowania danych, Zdolność dynamicznego dodawania nowych atrybutów do rekordów (brak schematu). 25

26 Relacyjny model danych Dane przechowywane w relacjach (tabelach) krotek (rzędów, rekordów) skalarnych wartości Krotka (tuple) rząd w tabeli relacyjnej, gdzie nazwy i typy atrybutów są zdefiniowane w schemacie, a wartości są skalarne, Zapytania wyrażone względem dowolnych (kombinacji) atrybutów, Indeksy zdefiniowane względem dowolnych (kombinacji) atrybutów. 26

27 NoSQLowe modele danych Dokumentowy (document) obsługuje zarówno wartości skalarne, jak i zagnieżdżone dokumenty a atrybuty są dynamicznie definiowane dla każdego dokumentu. Rodzina kolumn (column family, key- value) grupuje pary klucz- wartość (kolumny) w rodziny aby je partycjonować i replikować. Jedna rodzina kolumn przypomina dokument, do której mogą być dodawane nowe (zagnieżdżone, listowe) atrybuty. Obiektowy (object) analogiczny do obiektów w językach programowania, ale bez metod proceduralnych, 27

28 Model klucz- wartość Składowanie danych Wartości (dane) są przechowywane w oparciu o klucze zdefiniowane przez programistę, System jest agnostyczny względem struktury (semantyki) wartości. Zapytania wyrażone względem kluczy. Indeksy główne są definiowane na kluczach wspieranych przez system, indeksy pomocnicze na wartościach lub częściach wartości. Interfejs: put(key, value) get(key): value 28

29 Model dokumentowy Składowanie danych Dokumenty (dane) są przechowywane w oparciu o klucze zdefiniowane przez programistę, System jest świadomy (dowolnej) struktury dokumentu, Obsługa list, wskaźników i zagnieżdżonych dokumentów. Zapytania wyrażone względem kluczy (lub atrybutu, jeżeli istnieje indeks). Obsługa indeksów opartych na kluczach i indeksów wtórnych. Interfejs: set(key, document) get(key): document set(key, name, value) get(key, name): value 29

30 Model rodziny kolumn Składowanie danych Trójki <name, value, timestamp> (tzw. kolumny) są przechowywane w oparciu o rodzinę kolumn i klucz. Rodzina kolumn przypomina dokument. System jest świadomy (dowolnej) struktury rodziny kolumn, System używa informacji rodziny kolumn dla replikacji i rozproszenia danych. Zapytania wyrażone w oparciu o klucz i rodzinę kolumn. Zazwyczaj wspierane są indeksy wtórna dna rodzinie kolumn. Interfejs: define(family) insert(family, key, columns) get(family, key): columns 30

31 Model grafowy (graph) Składowanie danych Dane są przechowywane w oparciu o węzły i (typowane) łuki. Zarówno węzły jak i łuki mogą przyjmować (dowolne) atrybuty. Zapytania wyrażone w oparciu o identyfikatory systemowe (jeżeli nie ma indeksów). Obsługiwane są indeksy pomocnicze dla węzłów i łuków. Pobieranie węzłów w oparciu o atrybuty i łuki po typie, węźle początkowym i/lub końcowym. Interfejs: create: id get(id) connect(id1, id2): id addattribute(id, name, value) getattribute(id, name): value 31

32 Model tablicowy (array) Zagnieżdżone wielowymiarowe tablice Komórki mogą być krotkami lub innymi tablicami, Mogą mieć wymiary niecałkowite. Dodatkowy wymiar historii na aktualizowalnych tablicach. Postrzępione (ragged) tablice pozwalają każdemu rzędowi lub kolumnie mieć inną długość. Wspiera wiele typów wartości zerowych (null) Komórki tablicy mogą być puste (empty), Definiowalne przez użytkownika podejście do wartości specjalnych. 32

33 Model obiektowy Składowanie danych Typowane obiekty języka programowania (plus obiekty referencyjne), Atrybuty mogą być kolekcjami, Baza jest świadoma typu (schematu) obiektów. Obiekty są pobierane za pomocą zapytań lub trawersowania od korzeni. Wyspecjalizowane indeksy mogą być wyrażone w oparciu o schemat. Interfejs: set(object) get(query): object 33

34 Skalowalna spójność i modele transakcyjne

35 Twierdzenie Brewera Brewer s conjecture Trzy właściwości, które są pożądane i oczekiwane od rzeczywistych systemów współdzielących dane: C spójność danych (data consistency), A dostępność (availability), P tolerancje na partycję sieci (tolerance of network partition). Na warsztatach PODC 2000 (Portland) Eric Brewer przedstawił przypuszczenie (conjecture), że tylko dwie z tych trzech właściwości mogą być spełnione przez system w dowolnym momencie. Przypuszczenie zostało sformalizowane i potwierdzone przez Setha Gilberta i Nancy Lynch z MIT w roku Obecnie jest znane jako twierdzenie CAP (CAP Theorem). 35

36 Spójność danych Systemy bazodanowe zazwyczaj implementują transakcje ACID: Atomowość (atomicity) wszystko albo nic, Spójność (consistency) transakcje nigdy nie widzą ani nie tworzą niespójnych danych, Izolacja (isolation) transakcje nie są świadome współbieżnych transakcji, Trwałość (durability) stan transakcji jest trwały po jej zatwierdzeniu (commit). 36

37 Spójność danych Jest użyteczna w zautomatyzowanych aplikacjach biznesowych. Bankowości z końcem transakcji suma pieniędzy na obydwu rachunkach jest taka sama jak przed transakcją, Aukcjach online ostatni licytujący wygrywa aukcję, Istnieją aplikacje, które mogą poradzić sobie z luźniejszymi gwarancjami spójności i okresami niespójności. 37

38 Dostępność Od usług oczekuje się wysokiej dostępności: Każde żądanie powinno uzyskać odpowiedź, Rzeczywiste problemy mogą pojawić się, kiedy usługa przestaje działać. Realistyczny cel: Usługa powinna być dostępna tak samo jak sieć, w której działa, Jeżeli dowolna usługa w danej sieci jest dostępna, rozważana usługa także powinna być dostępna. 38

39 Tolerancja na partycjonowanie Usługa powinna nadal działać zgodnie z oczekiwaniami Jeżeli jakiś węzeł ulega awarii, Jeżeli jakieś łącza komunikacyjne zawodzą. Jedną z pożądanych właściwości tolerancji na błędy (fault tolerance) jest elastyczność względem partycjonowania sieci na wiele komponentów. W cloud computing awarie węzła i komunikacji nie są wyjątkiem, ale codziennymi zdarzeniami. 39

40 Problemy z CAP Asymetria właściwości CAP: C jest ogólną właściwością systemu, A jest właściwością systemu jedynie w przypadku partycji. Nie istnieją trzy różne wybory: W praktyce CA i CP są nieodróżnialne, ponieważ A jest poświęcane jedynie w przypadku partycji. Używane jako wymówka, aby nie martwić się o spójność Dostępność jest naprawdę dla mnie ważna, więc CAP mówi, że będę musiał zrezygnować ze spójności. Daniel Abadi, Yale University 40

41 Inny problem do naprawienia Poza dostępnością w przypadku partycji, istnieją inne koszty spójności. Narzut synchronizacji schematów. Opóźnienia (latency) Jeżeli obciążenie może zostać spartycjonowane geograficznie, opóźnienia nie są takie złe, W przeciwnym wypadku, nie ma sposobu uniknięcia przynajmniej jednego dookólnego komunikatu. Daniel Abadi, Yale University 41

42 Wspólne rozwiązanie problemów PACELC W przypadku partycji (P), czy system wybiera dostępność (A), czy spójność (C)? W przeciwnym wypadku (Else), czy system wybiera opóźnienia (Latency) czy spójność (C)? PA/EL Dynamo, SimpleDB, Cassandra, Riptano, CouchDB, Cloudant. PC/EC Systemy zgodne z ACID. PA/EC GenieDB. PC/EL Istnienie jest dyskusyjne. Daniel Abadi, Yale University 42

43 Przypadek P*/EC Zwiększony nacisk na poziomo skalowalne transakcyjne systemy bazodanowe: Cloud computing, Aplikacje rozproszone, Chęć wdrażania aplikacji na tanim niewyspecjalizowanym sprzęcie. Ogromna większość obecnie dostępnych systemów skalowalnych poziomo reprezentuje P*/EL: Rozwijane przez inżynierów w Google, Facebook, Yahoo, Amazon, itp. Ci inżynierowe mogą poradzić sobie z ograniczoną spójnością, ale jest to naprawdę trudne, poza tym musie istnieć też opcja na reszty użytkowników. Ponadto: Rozproszona kontrola współbieżności i protokołów zatwierdzających jest kosztowna, Gdy spójność zanika, zazwyczaj za raz potem ginie też atomowość NoSQL. Daniel Abadi, Yale University 43

44 Problem do przezwyciężenia Wysoka dostępność jest krytyczna, replikacja jest celem pierwszej kategorii. Dzisiejsze systemy najpierw działają, potem się replikują Komplikacja semantyki wysyłania zapytań odczytujących do replik, Potrzeba potwierdzania od replik przed zatwierdzeniem (zwiększone opóźnienia) jeżeli chcemy mieć trwałość i wysoką dostępność. Trwające transakcje muszą być porzucone w momencie błędu głównej (master) bazy. Chcemy systemu, który najpierw się replikuje, później działa. Rozproszona kontrola współbieżności i zatwierdzanie są kosztowne, chcemy pozbyć się obydwu. Daniel Abadi, Yale University 44

45 Kluczowa idea Zamiast osłabiania ACID wzmocnijmy je. Wyzwania: Gwarantowanie równoważności względem pewnej seryjnej kolejności czyni replikację trudną, Przeprowadzenie tego samego zbioru transakcji na dwóch różnych replikach może spowodować ich rozbieżność. Zabronienie każdego niedeterministycznego zachowania. Zabronienie porzuceń (aborts) spowodowanych przez DBMS: Zabronienie zakleszczania (deadlock), Rozproszone zatwierdzanie jest znacznie prostsze, kiedy nie ma porzuceń. Daniel Abadi, Yale University 45

46 Konsekwencje determinizmu Repliki dają to samo wyjście, zakładając jednakowe wejście Ułatwia do aktywną replikację. Wystarczy logować jedynie początkowe wejście, stan awarii może zostać zrekonstruowany na podstawie tego logu (albo z repliki). Aktywne rozproszone transakcje nie są porzucane aż do momentu awarii węzła: Silna redukcja (lub eliminacja) kosztów rozproszonego zatwierdzania, Nie ma potrzeby martwienia się o węzły ulegające awarii podczas protokołu zatwierdzania, Nie ma potrzeby martwienia się o efekty transakcji i zapisywanie jej na dysku przed zapewnieniem jej zatwierdzenia, Wystarczy jeden komunikat z dowolnego węzła, które może deterministycznie porzucić transakcję, Ten komunikat może zostać wysłany w środku transakcji, kiedy tylko wie, że nastąpi zatwierdzanie. Daniel Abadi, Yale University 46

47 Silna i słaba spójność Silna spójność Po zatwierdzeniu aktualizacji, każdy kolejny dostęp będzie zwracał zaktualizowaną wartość. Słaba spójność System nie gwarantuje, że kolejne dostępny będą zwracały zaktualizowaną wartość, Może istnieć potrzeba spełnienia pewnych warunków zanim zaktualizowana wartość będzie zwrócona, Okno niespójności czas pomiędzy aktualizacją i punktem czasu, kiedy każdy dostęp ma zagwarantowane zwrócenie zaktualizowanej wartości. Eventual Consistency by W. Vogels,

48 Spójność ostateczna (eventual) Specyficzna forma słabej spójności. Jeżeli nie ma nowych aktualizacji, w końcu wszystkie dostępy będą zwracać zaktualizowaną wartość. Przy braku błędów, maksymalny rozmiar okna niespójności może być określony w oparciu o: Opóźnienia komunikacyjne, Obciążenie systemu, Liczbę replik, To nie jest nowy pomysł: DNS używa spójności ostatecznej podczas aktualizacji, RDBMS używa spójności ostatecznej dla komunikacji asynchronicznej lub kopii zapasowych. Eventual Consistency by W. Vogels,

49 Modele spójności ostatecznej Spójność przyczynowa (causal consistency) Jeżeli A zakomunikował B, że zaktualizował wartość, to kolejny dostęp od B zwróci zaktualizowaną wartość, a zapis nadpisze wcześniejszy zapis. Dostęp z C, który nie ma przyczynowego związku z A podlega normalnym regułom spójności ostatecznej. Spójność czytania swoich zasobów (read- your- writes consistency) Przypadek specjalny modelu spójności przyczynowej, Po zaktualizowanie wartości, proces będzie zawsze odczytywać zaktualizowaną wartość i nigdy nie zobaczy starczej wartości. Eventual Consistency by W. Vogels,

50 Modele spójności ostatecznej Spójność sesji (session consistency) Praktyczny przypadek spójności czytania swoich zasobów, Dane są dostępowane w sesji, gdzie istnieje gwarancja czytania swoich zasobów, Gwarancja nie rozciąga się między sesjami. Monotoniczna spójność odczytu (monotonic read consistency) Jeżeli proces widział określoną wartość, każdy kolejny dostęp nigdy nie zwróci poprzedniej wartości. Monotoniczna spójność zapisu (monotonic write consistency) System gwarantuje serializację zapisów jednego procesu, Systemy, które nie gwarantują tego poziomu zapisu są trudne w oprogramowaniu. Eventual Consistency by W. Vogels,

51 Modele spójności ostatecznej Właściwości mogą być łączone Np. monotoniczne odczyty plus spójność sesji, Np. monotoniczne odczyty plus czytanie własnych zapisów, Możliwa spora liczba scenariuszy, zależna od tego, czy aplikacja może sobie poradzić z konsekwencjami. Eventual Consistency by W. Vogels,

52 Konfiguracje Definicje: N liczba węzłów przechowujących replikę, W liczba replik, które muszą potwierdzić operację zapisu, R liczba replik, które są dostępowane dla operacji zapisu. Eventual Consistency by W. Vogels,

53 Konfiguracje W+R > N Np. replikacja synchroniczna (N=2, W=2, and R=1), Zbiory zapisów i odczytów zawsze się nakładają, Silna spójność może zostać zagwarantowana poprzez protokoły kworum (quorum protocols), Ryzyko zmniejszenia dostępności w podstawowym protokole kworum operacje nie powodzą się, jeżeli odpowie mniej niż wymagana liczba węzłów, co może być spowodowane awarią węzła. W+R = N Np. replikacja asynchroniczna (N=2, W=1, and R=1), Nie można zagwarantować silnej spójności. Eventual Consistency by W. Vogels,

54 Konfiguracje R=1, W=N Zoptymalizowane dla odczytu pojedynczy odczyt zwróci wartość, Operacje zapisu dotyczą wszystkich węzłów i są zagrożone niepowodzeniem. R=N, W=1 Zoptymalizowane dla zapisu operacje zapisu dotyczą wyłącznie jednego węzła i opierają się na leniwej (epidemicznej) technice uaktualniania pozostałych replik, Operacje odczytu dotyczą wszystkich węzłów i zwracają najnowszą wartość, Nie ma gwarancji trwałości w przypadku awarii. W < (N+1)/2 ryzyko konfliktów zapisów. W+R <= N Słaba/ostateczna spójność. Eventual Consistency by W. Vogels,

55 Base Basically Available, Soft state, Eventually Consistent Spójność jest ostatecznie osiągana, konflikty muszą być rozwiązane w pewnym momencie Naprawa odczytów, Naprawa zapisów, Naprawa asynchroniczna. Rozwiązywanie konfliktu jest zazwyczaj oparte na globalnym (częściowym) szeregowaniu operacji, co deterministycznie gwarantuje, że wszystkie repliki rozwiązują konflikty w ten sam sposób. Określone przez klienta timestampy, Zegary wektorowe. 55

56 Zegary wektorowe Generują częściowe szeregowanie zdarzeń w systemie rozproszonym i wykrywają zakłócenia przyczynowości. Zegar wektorowy systemu z n procesami jest wektorem n logicznych zegarów (jeden zegar na proces). Komunikaty zawierają stan logicznego zegara procesu wysyłającego, Lokalna kopia najmniejszych możliwych wartości globalnego zegara wektorowego jest utrzymywana w każdym procesie. Algorytm zegara wektorowego został opracowany niezależnie przez Colin Fidge a i Friedemann Matterna w

57 Reguły aktualizacji zagara Wszystkie zegary są inicjalizowane na zero. Proces inkrementuje swój własny zegar logiczny w wektorze o jeden za każdym razem kiedy: Doświadcza zdarzenia wewnętrznego, Proces przygotowuje się do wysłania komunikatu, Proces otrzymuje komunikat. wektorowego Za każdym razem, kiedy proces wysyła komunikat, przesyła cały zegar wektorowy wraz z wysyłanym komunikatem. Za każdym razem, kiedy proces otrzymuje komunikat, aktualizuje każdy element w sowim wektorze biorąc maksimum wartości we własnym zegarze wektorowym i wartości z wektora w otrzymanym komunikacie. 57

58 Przykład zegara wektorowego Wikipedia, 58

59 Chmurowe systemy plików: Google File System (GFS)

60 Założenia projektowe System jest zbudowany z wielu niedrogich powszechnie dostępnych komponentów Awarie komponentów zdarzają się rutynowo, Monitoruje się, żeby wykrywać awarie, znosić je i się naprawiać. System przechowuje ogromną liczbę dużych plików Kilka milionów plików, zazwyczaj 100 MB lub większych, Wielogigabajtowe pliki są całkiem powszechne i muszą być sprawnie zarządzane, Małe pliki także są obsługiwane, ale system nie jest dla nich zoptymalizowany. Obciążenie systemu Duże odczyty strumieniowe kolejne odczyty z jednego klienta odczytują przyległe obszary, zazwyczaj 1 MB i więcej, Małe dowolne (random) odczyty zazwyczaj kilka kb w dowolnym offsecie, Duże sekwencyjne zapisy dowiązywanie danych do plików; operacja podobna do strumieniowych odczytów; małe przypadkowe zapisy są także obsługiwane, ale niewydajnie. 60

61 Założenia projektowe Wsparcie dla równoczesnych dowiązań do tego samego pliku Wydajna implementacja, Dobrze zdefiniowana semantyka, Przypadek użycia: Kolejki producent- konsument lub wielodrogowe scalanie z setkami procesów równolegle dowiązujących do pliku, Atomowość z minimalnym narzutem synchronizacji jest kluczowa, Plik może być odczytywany późnej lub jednocześnie. Zachowanie wysokiego pasma jest ważniejsze od niewielkich opóźnień. 61

62 Decyzje projektowe interfejs GFS nie implementuje standardowego API jak POSIX. Obsługuje zwykłe operacje na plikach: Utwórz/usuń, Otwórz/zamknij, Odczytaj/zapisz. Wspiera dodatkowe operacje: Snapshot niskim kosztem tworzy kopię pliku lub drzewa katalogów używając kopiowania przy zapisie, record append pozwala wielu klientom dowiązywać dane do tego samego pliku równocześnie, jednocześnie gwarantując atomowość każdego indywidualnego dowiązania klienta. 62

63 Decyzje projektowe architektura Klaster GFS: Pojedynczy master i wiele chunkserverów, Dostępowany przez wiele klientów, Komponenty to zazwyczaj powszechnie dostępne maszyny linuksowe, Procesy serwera GFS działają w trybie użytkownika. Kawałki (chunks): Pliki są podzielone na równe kawałki, Identyfikowane przez globalnie unikatowe 64- bitowe uchwyty (handles) przypisywane przez mastera, Kawałki są replikowane dla zwiększenia niezawodności, zazwyczaj czynnik replikacji wynosi 3. 63

64 Decyzje projektowe architektura Wiele chunkserverów: Przechowują kawałki na dysku lokalnym jako pliki linuksowe, Przyjmują i obsługują żądania danych, Brak specjalnego cache owania opiera się na linuksowym cache u bufora. Pojedynczy master upraszcza ogólny projekt: Umożliwia bardziej skomplikowane rozmieszczanie kawałków i replikację, zachowując pojedynczy punkt niepowodzenia, Utrzymuje metadane systemu plików przestrzeń nazw, informacje kontroli dostępu, mapowanie plik- kawałek, bieżącą lokalizację kawałka. Wykonuje czynności zarządcze dzierżawy kawałków, garbage collection, osierocone kawałki, migrację kawałków. heart beats okresowe komunikaty wysyłane do chunkserverów do wydawania instrukcji lub pobierania stanu, Nie przyjmuje ani nie akceptuje żądań danych. 64

65 Decyzje projektowe architektura The Google File System by S. Ghemawat, H. Gobioff, and S.- T. Leung,

66 Jeden z kluczowych parametrów: Ustawiona duża wartość, tj. 64 MB, Dla uniknięcia fragmentacji chunkservery używają leniwej alokacji przestrzeni, tzn. pliki są rozszerzane tylko w miarę potrzeby. Zalety: Redukcja interakcji między klientem a masterem, Redukcja narzutu sieciowego przez użycie trwałego połączenia TCP dla wielu operacji na jednym kawałku, Redukcja wielkości metadanych przechowywanych na masterze. Wady: Decyzje projektowe wielkość kawałka Małe pliki składają się z nielicznych kawałków, Ryzyko hot spotów zwiększony czynnik replikacji dla małych plików. 66

67 Decyzje projektowe metadane Wszystkie metadane są trzymane w głównej pamięci mastera: Przestrzenie nazw pliku i kawałka tabela wyszukiwania (lookup table) z kompresją prefiksów, Mapowanie plik- kawałek, Lokalizacja replik kawałka nie przechowywana, ale odpytywana z chunkserverów. Dziennik operacji: Przechowywany na lokalnym dysku mastera i replikowany na zdalne maszyny, Używany do przywracania mastera w przypadku awarii. Dyskusja: Rozmiar głównej pamięci mastera ogranicza liczbę możliwych plików, Master utrzymuje poniżej 65 bajtów na kawałek. 67

68 Decyzje projektowe model spójności Rozluźniony model spójności: Przystosowany do wysoko- rozproszonych aplikacji Google, Prosty i wydajny w implementacji. Mutacje przestrzeni nazw pliku są atomowe: Obsługiwane wyłącznie przez mastera, Blokowanie przestrzeni nazw gwarantuje atomowość i poprawność, Dziennik operacji mastera definiuje globalną całkowita kolejność operacji. Stan regionu pliku po mutacji danych: Spójny wszystkie klienty zawsze widzą te same dane, bez względu ma replikę, z której je odczytały, Określony spójny plus wszystkie klienty widzą całą mutację danych, Nieokreślony ale spójny wynik współbieżnej skutecznej mutacji wszystkie klienty widzą te same dane, ale może nie odzwierciedlać jednej lub więcej mutacji, Niespójny wynik nieudanej mutacji. 68

69 Decyzje projektowe model Mutacja zapisu danych spójności Dane są zapisywane w zależnym od aplikacji offsecie pliku. Mutacja dowiązywanie rekordu danych Dane (rekord) są dowiązywane atomowo co najmniej raz, nawet w obecności konkurencyjnych mutacji, GFS wybiera offset i zwraca go klientowi, GFS może wstawić padding lub duplikaty rekordów pomiędzy. Zapis Dowiązywanie rekordu Szeregowy sukces Określony Określony przeplatany z niespójnym Konkurencyjny sukces Spójny ale nieokreślony Porażka Niespójny 69

70 Decyzje projektowe model współbieżności Implikacje dla aplikacji: Opieranie się na dowiązywaniu zamiast na nadpisywaniu, Checkpointing, Sumy kontrolne poziomu aplikacji, Samo- walidacja zapisu, samo- identyfikacja rekordów. Typowe przypadki użycia (lub hakowanie rozluźnionej spójności ): Zapis generuje plik od początku do końca i następnie atomowo zmienia jego nazwę na nazwę trwałą, pod którą można do niego uzyskać dostęp, Zapisywacz wstawia okresowe checkpointy, odczytywacze czytają tylko do checkpointu, Wiele zapisywaczy równocześnie dowiązuje do pliku w celu scalenia wyników, odczytywacz pomija sporadyczny padding i powtórzenia używając sum kontrolnych. 70

71 Operacje zapis plików Klient master (1, 2) Chunkserver z dzierżawą kawałka Chunkservery z replikami Klient chunkservery Przesłanie danych do chunkserverów (3) Zapisanie danych do głównej repliki (4) Główna wtórna Przekazanie (forward) żądania zapisu (5) Wtórna główna Status operacji (6) Główna klient Status operacji (7) The Google File System by S. Ghemawat, H. Gobioff, and S.- T. Leung,

Bazy danych NoSQL. wprowadzenie. Szymon Francuzik Poznań,

Bazy danych NoSQL. wprowadzenie. Szymon Francuzik Poznań, Bazy danych NoSQL wprowadzenie Szymon Francuzik szymon.francuzik@cs.put.poznan.pl Poznań, 16.05.2012 Szymon Francuzik szymon.francuzik@cs.put.poznan.pl Bazy () danych NoSQL Poznań, 16.05.2012 1 / 37 Plan

Bardziej szczegółowo

Hurtownie danych wykład 5

Hurtownie danych wykład 5 Hurtownie danych wykład 5 dr Sebastian Zając SGH Warszawa 7 lutego 2017 1 Współbieżność i integracja Niezgodność impedancji 2 bazy danych Współbieżność i integracja Niezgodność impedancji Bazy relacyjne

Bardziej szczegółowo

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska MongoDB wprowadzenie dr inż. Paweł Boiński, Politechnika Poznańska Plan Historia Podstawowe pojęcia: Dokument Kolekcja Generowanie identyfikatora Model danych Dokumenty zagnieżdżone Dokumenty z referencjami

Bardziej szczegółowo

Hbase, Hive i BigSQL

Hbase, Hive i BigSQL Hbase, Hive i BigSQL str. 1 Agenda 1. NOSQL a HBase 2. Architektura HBase 3. Demo HBase 4. Po co Hive? 5. Apache Hive 6. Demo hive 7. BigSQL 1 HBase Jest to rozproszona trwała posortowana wielowymiarowa

Bardziej szczegółowo

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

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu. Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową..

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

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

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO Spis treści Przedmowa Podziękowania O książce Rozdział 1. Nowy paradygmat dla Big Data 1.1. Zawartość książki 1.2. Skalowanie tradycyjnej bazy danych 1.2.1. Skalowanie za pomocą kolejki 1.2.2. Skalowanie

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura

Bardziej szczegółowo

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

Od czego zacząć przy budowaniu środowisk wysokiej dostępności? Budowanie środowisk wysokiej dostępności w oparciu o nową wersję IDS 11 Artur Wroński IBM Information Management Technical Team Leader artur.wronski@pl.ibm.com Od czego zacząć przy budowaniu środowisk

Bardziej szczegółowo

Zarządzanie transakcjami

Zarządzanie transakcjami Zarządzanie transakcjami Właściwości ACID Przyjmuje się, że transakcje i protokoły zarządzania transakcjami powinny posiadać właściwości ACID: Atomowość (atomicity) każda transakcja stanowi pojedynczą

Bardziej szczegółowo

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

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

Seminarium Bazy Danych I. BigTable. Piotr Świgoń Uniwersytet Warszawski

Seminarium Bazy Danych I. BigTable. Piotr Świgoń Uniwersytet Warszawski Seminarium Bazy Danych I BigTable Piotr Świgoń Uniwersytet Warszawski Rzędy wielkości Miliardy URL'i i linków, wiele wersji stron Setki milionów użytkowników Tysiące zapytań na sekundę 2.7 3.3 GB rozmiar

Bardziej szczegółowo

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014 Leonard G. Lobel Eric D. Boyd Microsoft TM Azure SQL Database Krok po kroku Przekład: Marek Włodarz APN Promise, Warszawa 2014 Spis treści Wprowadzenie........................................................

Bardziej szczegółowo

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

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 Bazy Danych LITERATURA C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 J. D. Ullman, Systemy baz danych, WNT - W-wa, 1998 J. D. Ullman, J. Widom, Podstawowy

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Systemy rozproszone System rozproszony

Systemy rozproszone System rozproszony Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.

Bardziej szczegółowo

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

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.

Bardziej szczegółowo

MapReduce. Janina Mincer-Daszkiewicz Systemy rozproszone. MSUI, II rok

MapReduce. Janina Mincer-Daszkiewicz Systemy rozproszone. MSUI, II rok MapReduce Janina Mincer-Daszkiewicz Systemy rozproszone MSUI, II rok Materiały i rysunki zaczerpnięto z następujących źródeł 1. Jeffrey Dean,Sanjay Ghemawat, MapReduce: Simplified Data Processing on Large

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

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

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003 IBM DCE/DFS Mikołaj Gierulski 17 stycznia 2003 1 Spis treści 1 IBM DCE 3 2 DCE/Distributed File Service 3 2.1 Rozwiązanie podstawowych problemów rozproszonych systemów plików.... 3 2.1.1 Nazewnictwo................................

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

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

Bardziej szczegółowo

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

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

Rozproszone bazy danych. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Rozproszone bazy danych Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Scentralizowana baza danych Dane są przechowywane w jednym węźle sieci Można

Bardziej szczegółowo

SZKOLENIE: Administrator baz danych. Cel szkolenia

SZKOLENIE: Administrator baz danych. Cel szkolenia SZKOLENIE: Administrator baz danych. Cel szkolenia Kurs Administrator baz danych skierowany jest przede wszystkim do osób zamierzających rozwijać umiejętności w zakresie administrowania bazami danych.

Bardziej szczegółowo

Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family

Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family Kod szkolenia: Tytuł szkolenia: HADOOP Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family Dni: 5 Opis: Adresaci szkolenia: Szkolenie jest adresowane do programistów, architektów oraz

Bardziej szczegółowo

Zapewnienie wysokiej dostępności baz danych. Marcin Szeliga MVP SQL Server MCT

Zapewnienie wysokiej dostępności baz danych. Marcin Szeliga MVP SQL Server MCT Zapewnienie wysokiej dostępności baz Marcin Szeliga MVP SQL Server MCT Agenda Techniki zapewniania wysokiej dostępności baz Zasada działania mirroringu baz Wdrożenie mirroringu Planowanie Konfiguracja

Bardziej szczegółowo

Wprowadzenie do Hurtowni Danych

Wprowadzenie do Hurtowni Danych Wprowadzenie do Hurtowni Danych BIG DATA Definicja Big Data Big Data definiowane jest jako składowanie zbiorów danych o tak dużej złożoności i ilości danych, że jest to niemożliwe przy zastosowaniu podejścia

Bardziej szczegółowo

Szkolenie wycofane z oferty. Apache Cassandra - modelowanie, wydajność, analiza danych

Szkolenie wycofane z oferty. Apache Cassandra - modelowanie, wydajność, analiza danych Szkolenie wycofane z oferty Program szkolenia: Apache Cassandra - modelowanie, wydajność, analiza danych Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Apache Cassandra - modelowanie,

Bardziej szczegółowo

Przykłady DFS z lotu ptaka :) NFS AFS Coda GoogleFS ZFS

Przykłady DFS z lotu ptaka :) NFS AFS Coda GoogleFS ZFS Przykłady DFS z lotu ptaka :) NFS AFS Coda GoogleFS ZFS NFS Network File System sieciowy system plików Stworzony przez Sun Microsystems Dostępny dla, m.in.: Unix, Windows, OS/2, Mac OS Pracuje w środowisku

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

Big Data to skalowalność i prostota obsługi wielkich ilości danych!

Big Data to skalowalność i prostota obsługi wielkich ilości danych! Obsługa aplikacji, które operują na ogromnych zbiorach danych, czyli na przykład portali społecznościowych, przekracza możliwości zwykłych relacyjnych baz. Praca ze złożonymi zbiorami danych wymaga architektury

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

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

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

Bazy danych NoSQL. Szymon Francuzik szymon.francuzik@cs.put.poznan.pl. Poznań, 29.10.2012

Bazy danych NoSQL. Szymon Francuzik szymon.francuzik@cs.put.poznan.pl. Poznań, 29.10.2012 Bazy danych NoSQL Szymon Francuzik szymon.francuzik@cs.put.poznan.pl Poznań, 29.10.2012 Szymon Francuzik szymon.francuzik@cs.put.poznan.pl Bazy () danych NoSQL Poznań, 29.10.2012 1 / 45 Plan prezentacji

Bardziej szczegółowo

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy 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 Cechy rozproszonej bazy danych Implementacja rozproszonej bazy Wykład 15: Rozproszone bazy danych Małgorzata Krętowska, Agnieszka Oniśko Wydział Informatyki PB Bazy danych (studia

Bardziej szczegółowo

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie warstwy danych Zagadnienia Sposoby zapisu danych zewnętrznych Odwzorowanie dziedziny problemu w dziedzinę danych Normalizacja relacyjnej

Bardziej szczegółowo

Architektura rozproszonych magazynów danych

Architektura rozproszonych magazynów danych Big data Big data, large data cloud. Rozwiązania nastawione na zastosowanie w wielkoskalowych serwisach, np. webowych. Stosowane przez Google, Facebook, itd. Architektura rozproszonych magazynów danych

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

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

Replikacje. dr inż. Dziwiński Piotr Katedra Inżynierii Komputerowej. Kontakt: dr inż. Dziwiński Piotr Katedra Inżynierii Komputerowej Kontakt: piotr.dziwinski@kik.pcz.pl Replikacje 2 1 Podstawowe pojęcia Strategie replikacji Agenci replikacji Typy replikacji Modele replikacji Narzędzia

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

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

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

Bardziej szczegółowo

Hadoop i Spark. Mariusz Rafało

Hadoop i Spark. Mariusz Rafało Hadoop i Spark Mariusz Rafało mrafalo@sgh.waw.pl http://mariuszrafalo.pl WPROWADZENIE DO EKOSYSTEMU APACHE HADOOP Czym jest Hadoop Platforma służąca przetwarzaniu rozproszonemu dużych zbiorów danych. Jest

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

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

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24 Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24 Agenda Serp24 NoSQL Integracja z CMS Drupal Przetwarzanie danych Podsumowanie Serp24 Darmowe narzędzie Ułatwia planowanie

Bardziej szczegółowo

Architektura i mechanizmy systemu

Architektura i mechanizmy systemu Architektura i mechanizmy systemu Warsztaty Usługa powszechnej archiwizacji Michał Jankowski, PCSS Maciej Brzeźniak, PCSS Plan prezentacji Podstawowe wymagania użytkowników - cel => Funkcjonalnośd i cechy

Bardziej szczegółowo

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

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego 1 Historia i pojęcia wstępne Przetwarzanie współbieżne realizacja wielu programów (procesów) w taki sposób, że ich

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

16MB - 2GB 2MB - 128MB

16MB - 2GB 2MB - 128MB FAT Wprowadzenie Historia FAT jest jednym z najstarszych spośród obecnie jeszcze używanych systemów plików. Pierwsza wersja (FAT12) powstała w 1980 roku. Wraz z wzrostem rozmiaru dysków i nowymi wymaganiami

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

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

Replikacja bazy danych polega na kopiowaniu i przesyłaniu danych lub obiektów bazodanowych między serwerami oraz na zsynchronizowaniu tych danych w J. Karwowska Replikacja bazy danych polega na kopiowaniu i przesyłaniu danych lub obiektów bazodanowych między serwerami oraz na zsynchronizowaniu tych danych w celu utrzymania ich spójności. Dane kopiowane

Bardziej szczegółowo

Big Data i 5V Nowe wyzwania w świecie danych Krzysztof Goczyła

Big Data i 5V Nowe wyzwania w świecie danych Krzysztof Goczyła Big Data i 5V Nowe wyzwania w świecie danych Krzysztof Goczyła Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska kris@eti.pg.gda.pl Sopot, 10.09.2014 1 O czym będzie? Co to jest Big

Bardziej szczegółowo

NoSQL: Riak. dr inż. Sebastian Ernst Katedra Informatyki Stosowanej

NoSQL: Riak. dr inż. Sebastian Ernst Katedra Informatyki Stosowanej NoSQL: Riak dr inż. Sebastian Ernst Katedra Informatyki Stosowanej Twierdzenie CAP W przypadku rozdziału węzłów (partition), możliwe jest zachowanie jednej z dwóch cech: spójności (consistency) wszystkie

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

Projektowanie warstwy danych

Projektowanie warstwy danych Jarosław Kuchta Internetowych Projektowanie warstwy danych qhta@eti.pg.gda.pl J.Kuchta@eti.pg.gda.pl Zagadnienia Sposoby zapisu danych zewnętrznych Odwzorowanie dziedziny problemu w dziedzinę danych Normalizacja

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

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne

Bardziej szczegółowo

Klient-Serwer Komunikacja przy pomocy gniazd

Klient-Serwer Komunikacja przy pomocy gniazd II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu

Bardziej szczegółowo

przykłady problemów; realizacja dostaw części od producenta do klienta:

przykłady problemów; realizacja dostaw części od producenta do klienta: Przetwarzanie transakcyjne Transakcja zestaw operacji pod szczególną kontrolą transakcja to sekwencja operacji, która musi zakończyć się sukcesem w całości - w przeciwnym wypadku musi powrócić stan początkowy

Bardziej szczegółowo

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. Dariusz Wawrzyniak 1

Wprowadzenie. Dariusz Wawrzyniak 1 Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak

Bardziej szczegółowo

Systemy GIS Systemy baz danych

Systemy GIS Systemy baz danych Systemy GIS Systemy baz danych Wykład nr 5 System baz danych Skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki Użytkownik ma do dyspozycji narzędzia do wykonywania różnych

Bardziej szczegółowo

5. Model komunikujących się procesów, komunikaty

5. Model komunikujących się procesów, komunikaty Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć

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

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

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

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

Nieustanny rozwój. Tomasz Leśniewski tomasz.lesniewski@netart.pl

Nieustanny rozwój. Tomasz Leśniewski tomasz.lesniewski@netart.pl Nieustanny rozwój Tomasz Leśniewski tomasz.lesniewski@netart.pl Poczta w chmurze? Czy nazwa.pl ma pocztę w chmurze? Biorąc pod uwagę poniższe kryteria, tak: Dla końcowego użytkownika dostępna jest pełnowartościowa

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Wstęp do problematyki baz danych Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. I Jesień 2014 1 / 17 Plan wykładu 1 Bazy danych 1 Motywacja

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

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

1 Przetwarzanie transakcyjne Cechy transakcji Rozpoczęcie i zakończenie Punkty bezpieczeństwa... 3

1 Przetwarzanie transakcyjne Cechy transakcji Rozpoczęcie i zakończenie Punkty bezpieczeństwa... 3 Plan wykładu Spis treści 1 Przetwarzanie transakcyjne 1 1.1 Cechy transakcji................................. 2 1.2 Rozpoczęcie i zakończenie........................... 3 1.3 Punkty bezpieczeństwa.............................

Bardziej szczegółowo

Podstawy teoretyczne baz danych. Recovery Transakcyjne odtwarzanie bazy danych po awarii

Podstawy teoretyczne baz danych. Recovery Transakcyjne odtwarzanie bazy danych po awarii Podstawy teoretyczne baz danych Recovery Transakcyjne odtwarzanie bazy danych po awarii Cel odtwarzania Podstawowym celem mechanizmów transakcyjnego odtwarzania bazy danych po awarii jest odtworzenie spójnego

Bardziej szczegółowo

Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej

Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej ransakcje Definicja i własności transakcji, zatwierdzanie i wycofywanie, punkty bezpieczeństwa, spójność, anomalie współbieżnego dostępu do danych, poziomy izolacji transakcji, blokady, zakleszczenie Definicja

Bardziej szczegółowo

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Organizacyjnie. Prowadzący: dr Mariusz Rafało   (hasło: BIG) Big Data Organizacyjnie Prowadzący: dr Mariusz Rafało mrafalo@sgh.waw.pl http://mariuszrafalo.pl (hasło: BIG) Automatyzacja Automatyzacja przetwarzania: Apache NiFi Źródło: nifi.apache.org 4 Automatyzacja

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

Zarządzanie rolami jakie może pełnić serwer System prosi o wybór roli jaklą ma spełniać serwer.

Zarządzanie rolami jakie może pełnić serwer System prosi o wybór roli jaklą ma spełniać serwer. Zarządzanie rolami jakie może pełnić serwer System prosi o wybór roli jaklą ma spełniać serwer. Możemy dodawać lub usuwać poszczególne role. Można to zrobić później uruchamiając START Zarządzanie tym serwerem

Bardziej szczegółowo

Bazy danych - wykład wstępny

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

Bardziej szczegółowo

BAZY DANYCH. NIERELACYJNE BAZY DANYCH NoSQL I ASOCJACYJNE STRUKTURY DANYCH. Adrian Horzyk. Akademia Górniczo-Hutnicza

BAZY DANYCH. NIERELACYJNE BAZY DANYCH NoSQL I ASOCJACYJNE STRUKTURY DANYCH. Adrian Horzyk. Akademia Górniczo-Hutnicza BAZY DANYCH NIERELACYJNE BAZY DANYCH NoSQL I ASOCJACYJNE STRUKTURY DANYCH Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki

Bardziej szczegółowo

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services Spis treści Wstęp... ix Odkąd najlepiej rozpocząć lekturę?... ix Informacja dotycząca towarzyszącej ksiąŝce płyty CD-ROM... xi Wymagania systemowe... xi Instalowanie i uŝywanie plików przykładowych...

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane Algorytmy i struktury danych Wykład 4 Tablice nieporządkowane i uporządkowane Tablice uporządkowane Szukanie binarne Szukanie interpolacyjne Tablice uporządkowane Szukanie binarne O(log N) Szukanie interpolacyjne

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

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych. Andrzej Łachwa, UJ, /15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 12/15 WSPÓŁBIEŻNOŚĆ Serwer bazodanowy nie może obsługiwać klientów sekwencyjnie: wszyscy musieli by czekać

Bardziej szczegółowo

Programowanie współbieżne Wykład 2. Iwona Kochańska

Programowanie współbieżne Wykład 2. Iwona Kochańska Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas

Bardziej szczegółowo

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy

Bardziej szczegółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

Projektowanie struktury danych

Projektowanie struktury danych Jarosław aw Kuchta Rozproszonych Projektowanie qhta@eti.pg.gda.pl J.Kuchta@eti.pg.gda.pl Zagadnienia Sposoby zapisu danych zewnętrznych Odwzorowanie dziedziny problemu w dziedzinę danych Normalizacja relacyjnej

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny? Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA Dlaczego DNS jest tak ważny? DNS - System Nazw Domenowych to globalnie rozmieszczona usługa Internetowa. Zapewnia tłumaczenie nazw domen

Bardziej szczegółowo

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

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1 Rozdział 1 Wprowadzenie do baz danych 1 Model danych 2 Funkcje systemu zarządzania bazą danych Wymagania spójność bazy danych po awarii trwałość danych wielodostęp poufność danych wydajność rozproszenie

Bardziej szczegółowo

Stan globalny. Krzysztof Banaś Systemy rozproszone 1

Stan globalny. Krzysztof Banaś Systemy rozproszone 1 Stan globalny Krzysztof Banaś Systemy rozproszone 1 Stan globalny Z problemem globalnego czasu jest związany także problem globalnego stanu: interesuje nas stan systemu rozproszonego w konkretnej pojedynczej

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

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 3 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Typy tabel MySQL domyślny MyISAM inne możliwe:

Bardziej szczegółowo