sobota, 10 listopada 2012

Big Data Matters

W ostatni piątek odbyło się seminarium Large Data Infrastructures for US Government  and Industry. Oprócz ciekawostek na temat realiów rynku informatycznego w USA jeden ze słuchaczy zadał pytanie: "When we should talsk about BigData?". Odpowiedź prowadzącego prezentację Lee Turnera była zaskakująco szczera: "I don't know!". Podpowiedź organizatora seminarium Pawła Płaszczaka z GridWiseTech była następująca: "BigData to dane, którymi na aktualny stan technologii nie da się zarządzać za pomocą trywialnych narzędzi." Niestety ta definicja mnie nie usatysfakcjonowała. Dlaczego? Ponieważ według niej zawsze mieliśmy i będziemy mieć do czynienia w informatyce z BigData, a jakość jednak aktualnie ten termin się pojawił podobnie jak Cloud!

Na podstawie mojego doświadczenia twierdzę, że BigData wiąże się ze specyficznymi strukturami baz danych, z którymi mamy do czynienia od momentu istnienia "user-generated content". Specyfika tych struktur polega na tym, że baza danych daje się podzielić na dwie części. Jedna z nich ma składa się z kilku tabel (zwykle nie powiązanych kluczami obcymi z pozostałą częścią bazy), które swoim rozmiarem odstają od reszty bazy. Przykładowo:

  • średnia liczba wierszy w tabelach 5 mln
  • średnia liczba wierszy w 2 wybranych tabelach 100 mln
  • średnia wielkość większości tabel kilkanaście MB
  • średnia wielkość 2 wybranych tabel 75 GB

Dodatkowo te największe tabele cechuje wysoka dynamika wzrostu. Zarządzanie taką strukturą danych za pomocą tradycyjnych silników relacyjnych baz danych nie jest ekonomiczne. Rozwiązania o bogatej funkcjonalności zaprojektowane do zapewniania transakcyjności obliczeń zatrudniamy do stosunkowo dużej liczby prostych zapytań na ogromnych wolumenach danych. Dlatego powstały rozwiązania (Hadoop, MapReduce), które wykonują operacje na tej części bazy dużo efektywniej niż tradycyjna relacyjna baza danych. Dla mnie to właśnie jest BigData.

2 komentarze:

  1. skoro zostałem wywołany do odpowiedzi :) Lubię moją definicję, bo pozwala uniknąc religijnego uniesienia nad wyższością jednych technologii nad innymi. wczoraj grid i federacje wielu RDBMS, dziś cloud i nosql, jutro - z pewnością - co innego. jeśli 75 GB w hadoop to big data, to czy kilka TB w relacyjnej hurtowni to nie big data? za parę lat może będziemy się śmiać z tych cyfr, ale na dziś w sensie praktycznym "dużo" zaczyna się wtedy gdy jest "na tyle dużo, że trzeba podejść niestandardowo". Dzięki za wnikliwy komentarz, mam nadzieję że na przyszłych spotkaniach Big Data Matters spotkamy entuzjastów wszelkich podejść - SQL, NoSQL, et caetera.

    OdpowiedzUsuń
    Odpowiedzi
    1. Rzecz nie w technologiach, ani w x-Bajtach. Rzecz w tym, że w bazie zaczyna się przechowywać dane, których charakter użycia nie wymaga funkcjonalności aktualnych RDBMS, a wielkość nakłada niepotrzebne wymagania na taką bazę. Rynek sam z siebie wymyślił rozwiązanie - podział na RDBMS oraz rozwiązania typu Hadoop. Ja lubię moją definicję ponieważ oddaje istotę problemu i zmusza do szukania rozwiązań. Jeszcze słowo komentarza odnośnie hurtowni - uważam, że hurtownie danych są rozwiązaniem innego problemu - konieczności wykonywania skomplikowanych zapytań łączących dane z wielu baz. Po to właśnie agreguje się te dane w jednym miejscu, aby łatwiej zarządzać zapytaniami i nie obciążać danych produkcyjnych.

      Usuń