Seminarium: Systemy Rozproszone
25 kwietnia 2019, godzina 12:15, sala 4070
Piotr Jastrzębski

Scylla: Przykład rozproszonej bazy danych o liniowej skalowalności wertykalnej i horyzontalnej



Scylla jest wysokowydajną i wysokodostępną rozproszoną bazą danych NoSQL, która nie tylko liniowo skaluje się wraz ze zwiększaniem liczby serwerów, na których działa, ale również wraz ze wzrostem wydajności tych serwerów. Głównym wyróżnikiem produktu jest ekstremalna wydajność dochodząca do prawie 3 milionów obsłużonych żądań na sekundę dla pojedynczego serwera oraz stabilne i krótkie czasy odpowiedzi (także dla 99% i 99.9% żądań) [1].

Scylla została założona w 2015 roku przez twórców KVM'a [2], Aviego Kivity i Dora Loar po nieudanej próbie skomercjalizowania poprzedniego projektu - unikernela OSv [3]. Od tego czasu ponad 200 firm, takich jak Samsung, Intel, IBM, Yahoo, General Electric czy CERN, zdecydowało się na produkcyjne użycie Scylli do przechowywania Tera i Peta bajtów danych.

Uzyskanie liniowej skalowalności wertykalnej i horyzontalnej oraz zapewnienie krótkich i stabilnych czasów obsługi żądań wymagało użycia wielu ciekawych rozwiązań, o których chciałbym opowiedzieć podczas prezentacji. Wiele z tych rozwiązań zostało zgeneralizowane w postaci frameworku do tworzenia wysokowydajnych systemów serwerowych w C++17 o nazwie Seastar [4]. Framework ten wywodzi się ze Scylli ale jest również wykorzystywany w innych systemach np. Ceph Distributed Storage Solution [5].

Zapraszam!
Piotr Jastrzębski (absolwent MIMUW)



Bibliografia: