Próbkowanie w hurtowniach danych

Próbkowanie: przełom w skalowalności

Próbkowanie w zastosowaniu do hurtowni danych pojawia się we właściwym momencie, gdyż rozmiary hurtowni stają się zbyt duże, struktura i głębokość hierarchii bazy zbyt skomplikowane, aby proste agregacje wystarczyły wszystkim użytkownikom. Próbkowanie pozwala na statystyczną ocenę wyniku na podstawie cząstkowej reprezentacji szczegółowych danych w czasie znacznie krótszym niż potrzebny do uzyskania dokładnej odpowiedzi.

Zamiast ładować do hurtowni miliard szczegółowych rekordów, wgrywa się do niej jedynie reprezentację (próbkę) danych w postaci np. 500 tys. lub miliona rekordów, nie dokonując agregacji cząstkowych, natomiast wszystkie zapytania do bazy realizuje się przez przeglądanie całych tabel. Po uzyskaniu wyniku z hurtowni estymuje się wynik końcowy dla całości danych, opierając się na liczbie rekordów w hurtowni i całkowitej liczbie rekordów w bazie. Teorie statystyczne pozwalają na stosunkowo dokładną ocenę wiarygodności i dokładności tak uzyskanego wyniku końcowego.

W typowych badaniach statystycznych na tzw. reprezentatywnej próbce ludności Polski powyżej 15 roku życia (ok. 25 mln osób) wystarczy próbka 1100 osób, aby uzyskać wiarygodność wyniku 95-97%. Podobnie rzecz ma się w podanym wyżej przykładzie próbki o liczności 1 mln rekordów z bazy o liczności 1 mld rekordów - tu nawet można uzyskać lepszy wynik ok. 98%.

Przeglądanie tabeli miliarda rekordów z hurtowni, by uzyskać wynik dokładny, może trwać kilka lub kilkanaście godzin, gdy z tabelami o sumarycznym rozmiarze 1 mln rekordów współczesny sprzęt komputerowy "radzi sobie gładko" w czasie kilkunastu sekund!

Drugim istotnym czynnikiem, mającym wpływ na wydajność hurtowni opartej na statystycznej obróbce wszystkich danych operacyjnych, jest dokładność. Jeżeli liczba rekordów danych operacyjnych wzrośnie np. dziesięciokrotnie, to aby uzyskać taką samą dokładność, np. 95%, nie potrzeba do hurtowni ładować 10 razy więcej danych. Na ogół wystarcza załadowanie ok. 2 razy większej próbki. Mimo 10-krotnego wzrostu liczby rekordów danych operacyjnych, wydajność hurtowni, opartej na technice próbkowania, zmaleje nie więcej niż dwa razy (na tym samym sprzęcie).

Jeżeli zależy nam na zwiększeniu dokładności i wiarygodności oceny uzyskanego wyniku, wystarczy zwiększyć rozmiar próbki, na której dokonuje się analizy. Do hurtowni można więc wgrać tak dużą próbkę danych operacyjnych, na jaką pozwalają zasoby komputera (pojemność dysków, liczba procesorów, dostępny czas ładowania), a następnie przeprowadzać analizę na mniejszych lub większych subpróbkach tej populacji, zależnie od wymaganej dokładności wyniku.

Czy można wierzyć próbkowaniu?

Wielokrotnie mieliśmy okazję przekonać się, że wyniki badania opinii publicznej i rzeczywiste wyniki głosowania (np. do Sejmu) różniły się znacznie. Statystycy wiedzą, że istnieje ważny element decydujący o wiarygodności wyników: wybrana próbka całej populacji danych powinna być przypadkowa. Podobnie jest z hurtownią danych, obsługiwaną metodą próbkowania. Staranne, losowe dobranie próbki w hurtowni zapewni wiarygodność uzyskiwanych wyników. Jeżeli jednak analityk będzie chciał uzyskać wynik pewny, zawsze może to zrobić (czego nie mogą uzyskać ośrodki badania opinii publicznej). Po szybkim wykonaniu wielu analiz trendów na podstawie danych próbkowanych, może zadać końcowe, dobrze skierowane zapytanie do bazy danych operacyjnych. Wprawdzie realizacja tego zapytania może zająć wiele godzin, ale wynik nie będzie obciążony błędem statystycznym i będzie na tyle dokładny i wiarygodny, na ile dokładne są dane operacyjne.


TOP 200