Skip to content

Instantly share code, notes, and snippets.

@krzysztofjablonski
Created June 24, 2012 09:14
Show Gist options
  • Save krzysztofjablonski/2982592 to your computer and use it in GitHub Desktop.
Save krzysztofjablonski/2982592 to your computer and use it in GitHub Desktop.
* B-drzewo
- ilość rekordów * rozmiar rekordu
- 100 000 000 * 10B = 1 GB
* index bitmapa
- krotnosc * (ilość / 8) = x B
* tabela faktów
- dodajemy rozmiary wszystkich atrybutów
- mnozymy przez ilosc wszystkich rekordow w innych tabelach
* kodowanie Huffmana
- robimy graf (od najw u gory - 0)
- zapisujemy zakodowanym i sumujemy
- jest niedeterministyczne dla tych zamych wag
* dystans Levensteina
- usuwamy lub wstawiamy lub zamieniamy dwie litery
* kompresja WAH
- dzielimy na slowa - libcza bitow w procesorze - 1
- dopelnienia - 0, poźniej przepisujemy
- wypełnienia - 1, poniej co (1/0) i ile
* kompresja RTH
- kodujemy mapy (run length)
- liczymy częstość
- zbudowanie drzewa kodów huffmana
- kompresujemy czyli zamieniamy liczby na odpowiedniki
* schemat płatka śniegu
- tabele wymiaru są znormalizowane
- mniejszy rozmiar poszczególnych tabel poziomów
- operacja roll-up wykonuje się wolniej - laczenie poziomow
*
|
*
|
* - * - * - (*) - * - * - *
* schemat gwiazda
- tabela wymiarów jest zdenormalizowana
- operacja roll-up wykonuje się szybko
- rozmiar tabeli moze byc duzy (redundancja danych)
*
|
* - (*) - *
|
*
* optymalizacje ETL
- swap - zamiana miejscami
- factorize - z dwoch operacji przed jedna za
- distribute - z jednej za dwie operacje przed
- merge - scalenie
- slipt - podzial
* cele stosowania hurtowni danych
- jednolity dostep do wszystkich danych
- wykonywanie zaawansowanych analiz, wspomagajacych zarzadzanie przedsiebiorstewm
- eksloracja danych
- analiza rozwiazan alternatywnych
* OLPT a OLAP
- uzytkownik - zwykly, analityk
- funkcja - biezace operacje kluczowe, wspomaganie decyzji
- dane - biezace elementarne, elementarne zaagregowane historyczne
- aplikacje - powtarzalnosc dzialan, ad hoc
- dostep - odczyt/zapis, odczyt
- transakcja - krotka, dluga
- rekordy - kilka, miliony
- uzytkownikow - kulkudziesieciu, kilku
- wielkosc - setki GB, dziesiatki TB
- metric - przepustowosc, czas odpowiedzi
* ETL w architekturze HD
- żródła danych
- warstwa pśrednia (oprogramowanie ETL)
- hurtownia danych
- aplikacje analityczne
* typy miar
- addytywne - zapewniaja poprawną agregowalność dla wszystkich miar - liczba sprzedanych sztuk towarów - mozliwe agregowanie w wymiarze czasu, klienta, produktu, sklepu
- częsciowo addytywne - zapewniaja poprawną addytywnosc dla niektórych wymiarów - liczba sztuk towaru w magazynie
- nieaddytywne - nie podają interpretowalnych wartości zagregowanych w zadnym z wymiarow - cenna netto, kurs wymiany, kurs akcji dla SUM
* operacje wielowymiarowe
- drilling down - rozwijanie hierarchi czasu
- rolling up - zwijanie hierarchi czasu
- slicing - warunki selekcji nalozone na jeden wymiar
- dicing - warunki selekcji nalozone na n wymiarow
- rotating (pivot) - obracanie
- drill-across - analiza danych z kilku kostek, musza miec przynajmiej jeden wspolny wymiar
* fakty
- informacje podlegające analizie
- sprzedaz, rozmowy telefoniczne
- charakteryzowane ilosciowo za pomocą miar
- liczba sprzedanych sztuk towarow, czas trwania rozmowy
- skladaja sie z miar
* wymiary
- ustalają kontekst analizy
- sprzedaz czekolady (produkt) w Auchan (sklep) w poszczegolnych miesiacach roku (czas)
- skladają sie z poziomow, ktore tworza hierarchie
* optymalizacja zapytan z wykorzystaniem bitmapowych inteksow
- tabele sa łączone z wykorzystaniem hash-join
* cele stosowania ODS
- odseparowanie przetwarzania ETL od operacyjnych źródeł danych
- zapewnienie mozliwosci powtorzenia przerwanego/wycofanego proscesu ETL bez potrzeby sciegania do źródeł danych
- dane źródłowe i częściowo przetworzone
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment