Google File System II. Marek Dzikiewicz

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

Architektura i mechanizmy systemu

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

Hadoop i Spark. Mariusz Rafało

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

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

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

Tworzenie kopii zapasowych i archiwalnych

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

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

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

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

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

1 Instalowanie i uaktualnianie serwera SQL Server

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

Tabela wewnętrzna - definicja

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Oracle11g: Wprowadzenie do SQL

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

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

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

Systemy rozproszone System rozproszony

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

Bazy danych i usługi sieciowe

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

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

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań,

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych

Wprowadzenie do Hurtowni Danych

AE/ZP-27-16/14. Oprogramowanie do wykonywania kopii zapasowych oraz zarządzania maszynami wirtualnymi

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

Bigtable Rozproszony system pamięci

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

Ile rekordów będzie zawierała tabela przy założeniu, że na początku była pusta?

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

16MB - 2GB 2MB - 128MB

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

Database Connectivity

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

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

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

SZKOLENIE: Administrator baz danych. Cel szkolenia

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

Zaawansowane użycie Azure Storage. Ewa Baćmaga Integral Technologies

Projektowanie warstwy danych

Historia modeli programowania

Architektura rozproszonych magazynów danych

Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu):

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Hurtownie danych wykład 5

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

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

Szkolenie obejmuje zagadnienia związane z tworzeniem i zarządzaniem bazą danych Oracle, jej zasobami i dostępem do danych.

Systemy plików FAT, FAT32, NTFS

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Projektowanie struktury danych

Algorytmy dla maszyny PRAM

OLAP i hurtownie danych c.d.

dr inż. Jarosław Forenc

Cele. Definiowanie wyzwalaczy

Administracja bazami danych

Wybrane działy Informatyki Stosowanej

Wprowadzenie do systemów operacyjnych

Macierze RAID MARCEL GAŃCZARCZYK 2TI 1

Wstęp Bigtable - opis Wydajność. SZBD Bigtable. Kamil Anikiej. Uniwersytet Warszawski 9 X 2008

TSMBOX. Backup Appliance Build for Recovery Speed. Przemysław Jagoda. Zbigniew Parys

Serwery LDAP w środowisku produktów w Oracle

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

Nieustanny rozwój. Tomasz Leśniewski

Przypisywanie bibliotek w architekturze SAS

Program szkolenia: Microsoft SQL Server 2012/2014 Databases, przygotowującego do egzaminu

ZALETY NOWSZYCH WERSJI I KIERUNKI ROZWOJU SPDS-A SŁAWOMIR BOKINIEC

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

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

I. Techniki wielowersyjne sterowania współbieżnością

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

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Galileo - encyklopedia internetowa Plan testów

Bazy danych 2. Wykład 1

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

StoreOnce - To więcej niż Backup2Disk

Pierwsze wdrożenie SAP BW w firmie

System plików. Warstwowy model systemu plików

Hurtownie danych. Wstęp. Architektura hurtowni danych. CO TO JEST HURTOWNIA DANYCH

Projektowanie i implementacja infrastruktury serwerów

Technologie Informacyjne

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

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Bazy danych - ciągłość działania, spójność danych i disaster recovery. Daniel Polek-Pawlak Jarosław Zdebik

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

Transkrypt:

Google File System II Marek Dzikiewicz

Plan prezentacji 1. GFS 2. Problemy z GFS 3. GFS2 i Caffeine

Google File System rozproszony system plików dla aplikacji przetwarzających duże ilości danych powstał na potrzeby systemu indeksowania firmy Google wydajny (obsługuje dużą liczbę klientów) skalowalny odporny na awarie obsługuje niedrogi sprzęt

Założenia tania, podatna na awarie platforma sprzętowa wymagana ciągła diagnoza oraz automatyczne naprawianie błędów kilka milionów dużych (ok. 100 MB) plików małe pliki też muszą byd obsługiwane, ale bez optymalizacji wydajnośd wsadowa ważniejsza od czasu odpowiedzi

Założenia duże odczyty sekwencyjne oraz drobne odczyty losowe zapisy sekwencyjne na koocu pliku zapisy w środku pliku też muszą byd obsługiwane, ale bez optymalizacji współbieżny dostęp do plików także do zapisu (dopisywania)!

Serwery GFS GFS składa się z dwóch rodzajów serwerów GFS Master (zarządca) zarządca GFS, przechowuje metadane jedna instancja GFS Chunkserver przechowuje zawartośd plików wiele instancji

Organizacja systemu plików Pliki są zorganizowane hierarchicznie w katalogi Brak implementacji standardu POSIX Podstawowe operacje: create, delete, open, close, read, write Dodatkowe operacje: snapshot, record append

Przechowywanie plików Pliki są dzielone na kawałki (ang. chunks) Każdy kawałek ma stały rozmiar (64 MB) Każdy kawałek jest identyfikowany przez unikalną 64-bitową liczbę Kawałki są przechowywane w standardowym systemie plików (na maszynach chunkserver) Brak przechowywania danych w pamięci pomocniczej

Odpornośd na awarie Źródła awarii awarie sprzętowe (dyski, serwery, itp.) problemy sieciowe (np. uszkodzone dane) błędy w aplikacjach (np. systemy operacyjne) i wiele innych... Strategie replikacja danych (każdy kawałek jest co najmniej potrójnie replikowany) wykrywanie błędów poprzez sumy kontrolne

GFS Master Przechowuje metadane systemu plików w pamięci operacyjnej przestrzeo nazw listy kontroli dostępu (ACL) mapowanie plików na kawałki lokalizacje kawałków i ich replik Przetwarza logi operacyjne Realizuje operacje na metadanych plików

GFS Master Zarządza serwerami kawałków (ang. chunkserver) także wykrywa stan i dostępnośd chunkserwerów Przeprowadza operacje globalne replikacja odśmiecanie weryfikacja systemu plików migracja kawłków między chunkserwerami

GFS Chunkserver Przechowuje repliki kawałków jako pliki w standardowym systemie plików leniwe rozszerzanie plików Obsługuje żądania odczytu i zapisu danych

Architektura GFS Źródło: http://labs.google.com/papers/gfs-sosp2003.pdf

Rodzaje przechowywanych danych małe obiekty zagregowane w duże pliki przechowywanie osobno miliardów małych obiektów jest niewykonalne! strumienie danych do przetworzenia na różnych maszynach np. kolejki producent-konsument dane archiwalne

Formaty przechowywanych danych RecordIO sekwencja rekordów zmiennej długości używany do przechowywania dzienników (ang. logs) SSTable (Sorted String Table) posortowana sekwencja par (klucz, wartośd) zawiera indeks niemodyfikowalna struktura danych Oba formaty obsługują kompresję oraz sumy kontrolne

Problemy związane z GFS podatnośd na awarie ograniczona skalowalnośd ograniczona liczba plików opóźnienia żądao spójnośd danych

Problemy związane z GFS The original consumer of all our earliest GFS versions was basically this tremendously large crawling and indexing system. The second wave came when our quality team and research groups started using GFS rather aggressively and basically, they were all looking to use GFS to store large data sets. And then, before long, we had 50 users, all of whom required a little support from time to time so they d all keep playing nicely with each other. Howard Gobioff (jeden z architektów GFS a)

Pojedynczy master - wady podatny na awarie (ang. single point-offailure) ogranicza wydajnośd ogranicza skalowalnośd

Pojedynczy master - zalety upraszcza implementację mniejsze prawdopodobieostwo wystąpienia błędów implementacyjnych możliwa implementacja w krótkim czasie master posiada globalną informację o systemie możliwa implementacja złożynach algorytmów rozmieszczania kawałków łatwiejsza implementacja replikacji, odśmiecania, itp.

Podatnośd na awarie stanowi problem w przypadku internetowych aplikacji klienckich np. Gmail, YouTube mniej istotny w aplikacjach przetwarzających dane wsadowo np. MapReduce, indeksowanie danych, aplikacje typu web crawler

Podatnośd na awarie częściowe rozwiązanie problemu wiele serwerów zapasowych oraz sprawny mechanizm przełączania mastera (ang. master-failover) czas potrzebny do przełączenia mastera w pierwszej implementacji: ok. 60 minut aktualnie: ok. 10 sekund

Ograniczona skalowlanośd Problemy z wydajnością wystąpiły po zwiększeniu ilości przechowywanych danych powyżej 1000 TB Stale rosnąca liczba klientów powodowała coraz większe obciążenie mastera Aplikacje typu MapReduce mogą wykonywad liczne, współbieżne operacje masterze np. jednoczesne otworzenie kilku tysięcy plików

Organiczona liczba plików metadane wszystkich plików systemu są przechowywane w pamięci operacyjnej mastera master przechowuje metadane dla każdego pliku oraz jego kawałków pliki przechowywane w GFS nie powinne byd mniejsze niż 64 MB problem dla niektórych aplikacji

Organiczona liczba plików możliwe rozwiązania małe pliki można przechowywad pakując je razem (można do tego użyd bazy danych, np. BigTable) rozproszenie mastera na wiele maszyn fizycznych

BigTable strukturalna baza danych oparta o GFS nie relacyjna bardzo skalowalna przechowuje dane w postaci (klucz, wartośd) często wykorzystywana jako warstwa pośrednia pomiędzy aplikacjami internetowymi a GFS

BigTable dane są przechowywane w wielo-wymiarowych (wiersz, kolumna, znacznik czasowy) tabelach tabele są dzielone na tzw. tablety, rozpraszane i przechowywane w GFS Źródło: http://labs.google.com/papers/bigtable.html

Opóźnienia żądao GFS jest zoptymalizowany na przetwarzanie wsadowe dużej ilości danych brak nacisku na szybkie zakooczenie operacji wejścia/wyjścia często wykorzystywane są kolejki blokady kawałków w wyniku awarii problem w przypadku internetowych aplikacji klienckich np. Gmail

Opóźnienia żądao Możliwe rozwiązania użycie BigTable ukrycie zawodności GFS w warstwie aplikacji (np. podwójny dziennik transakcyjny w BigTable) rozproszony master

Podział systemu na komórki Częściowe rozwiązanie problemów powodowanych przez pojedynczego mastera Podział pojedynczego centrum danych na komórki GFS (ang. cells) Każda komórka jest osobną instancją GFS i posiada własnego mastera Dane są rozproszone na wiele komórek implementacja rozpraszania danych w aplikacji

Problem spójności danych odczytane dane mogą byd różne w zależności od repliki w szczególności w wypadku awarii klienta

Problem spójności danych luźna semantyka RecordAppend dane mogą byd zapisane w pliku wiele razy dane mogą byd zapisane w różnej kolejności aplikacja musi byd tego świadoma i implementowad odpowiednią obsługę rozwiązanie: kolejkowanie żądao przez proces weryfikujący poprawnośd zapisanych danych

GFS2 codename Colossus nowa wersja Google File System rozwijana przez ok. 2 lata wykorzystana po raz pierwszy w Google Caffeine (2009/2010)

GFS2 codename Colossus rozproszony master silnie związany z BigTable umożliwia przechowywanie dużej ilości plików mniejsze kawałki plików (1 MB) automatyzacja narzędzia do autonomicznej diagnozy systemu przechowywanie danych historycznych rozpraszanie uwzględniające lokalizacje centrów danych

Google Caffeine nowy system do budowania indeksu stron internetowych (dla wyszukiwarki Google) ogłoszony w sierpniu 2009 r. umożliwia inkrementalną rozbudowę indeksu odejście od indeksowania opartego o MapReduce

Google Caffeine Problemy z budowaniem indeksu opartym o MapReduce aktualizacja indeksu wymaga przetworzenia nowych oraz istniejących danych długośd operacji uaktualniania proporcjonalna do wielkości indeksu długi czas między odnalezieniem strony, a uwzględnieniem jej w wynikach wyszukiwarki

Percolator Caffeine opiera się na zmodyfikowanej wersji bazy danych BigTable, o nazwie Percolator Nowe funkcjonalności wielowierszowe transakcje ACID (izolacja typu snapshot) obserwatorów (ang. observers), czyli programów uruchamiane po modyfikacji danych w tabeli

Działanie Caffeine 1. indeks jest modyfikowany od razu przy przeglądaniu Internetu 2. nowa lub zmodyfikowana pozycja indeksu powoduje wykonanie kodu obserwatorów 3. kod obserwatorów uaktualnia kolejne pozycje indeksu

Percolator Źródło: http://research.google.com/pubs/archive/36726.pdf

Zalety Caffeine 50% świeższe wyniki w wyszukiwarce w poprzednim systemie przetwarzanie indeksu zajmowało 2-3 dni dodawanie danych do indeksu nie wymaga przetwarzania całego indeksu lepsza skalowalnośd

Podsumowanie GFS oparty na prostym projekcie niewątpliwie odniósł sukces sprawdził się w warunkach znacznie większego obciążenia niż przewidywali jego twórcy GFS2 rozwiązuje problemy GFS naturalna kontynuacja GFS gwarantująca kontynuację istnienia systemu

Pytania?

Bibliografia Google File System http://labs.google.com/papers/gfs-sosp2003.pdf ACM Queue Case Study - GFS: Evolution on Fast-forward http://queue.acm.org/detail.cfm?id=1594206 Sean Quinlan, Storage at Scale http://blip.tv/file/1027764 Google File System II: Dawn of the Multiplying Master Nodes http://www.theregister.co.uk/2009/08/12/google_file_system_part_deux Google Works New File System into Caffeine Plans http://www.dailytech.com/google+works+new+file+system+into+caffein e+plans/article16004.htm#cmt483256

Bibliografia Google Testing New Storage System for 'Caffeine http://www.eweek.com/c/a/data-storage/google-testing-new-storage- System-for-Caffeine-553512/ Google search index splits with MapReduce http://www.theregister.co.uk/2010/09/09/google_caffeine_explained Bigtable: A Distributed Storage System for Structured Data http://labs.google.com/papers/bigtable.html Large-scale Incremental Processing Using Distributed Transactions and Notifications http://research.google.com/pubs/archive/36726.pdf