systemy rozproszone danych strukturalnych -...
TRANSCRIPT
![Page 1: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/1.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Systemy rozproszone danych strukturalnychSeminarium Systemy Rozproszone 2010/2011
Marcin Walas
21 kwietnia 2011
![Page 2: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/2.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
NoSQL
NoSQL to określenie na systemy zarządzania bazami danych, któreróżnią się od klasycznych RDBMSes w pewien sposób.
z reguły nie mają ustalonych schematów tabelarycznych
unikają operacji typu join
dobrze się skalują
Dlaczego o tym na seminarium z Systemów Rozproszonych?
dużo danych
wysokie wymogi dostępności
skalowanie się
czyli, idziemy w chmurę
![Page 3: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/3.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Odrobinka historii
![Page 4: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/4.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Rodzaje systemów danych strukturalnych
Będziemy po trochu zajmować się wieloma systemami:
document stores (CouchDB, MongoDB, OrientDB)
graph stores (Triplestores: Virtuoso)
key-value stores (Dynamo, Cassandra)
object databases (Loxim)
tabular stores (BigTable, Mnesia)
tuple stores (Jini, Apache River - JavaSpaces)
![Page 5: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/5.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Przypomnienie
ACID - wymagania transakcyjne
atomowość
spójność
izolacja
trwałość
Twierdzenie CAP (Brewer’a)
System rozproszony nie może jednocześnie zapewniać:
spójności
dostępności
odporności na podziały
![Page 6: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/6.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Document stores
Dokumenty, czyli:
JSON
xml
Potencjalne zastosowania
CMS’y
szybkie systemy raportujące
prosty model danych i łatwa do wymuszenia spójność międzydokumentami
![Page 7: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/7.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
CouchDB
http://couchdb.apache.org/
Napisany w Erlangu, zorientowany na dokumenty systembazodanowy
JSONbrak schematu - NoSQL!klucz-wartość + dowolne załącznikireplikacja, widoki, map-reduceSpiderMonkey - zapytania w JavaScriptRESTful
![Page 8: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/8.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
CouchDB
Przykład
widoki - funkcje mapujące stają się indeksami
ACID
![Page 9: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/9.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
CouchDB - Architektura
http://horicky.blogspot.com/2008/10/couchdb-implementation.html
![Page 10: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/10.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
CouchDB - ACID
Własności:
baza się nie wyłącza - dokonuje zapisów inkrementacyjnych -można ją “ubijać”,
czytelnicy i pisarze nigdy nie czekają,
spójność danych tylko w obrębie jednego dokumentu,
zserializowane “update’y” są zapisywane na dysku,
Multi-Version Concurrency Control
dokumenty indeksownane w b-drzewach,
kompaktowanie danych na dysku - co jakiś czas.
http://couchdb.apache.org/docs/overview.html
![Page 11: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/11.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
CouchDB - replikacja
![Page 12: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/12.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
CouchDB - rozproszenie
load balancing
replikacja
plotkowanie zmian
Wbrew temu, co zapewniają twórcy,
problem jednak w tym, że trzeba tutaj tak naprawdę zewnętrznegosystemu użyć.
![Page 13: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/13.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
MongoDB
Różnice w porównaniu z CouchDB:
w testach - niewielki bardzo nadrzut nad RAM,
... bo możliwa utrata danych - głównie “persystencja” w RAM,
napisana w C++,
Produkcja:
Przykład
![Page 14: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/14.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
MongoDB - replikacja
![Page 15: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/15.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
MongoDB - sharding
![Page 16: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/16.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
OrientDB
baza dokumentów,
napisana w Javie,
posiada także cechy graph database - związki międzydokumentami można definiować,
częściowo ustalony schemat dokumentów - klasy,
szybkie trawersowanie dokumentów,
ograniczony SQL,
transakcyjność nie tylko w obrębie dokumentu
![Page 17: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/17.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
OrientDB - architektura
![Page 18: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/18.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
OrientDB - clustering
![Page 19: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/19.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
OrientDB - clustering
![Page 20: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/20.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
OrientDB - clustering
![Page 21: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/21.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
OrientDB - clustering
![Page 22: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/22.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
OrientDB - clustering
![Page 23: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/23.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
OrientDB - clustering
![Page 24: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/24.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Erlang
wpływ na jego rozwój miał Prolog
stworzony dla obliczeń współbieżnych/rozproszonych
podobno coś z niego zaczerpnęła Scala i Clojure(wielowątkowy Lisp)
luźno implementuje CSP
bazuje na “zielonych wątkach”
![Page 25: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/25.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Erlang - kawałek kodu
Dlaczego warto na to poświęcić chwilę?
Podobne rzeczy w Go od Google’a oraz Scala.
![Page 26: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/26.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Scala - kawałek kodu
Scala - Aktorzy
Możliwi zieloni lub ciężkie, systemowe wątki.
No i bardziej Java-way-of-life, jak ktoś lubi.
Więcej tutaj na przykład:http://www.infoq.com/news/2008/06/scala-vs-erlang
![Page 27: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/27.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Yaws - Yet another web server
przepustowość (KBytes/second) vs. obciążeniezaczerpnięte z http://www.sics.se/ joe/apachevsyaws.html
![Page 28: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/28.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Postęp...
Będziemy po trochu zajmować się wieloma systemami:
document stores (CouchDB, MongoDB, OrientDB)
graph stores (Triplestores: Virtuoso)
key-value stores (Dynamo, Cassandra)
object databases (Loxim)
tabular stores (BigTable, Mnesia)
tuple stores (Jini, Apache River - JavaSpaces)
![Page 29: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/29.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Triplestores
Bazy danych zorientowane na przechowywanie informacji w postaciRDF - etykietowanych grafów.
wiele projektów upiorów
trochę prac teoretyków
![Page 30: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/30.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Status sieci semantycznej
A może ten graf się po prostu nie stosuje do niczego związanego zesztuczną inteligencją?
![Page 31: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/31.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Resource Description Framework
<?xml version="1.0"?><RDF><Description about="http://pl.wikipedia.org/wiki/Wikipedysta:KoziK"><autor>Krzysztof Kozłowski</autor><utworzono>1 Maja 2009</utworzono><zmodyfikowano>1 Stycznia 2010</zmodyfikowano>
</Description></RDF>
Opis świata w postaci:
podmiotu,
orzeczenia/predykatu (własność)
dopełnienia/obiektu (wartość)
Dużo trójek - stąd triplestores.
![Page 32: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/32.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Resource Description Framework
![Page 33: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/33.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Virtuoso
uniwersalny serwer - czyli nas interesuje tylko kawałeczek
komercjalny, jest wersja Open Source
duży produkt: SQL, XML,WebDAV, federacje, SOAP
Używa tego:
![Page 34: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/34.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Architektura
![Page 35: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/35.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Architektura
![Page 36: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/36.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Przykład - DBPedia
![Page 37: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/37.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Przy okazji
Freebase - ze storage grafowym od Metaweb,
google-refine
![Page 38: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/38.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
WolframAlpha
Czy ktoś nie wie, co to jest?
Lub to:
![Page 39: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/39.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
A New Kind of Science?
Automaty komórkowe:
proste algorytmy,
ewolucja,
samoaplikacja
Wolfram Alpha:
oparty na Mathematica - flagowy produkt Wolfram Research,
nie jest wyszukiwarką sematyczną,
wizualizuje zgromadzoną wiedzę, przez składanie prostychalgorytmów,
podobny do Cyc [sajk]
![Page 40: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/40.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
OpenCyc
rozpoczęty w 1984 roku,
podobno zbudowanie “zdrowego rozsądku” zajęłoby 350man-years,
podobny do Lisp’a
Niestety, najciekawsze dla nas rzeczy są “zrób to sam”
jest komunikacja sieciowa,
ale ostatecznie i tak trzeba to pisać ręcznie.
![Page 41: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/41.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
gridMathematica
load-balancing,
parametryzowany scheduling zadań,
durability: po awarii powinien system wrócić sam do pracy,
obsługa klastrów, gridów, możliwość użycia zwykłych, tanichmaszyn,
Produkt komercyjny, więc tak naprawdę nic nie wiadomo...
![Page 42: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/42.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Postęp...
Będziemy po trochu zajmować się wieloma systemami:
document stores (CouchDB, MongoDB, OrientDB)
graph stores (Triplestores: Virtuoso)
key-value stores (Dynamo, Cassandra)
object databases (Loxim)
tabular stores (BigTable, Mnesia)
tuple stores (Jini, Apache River - JavaSpaces)
![Page 43: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/43.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Przestrzeń krotek
Co to?
wielki shared memory,
proces wkłada krotkę,
inny proces wkłada krotkę pasującą do żądania
Implementacje
JavaSpaces
PyLinda - prosta impl
GigaSpaces - komercyjne, też .NET
![Page 44: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/44.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Javaspaces
zamiast krotek - obiekty dziedziczące po Entry ,
mamy wielki worek na obiekty,
najczęściej używane w trybie Master-Slave,
raczej bez persystencji obiektów
Operacje:
write,
read,
take,
notify
![Page 45: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/45.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Javaspaces
![Page 46: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/46.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Javaspaces
![Page 47: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/47.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Javaspaces - przykład
import net.jini.core.entry.*;
public class MessageEntry implements Entry {public String content;
public MessageEntry() {}
public MessageEntry(String content) {this.content = content;}
public String toString() {return "MessageContent: " + content;}
}
![Page 48: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/48.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Javaspaces - przykład
JavaSpace space = getSpace();MessageEntry msg = new MessageEntry();msg.content = "Hello there";space.write(msg, null, Lease.FOREVER);
![Page 49: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/49.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Javaspaces - przykład
MessageEntry template = new MessageEntry();// template content field = NULL, match everythingMessageEntry output = (MessageEntry) space.read(template, null,
Long.MAX_VALUE);
![Page 50: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/50.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Apache River
kiedyś Jini,
framework do budowy systemów rozproszonych,
zawiera implementację Javaspaces,
bardziej rozwinięte JRMI,
automatyczne wykrywanie usług,
SOA - Service Oriented Architecture,
![Page 51: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/51.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Komunikacja
Przez protokół JERI. Implementacje JERI:
TCP,
SSL,
HTTP,
HTTPS,
Kerberos-TCP
![Page 52: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/52.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Od małego do dużego...
Najmniejszy: usługa i klient
Średni: usługa, klient, rejestr
Największy: usługa, klient, rejestr, serwer klas
![Page 53: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/53.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Apache River - co zapewnia
Peter Deutsch z Sun Labs Eight Fallacies of DistributedComputing :
The network is reliable
Latency is zero
Bandwidth is infinite
The network is secure
Topology doesn’t change
There is one administrator
Transport cost is zero
The network is homogeneous
![Page 54: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/54.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Apache River - co zapewnia
Jini tak naprawdę odnosi się częściowo do wszystkich tych założeń,
niezależność od protokołu - wiele implementacji, możnadopisać własną ( :)! ),
niezależność od lokalizacji, można przenosić usługi bez wiedzyklientów,
eliminacja powiązań - może wiele implementacji tej samegointerface’u współistnieć w sieci,
automatyczny tuning wydajności
![Page 55: Systemy rozproszone danych strukturalnych - Wiadomościstudents.mimuw.edu.pl/SR/SR-MONO/structured_storage.pdf · Wstęp Document stores Języki Triplestores Tuple storesPytania Systemy](https://reader034.vdocuments.site/reader034/viewer/2022042619/5a782ed27f8b9a9c548e9a30/html5/thumbnails/55.jpg)
Wstęp Document stores Języki Triplestores Tuple stores Pytania
Pytania?
Bardzo dziękuję za uwagę.