19 stycznia 2038

Pamiętacie problem roku 2000? W 2038 będzie jeszcze gorzej…

Data będąca tytułem dzisiejszego wpisu jest ważna. Jeżeli jej dożyję, będę wtedy miał prawie 64 lata (to ładna, okrągła liczba jest) – a dokładniej rzecz biorąc do 64 lat będzie mi brakowało jeszcze około dwóch miesięcy.

Ale data 19 stycznia 2038 roku jest ważna nie dlatego, że jakiś gość próbujący udawać blogera będzie mieszkał na powierzchni swojej planetki przez ilość czasu równą, pi x oko, ilości sześćdziesięciu czterech okrążeń tejże planetki wokół lekko już ze starości pożółkłej gwiazdy macierzystej. O, co to to nie. Takie sprawy są ważne co najwyżej dla pojedynczych osób, a ja tu mówię o wadze globalnej. Czytaj dalej 19 stycznia 2038

EDW #7: Landing & XREF

Ten wpis należy do serii wpisów poświęconych architekturze hurtowni danych.

Warstwy Landing oraz Cross Reference (w skrócie: XREF) idą zawsze w parze.

Dla dowolnej encji E w naszej hurtowni danych prawdziwe jest jedno z dwóch zdań:

  1. E pochodzi z dokładnie jednego systemu źródłowego
  2. E pochodzi z więcej niż jednego systemu źródłowego

Warstwy Landing oraz XREF są wykorzystywane w przypadku numer 2, a więc wówczas, kiedy jakaś encja w naszej hurtowni pochodzi w kilku różnych systemów źródłowych. Czytaj dalej EDW #7: Landing & XREF

EDW #6: Stage

Ten wpis należy do serii wpisów poświęconych architekturze hurtowni danych.

Tydzień temu omówiliśmy sobie warstwę systemów źródłowych, dziś czas na warstwę Stage.

Jak napisałem na samym początku tej serii, każda z warstw w DW pełni jakąś konkretną, dobrze zdefiniowaną funkcję. W przypadku Stage funkcją tą jest przechowywanie dokładnej kopii danych źródłowych, dzięki czemu możemy z nimi eksperymentować, kombinować, analizować pod kątem dalszej użyteczności w DW i tak dalej.

Począwszy od warstwy Stage aż po przedostatnią, szóstą warstwę (czyli Data Marts), wszystkie dane naszej DW będą przechowywane w rozmaitych tabelach w bazie (bądź w bazach) danych. Stąd też wymóg, żeby każdy system źródłowy był w stanie udostępnić nam dane w postaci tabelarycznej, bądź też „łatwo tabelaryzowalnej”, na przykład XML czy JSON. Czytaj dalej EDW #6: Stage

EDW #4: Siedem warstw

Ten wpis należy do serii wpisów poświęconych architekturze hurtowni danych.

Zgodnie z obietnicą, dziś zakaszemy rękawy i w końcu trochę sobie pobrudzimy ręce konkretami.

Hurtownia danych, którą opisuję w niniejszej serii, składa się z siedmiu warstw logicznych. Każda z nich pełni określoną rolę. W gotowym rozwiązaniu dane płyną od warstwy #1 do warstwy #7. Tak naprawdę celem tej serii jest pokazanie Czytelnikowi owych siedmiu warstw, logiki przepływu danych między nimi, sposobu ich implementowania, a także płynących z takiego podejścia zalet (oraz nielicznych wad). Czytaj dalej EDW #4: Siedem warstw

EDW #3: Mierz siły na wymiary

Ten wpis należy do serii wpisów poświęconych architekturze hurtowni danych.

Tytuł dzisiejszego wpisu ukradłem Komandorowi McPig (temu z Muppet Show). Dziś opowiemy sobie pokrótce o jednej z najważniejszych kwestii, którą należy wziąć na warsztat we wczesnej fazie projektowania jakiejkolwiek hurtowni danych: ujednoliceniu wymiarów.

Zagadnienie to było już poruszane na tym blogu wcześniej, ale nie szkodzi. Ważne tematy trzeba utrwalać. Czytaj dalej EDW #3: Mierz siły na wymiary

UTF != UTF

I have recently faced a very annoying issue with one of the ETL processes. Very annoying issues are often easily resolvable in simple ways[citation needed] and thankfully this was one of them. However, before I managed to solve it, I wasted a whole bunch of otherwise perfectly usable minutes which is something I always loathe.

By writing this entry I am hoping to save you from wasting those precious minutes yourself. Czytaj dalej UTF != UTF

EDW #2: Słowniczek

Ten wpis należy do serii wpisów poświęconych architekturze hurtowni danych.

Zanim przejdziemy do konkretów, najpierw przedstawię kilka podstawowych definicji, żebyśmy mówili wspólnym językiem.

Uwaga #1: Definicje są pisane moim własnym widzimisię (nie będę ściągał z Wiki), jeżeli widzisz jakieś braki lub niedociągnięcia, komentuj śmiało, poprawię.

Uwaga #2: poniższa lista jest stworzona ad-hoc – będę ją (być może) rozbudowywał w miarę potrzeb. Być może nawet kiedyś ułożę ją alfabetycznie… Poniższe definicje to nie jakieś kompendium wiedzy, pochodzą z różnych podwórek, dotyczą różnych zagadnień Czytaj dalej EDW #2: Słowniczek

EDW #1: Wstęp

Ten wpis otwiera serię poświęconą zagadnieniu wystarczająco interesującemu, żeby poświęcić mu kilka wpisów, a zarazem wystarczająco niszowemu, żeby nadawało się na bloga xpil.eu.

W odróżnieniu od poprzednich serii, które pisałem od przypadku do przypadku i od kaprysu do kaprysu, tym razem planuję solidnie przyłożyć się do zagadnienia i stworzyć coś od deski do deski, porządnie i bez „iścia” na łatwiznę. Nie gwarantuję, że się uda, ani że będzie ciekawie lub mądrze. Ale postaram się postarać 🙂 Czytaj dalej EDW #1: Wstęp

ETL – rozważania luźne

Jako że od wielu lat „siedzę” w branży Business Intelligence, mam po drodze do czynienia z najprzeróżniejszymi, czasem dość ciekawymi zagadnieniami, składającymi się na ową tajemniczą „Inteligencję”.

Dziś opiszę – proszę się nie obawiać, tylko po łebkach i ogólnikowo – co udało mi się niedawno zaobserwować przy okazji ładowania dużych ilości danych XML do hurtowni. Czytaj dalej ETL – rozważania luźne