Architektura chmur i wirtualizacja. Wykład 6 Dane w chmurze
|
|
- Ludwika Bielecka
- 8 lat temu
- Przeglądów:
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 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ółowoHurtownie 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ółowoMongoDB. 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ółowoHbase, 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ółowoSystemy 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ółowoSystem 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ółowoSystem 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ółowoSystem 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ółowoCZĘŚĆ 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ółowoProblemy 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ółowoOd 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ółowoZarzą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ółowoBazy 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ółowoPoję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ółowoSeminarium 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ółowoLeonard 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ółowoBazy 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ółowoDokumentacja 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ółowoSystemy 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ółowowspół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ółowoMapReduce. 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ółowoPRZESTRZENNE 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ółowoIBM 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ółowoBazy 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ółowoang. 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ółowoRozproszone 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ółowoSZKOLENIE: 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ółowoProjektowanie 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ółowoZapewnienie 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ółowoWprowadzenie 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ółowoSzkolenie 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ółowoPrzykł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ółowoSystemy 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ółowoBig 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ółowoAUREA 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ółowoInstalacja 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ółowoCzęść 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ółowoBazy 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ółowoBazy 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ółowoJarosł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ółowoArchitektura 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ółowoWPROWADZENIE 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ółowoReplikacje. 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ółowoProblemy 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ółowoModelowanie 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ółowoHadoop 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ółowoAdministracja 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ółowoIndeksowanie 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ółowoPrzetwarzanie 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ółowoArchitektura 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ółowoWstę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ółowoOracle11g: 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ółowo16MB - 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ółowoPodstawowe 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ółowoReplikacja 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ółowoBig 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ółowoNoSQL: 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ółowoOptymalizacja 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ółowoProjektowanie 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ółowo1 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ółowoInformacje 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ółowoKlient-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ółowoprzykł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ółowoAdministracja 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ółowoWprowadzenie. 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ółowoSystemy 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ółowo5. 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ółowo77. 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ółowoBaza 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ółowoT-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ółowoNieustanny 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ółowoBazy 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ółowoArchitektura 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ółowoWrocł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ółowoFizyczna 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ółowoKrzysztof 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ółowoHurtownie 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ółowo1 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ółowoPodstawy 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ółowoTransakcje. (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ółowoOrganizacyjnie. 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ółowoJarosł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ółowoZarzą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ółowoBazy 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ółowoBAZY 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ółowoSpis 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ółowoAlgorytmy 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ółowoUsł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ółowoProgramowanie 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ółowoBazy 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ółowoProgramowanie 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ółowoPodstawy 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ółowoXQTav - 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ółowoProjektowanie 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ółowoMicrosoft 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ółowoAutorytatywne 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ółowoRozdział 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ółowoStan 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ółowoBazy 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ółowoInternetowe 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