Inżynier danych buduje i utrzymuje infrastrukturę, która przesyła i przechowuje dane. Tworzy potoki danych, zarządza bazami danych i dba o to, aby dane docierały tam, gdzie są potrzebne, na czas i w użytecznej formie. Naukowcy i analitycy danych czerpią z wyników pracy inżynierów. Jeśli potok danych ulegnie awarii, ich praca zostaje wstrzymana.
Rola ta rozrosła się wraz ze wzrostem wolumenu danych. Wcześni inżynierowie danych zarządzali relacyjnymi bazami danych i skryptami ETL. Nowocześni pracują z platformami chmurowymi, rozproszonymi strukturami przetwarzania i systemami strumieniowymi. Piszą kod w Pythonie, Scali lub Javie. Rozumieją dogłębnie SQL. Wiedzą, jak projektować schematy, partycjonować tabele i optymalizować zapytania. Zajmują się również operacjami: monitorowaniem, powiadamianiem i odzyskiwaniem, gdy coś ulegnie awarii o 3 nad ranem. Praca jest częściowo inżynierią oprogramowania, częściowo administracją baz danych, częściowo hydrauliką. Nie jest efektowna. Jest niezbędna. Naukowiec danych, który spędza połowę swojego czasu na naprawianiu zepsutych potoków, nie zajmuje się nauką o danych. Dobry inżynier danych sprawia, że problem znika. Potoki działają. Dane są czyste. Analitycy i naukowcy mogą skupić się na swojej faktycznej pracy.
Obowiązki inżyniera danych
- Tworzenie potoków — ekstrakcja, transformacja, ładowanie danych
- Zarządzanie pamięcią masową — bazami danych, jeziorami danych, magazynami
- Zapewnij niezawodność — monitorowanie, alarmowanie, odzyskiwanie
- Optymalizacja wydajności — dostrajanie zapytań, partycjonowanie
- Wsparcie konsumentów — analityków, naukowców, aplikacji
Inżynierowie danych budują drogi. Wszyscy inni po nich jeżdżą. Kiedy drogi są dobre, nikt tego nie zauważa.
Comments
No comments yet. Be the first to share a thought.
Leave a comment