Optymalizacja systemów big data w przyszłości. Czy kiedyś skończy się miejsce?

Share on facebook
Share on twitter
Share on linkedin
Czas czytania: 3 min.

Wielkie dane stały się naprawdę wielkie. Big data to zmienne i różnorodne zbiory, których przetwarzanie jest naprawdę karkołomne. Są tak złożone, że nie da się ich analizować tradycyjnymi metodami. Trudno je przechowywać i analizować, trudno przesyłać. Portal Robohub w drugiej połowie ubiegłego roku szacował, że do 2025 roku wszystkie dane na świecie wyniosą około 175 trylionów gigabajtów. 

Płyty DVD z takim zapisem stworzyłyby stos mogący okrążyć Ziemię 222 razy. W 2011 szacunki IDC Digital Universe mówiły o 1,8 zetabajta – to tak, jakby każdy mieszkaniec USA wysyłał ciągle 3 tweety na minutę przez 27 000 lat albo 20 miliardów dwugodzinnych filmów w jakości HD, które jedna osoba oglądałaby przez całą dobę… przez 47 milionów lat.

Co to jest big data i gdzie znajduje zastosowanie?

Big data to serwery, pamięć masowa, środowiska fizyczne, chmury hybrydowe czy komputery mainframe – kiedyś IBM, dziś wielu innych firm –  do zastosowań finansowych i analitycznych. Ich następcą mają być komputery kwantowe. Jednym z największych wyzwań w informatyce jest radzenie sobie z napływem informacji przy jednoczesnym zachowaniu zdolności do ich efektywnego przechowywania i przetwarzania. Zespół z Laboratorium Informatyki i Sztucznej Inteligencji MIT (CSAIL) uważa, że odpowiedzią jest coś, co nazywa się „instance-optimized systems”.

Nowe zarządzanie danymi machine learning

Jako pierwszy krok w kierunku tej wizji naukowcy MIT opracowali Tsunami i Bao. Tsunami wykorzystuje uczenie maszynowe (ang. machine learning) do automatycznej reorganizacji układu pamięci masowej zbioru danych w oparciu o typy zapytań, które składają jego użytkownicy. O co chodzi w tym długim ciągu wyrazów? Algorytm uczy się od użytkowników. Testy pokazują, że może uruchamiać zapytania nawet 10 razy szybciej niż najnowocześniejsze systemy. Co więcej, jego zbiory danych mogą być organizowane za pomocą serii „wyuczonych indeksów”, które są do 100 razy mniejsze od indeksów używanych w tradycyjnych systemach. Oczekuje się, że to nowe podejście będzie podstawą powstających systemów adaptacyjnych.

Bao natomiast koncentruje się na poprawie efektywności optymalizacji zapytań poprzez naukę maszynową. Optymalizator zapytań przepisuje zapytania deklaratywne – najprościej mówiąc przekładające język na matematyczne wartości – na plan zapytania, które może być faktycznie wykonane na danych. Reszta to obliczenie wyniku dla zapytania. Często jednak istnieje więcej niż jeden plan zapytania – wybranie niewłaściwego może spowodować, że obliczenie odpowiedzi zajmie kilka dni zamiast kilku sekund. Bao łączy w sobie nowoczesne sieci neuronowe z próbkowaniem Thompsona – heurystykę wyboru działań, która pojawiła się już w 1933 roku. Wiąże się z pojęciem „problem jednorękiego bandyty” – w teorii prawdopodobieństwa to stan, w którym ograniczony zestaw zasobów musi zostać rozdzielony pomiędzy konkurencyjnymi wyborami (alternatywa) w sposób maksymalizujący zysk i minimalizujący ryzyko porażki, ale wartości wyboru są tylko częściowo znane w momencie alokacji. Zostają lepiej zrozumiane w miarę upływu czasu lub przydzielania.

Książki dla programistów

Tradycyjne optymalizatory zapytań potrzebują wielu lat na zbudowanie, są bardzo trudne w utrzymaniu i co najważniejsze – nie uczą się na własnych błędach. Bao jest pierwszym opartym na nauce podejściem do optymalizacji zapytań, które zostało w pełni zintegrowane z popularnym systemem zarządzania bazami danych PostgreSQL. Główny autor, Ryan Marcus z MIT, mówi, że Bao tworzy plany zapytań, które działają do 50 procent szybciej niż te tworzone przez optymalizator PostgreSQL, co oznacza, że może pomóc znacznie obniżyć koszty usług w chmurze, takich jak Amazon Redshift wchodząca w skład Amazon Web Services. Łącząc oba systemy MIT ma nadzieję zbudować system baz danych, który może zapewnić najlepszą możliwą wydajność dla każdej aplikacji bez ręcznego strojenia. Tsunami zmienia strukturę przechowywania danych dynamicznie i w oparciu o rodzaje otrzymywanych zapytań. Tworzy dzięki temu nowe sposoby przechowywania danych, które były dotychczas wykonalne. Projektowi przygladają się m.in. Microsoft Research i Harvard University. 

Wysiłki miniaturyzacji urządzeń, zwiększania pamięci oraz alternatyw dla niej nie ustają, więc „koniec miejsca” prawdopodobnie nam nie grozi. To raczej mnogość danych kreuje nowe wyzwania. Jeżeli wystąpi taka konieczność, to zatrzymać tę machinę będzie naprawdę trudno. 

Podziel się:

Share on facebook
Share on linkedin
Share on twitter
Oskar Pacelt

Oskar Pacelt

Autor i redaktor ponad 200 wpisów na Botland Blog. Wierzy, że udany tekst jest jak list wysłany w przyszłość. W życiu najbardziej interesuje go prawda, pozostałych zainteresowań zliczyć nie sposób. Zajmuje się ciekawostkami ze świata technologii i nauki. Najlepszy pływak w Botland.

Zobacz więcej:

Dodaj komentarz

Twój adres email nie zostanie opublikowany.