ETL - jak poznać ?

0

ETL jak rozumiem to narzędzia pomagające pozyskiwać dane do hurtownii danych...
np. Oracle Data Integrator... Jakie umiejętności twarde (w sensie języków programowania) trzeba zdobyć by pracować przy czymś takim? Tam się **kodzi w PL/SQL **?

nie mogę znaleźć żadnych książek o tym... jedynie dokumentacje Oracle, a zanim się za to zabiorę, chciałbym wiedzieć tak z grubsza o co chodzi.

0

Mogę jedynie ci opisać jak to wygląda w SQL Server(SSIS).

Ogólnie można powiedzieć że to jest mieszanka wszystkiego SSIS(ETL), C#, T-SQL. W SQL piszesz głównie widoki i procedury, w C# za to obsługujesz różne dziwne rzeczy których nie pozwoli ci wykonać gotowa funkcjonalność SSIS, a w SSIS robisz już tylko przepływy za pomocą klocków. Ogólnie nie jestem zwolennikiem tej technologi ponieważ dużo informacji ukrywa się w konfiguracjach klocków co nie zawsze widać podczas przeglądania, problemy z review, trudne testowanie, dodatkowo występują różne dziwne zachowania do których musisz się przyzwyczaić.

0
Bumcykowy napisał(a):

Ogólnie nie jestem zwolennikiem tej technologi ponieważ dużo informacji ukrywa się w konfiguracjach klocków co nie zawsze widać podczas przeglądania, problemy z review, trudne testowanie, dodatkowo występują różne dziwne zachowania do których musisz się przyzwyczaić.

Zgoda, zwłaszcza, że edytor/designer do SSIS nie jest zbyt intuicyjny. Ale za to dostajesz gotowe rozwiązanie, w którym w pół godziny wyklikasz sobie proces ETLowy, którego normalna implementacja zajmie Ci 2 tygodnie. Przy czym, rozwiązanie w SSIS będzie stabilniejsze i prawdopodobnie bardziej wydajne.

1

@Laflx
Głównie jest to łączenie klocków(70%), ale masz też takie typy klocków w których możesz umieścić kod C# oraz SQL. Np. jeżeli masz procedurę która przyjmuje TVP to wtedy robisz sobie klocek "Task Script" w którym to, używając C# piszesz obsługę takiej procedury. Czyli sam znajomość SSIS ci nie wystarczy, trzeba tak naprawdę znać wszystko, bo inaczej zaczyna się robić kombinacje zamiast stosować odpowiednie rozwiązania.

@somekind
Trochę przesadziłeś z tymi dwoma tygodniami, bo jeżeli już masz wszystkie podstawy(głównie chodzi mi o planistę) to wtedy pisanie nowych zadań(przepływów) już nie zajmie tak dużo czasu, a dzięki tej inwestycji uzyskujemy kod gdzie nie ma problemu z review i testami. Jeżeli chodzi o wydajność to jest wysoka o ile przepływ nie zrobi się zbyt rozbudowany, gdzie nie da się uniknąć kilkukrotnego odpytania danych. Np. ostatnio pisałem synchronizacje gdzie wyznaczanie danych odbywało się w locie w SSIS, ukończenie takiego przepływu zabierało 24 godziny, po przepisaniu wyliczenia danych przed wysłaniem, czas przepływu został skrócony do 2 godzin, ale wtedy użycie SSIS ograniczało się do przesłania danych z źródła do celu. Moim zdaniem SSIS jest świetny wtedy kiedy trzeba przesłać dane z minimalnym nakładem na ich obróbkę w locie.

0

teraz trochę mi się rozjaśnia... miałbym jeszcze takie 3 pytania:

  1. jak Wy się tego nauczyliście? są jakieś książki, pdfy czy trzeba dokumentacje tego SSISa czy tam Oracla czytac?
  2. programowanie C# wystarczy na średnioozawansowanym poziomie czy trzeba być mega kodziarzem ?
  3. na jakie zarobki można liczyć po 2 latach pracy w czyms takim? Programiści R mają po 5-7 brutto po 2 latach a tacy od ETL ?
0
Bumcykowy napisał(a):

@somekind
Trochę przesadziłeś z tymi dwoma tygodniami, bo jeżeli już masz wszystkie podstawy(głównie chodzi mi o planistę) to wtedy pisanie nowych zadań(przepływów) już nie zajmie tak dużo czasu, a dzięki tej inwestycji uzyskujemy kod gdzie nie ma problemu z review i testami.

I jesteś pewien, że Twój planista ma taką samą funkcjonalność jak SSIS? Także jeśli chodzi o stabilność i możliwość konfiguracji?
A co do testowania - testowanie czy dane z kolumny w pliku CSV trafiają do odpowiedniej kolumny w bazie i tak trzeba zrobić integracyjnie.

Np. ostatnio pisałem synchronizacje gdzie wyznaczanie danych odbywało się w locie w SSIS, ukończenie takiego przepływu zabierało 24 godziny, po przepisaniu wyliczenia danych przed wysłaniem, czas przepływu został skrócony do 2 godzin, ale wtedy użycie SSIS ograniczało się do przesłania danych z źródła do celu. Moim zdaniem SSIS jest świetny wtedy kiedy trzeba przesłać dane z minimalnym nakładem na ich obróbkę w locie.

Nie mówię, że nie masz racji. Mi raczej chodzi o to, że jeśli paczka wykonuje się w czasie, który jest akceptowalny, nie ma sensu tracić czasu na optymalizowanie przez pisanie własnych mechanizmów.

Laflx napisał(a):
  1. jak Wy się tego nauczyliście? są jakieś książki, pdfy czy trzeba dokumentacje tego SSISa czy tam Oracla czytac?

SSIS został wybrany jako narzędzie do jednego systemu w pracy, więc trzeba się go było nauczyć. W razie czego jest dokumentacja, StackOverflow, Google, a i książki się znalazły.
Mechanizmów od Oracle czy innych firm nie znam, więc nie wiem jak tam to wygląda.

  1. programowanie C# wystarczy na średnioozawansowanym poziomie czy trzeba być mega kodziarzem ?

Wystarczy, tam raczej wszystko się pisze w jednej funkcji, więc nawet nie trzeba wiedzieć co to jest klasa.

  1. na jakie zarobki można liczyć po 2 latach pracy w czyms takim? Programiści R mają po 5-7 brutto po 2 latach a tacy od ETL ?

Nie spotkałem się z oddzielnym stanowiskiem dla ETL. Albo jest to narzędzie wykorzystywane przy produkcji zwykłego systemu informatycznego, wtedy korzystają z niego normalni programiści. Albo używają tego ludzie od BI, razem z narzędziami do eksploracji danych.

0
somekind napisał(a):

Nie spotkałem się z oddzielnym stanowiskiem dla ETL. Albo jest to narzędzie wykorzystywane przy produkcji zwykłego systemu informatycznego, wtedy korzystają z niego normalni programiści. Albo używają tego ludzie od BI, razem z narzędziami do eksploracji danych.

http://www.pracuj.pl/praca/programista-analityk-etl-warszawa,oferta,3697451

http://www.pracuj.pl/praca/etl-data-analyst-warszawa,oferta,3703327

http://www.pracuj.pl/praca/informatica-etl-developer-warszawa,oferta,3680932

hm... a ciekawe co to jest to Buisiness Inteligence...

1 użytkowników online, w tym zalogowanych: 0, gości: 1