PhiStore A Distributed and Policy Based Object Store
Motivation Eksplosiv vækst i datamængder – Især media (billeder, musik & film) Dubletter? – 1 ZB (2010) → ~1.8 ZB (2011)* – Back up * =
Motivation + Automatisk oprydning – Midlertidigt data Statusopdateringer Huskesedler … – Gammelt data Ønskesedler Invitationer Lovgivning
Eksisterende Løsninger Amazon: Dynamo – Key-value store Microsoft: Azure – Blobs, tabeller og køer Google: BigTable – Tabeller Apache: Cassandra – Tabeller
Motivation ++ Eksisterende systemer understøtter ikke – WAN – Kryptering
Overblik LAN WAN Clients External Storage Local Storage Removable Storage Server
Resultatet af 6 måneders arbejde linier C# kode – En eksekverbar server – Et program-bibliotek med klient ++ – En eksekverbar med eksempler 93 sider dokument (og nu en præsentation)
Features Key-value store Lister med køfunktionalitet Skalerbar – Antal servicerende maskiner – Harddisk kapacitet Fejltolerant Komprimering
Features + C Create ListCreate R Read ListRead ListCount U Update ListUpdate ListAppend D Delete ListDelete Pop
Udfordringer WAN – Latens dræner performance 2PC Bully election (tilfældig random) Sikkerhed – Kommunikation (RSA + AES) – Krypteret objekt (AES) – Brugeradgang – Objekt deling/isolering
Udfordringer + Key generering Serialization Kompression – Deflate – vs. Kryptering Kommunikation – TCP/IP vs. XML-RPC vs. WCF
Udfordringer ++ Politik – Metodeafgrænsning (capabilities) Modify Delete Append Pop – Replikeringskrav – Skrald og gammelt data – Optimeringer FastReturn EnforceAtomicity
Prefetching Caching (Server) Tilføjelse til koordinators liste over kopier Prediction (Klient) Sekventiel læsning Prefetchable – baseret på politik FastReturn eller Pop, Delete, Modify
Performance Writing
Performance + Reading
Mangler RSA dekryptering er langsom – meget langsom Pop – Første element bliver slettet ved afbrydelse af forbindelse. – BOINC har lignende problem. Udveksling og koordinering af bruger- oplysninger Simultan replikering Genskabelse af tilstand ved nedbrud
Fremtiden Applikationsdreven udvikling – Distribueret filsystem, med P2P muligheder Mulighed for at kræve specifikke maskiner har kopi Mulighed for ’read-only’ Specialiserede FS operationer …
… 30 minutter senere Spørgsmål ?