Jeżeli jesteście na początku swojej drogi w IT lub pracujecie w tym świecie, ale po stronie biznesu i chcielibyście bardziej zaznajomić się z technologią i trochę “ubrudzić sobie ręce” to pewnie zastanawiacie się – od czego zacząć?
Mnogość technologii zaskakuje nawet osobę, która siedzi w branży kilkanaście lat. Świat IT jest ogromny, ale jeżeli zdecydujecie się zapoznać z technologiami przetwarzania danych to mam dla Was propozycję – zacznijcie od SQL-a… ale na nim nie kończcie.
SQL (ang. Structured Query Language), czyli strukturalny język zapytań pozwalający na wykonywanie operacji na danych. Stworzony został do współpracy z relacyjnymi bazami danych (w dalszych wpisach dokładniej opowiemy sobie co to takiego), ale dzisiaj używany jest także w wielu innych miejscach. Postaram się Was przekonać, że ten język Wam się przyda i jest niczym język angielski dla całego świata (z wszystkimi tego plusami i minusami).
SQL jest łatwy!
SQL ma tę niesamowitą zaletę, że jest stosunkowo łatwy do nauczenia, o ile materiał zaprezentowany jest w odpowiedni sposób, czyli bez zbędnej teorii. Często nauka SQL idzie w parze z wiedzą o bazach danych, co samo w sobie nie jest niczym złym – jeżeli chcecie pracować z danymi, to bazy są podstawą. Problem zaczyna się, gdy nauka baz danych skupia się na wiedzy, która Wam (o ile nie chcecie być specami lub administratorami) się zupełnie nie przyda. Znam to z doświadczenia biznesowego, jak i edukacyjnego.
SQL jest wszędzie
Jest on praktycznie wszędzie, nie tylko w tradycyjnych bazach i hurtowniach danych. Dwa przykłady. Jeżeli interesujecie się trochę technologią i nie żyliście przez ostatnie parę lat pod kamieniem, to znacie takie terminy jak Big Data oraz Cloud (jeżeli jednak żyliście pod tym kamieniem, to bez obaw – wyciągnę Was stamtąd! :).
W przypadku Big Data, bez problemu możecie odpytać o dane używając SQLa oraz np. narzędzie o nazwie Hive, które (w dużym uproszczeniu) pozwala odczytać dane zapisane w bazach i plikach używanych na Hadoop-ie (na teraz, w skrócie: platforma do Big Data).
Kolejnym przykładem jest BigQuery na GCP (Google Cloud Platform) – hurtownia danych z ogromnymi możliwościami analitycznymi, która zdaje się być jednym ze szlagierowych produktów chmurowych Wujka Google, gdzie przy pomocy SQL-a możemy odpytać dane, wykonać analizy lub wykorzystując Big Query ML uruchomić na naszych danych model uczelnia maszynowego (Machine Learning). O tym, o co w tym całym ML-u chodzi, sobie jeszcze opowiemy, ale pokazuje to możliwości samego języka. Oczywiście SQL może się odrobinę różnić pomiędzy narzędziami, ale bardzo szybko się w tym odnajdziecie.
Wspomniane narzędzia brzmią Ci obco? Nie szkodzi, przybliżę Ci to wszystko z czasem. Na teraz chciałem jedynie pokazać, że SQL pojawia się nawet w najnowocześniejszych technologiach.
No, ale żeby nie było tak różowo to…
SQL to nie wszystko
Można usłyszeć od programistów, że pisanie zapytań SQL to nie jest programowanie. To jest jedna z tych dyskusji, gdzie z prawdą jest jak z pewną tylną częścią ciała – każdy ma swoją. Natomiast jestem przekonany, że praktycznie każdy z nich podstawy SQL-a zna i większość z nich go używa.
No dobra, ale jak jest z tym programowaniem przy pomocy SQL-a? Tak, można… tylko robi się to już coraz rzadziej. SQL może być wykorzystywany jako sposób na wyciągnięcie danych w aplikacjach pisanych w innych językach, ale także sam w sobie może zawierać logikę biznesową. W bazach danych używa się pewnych jego odmian do pisania procedur i funkcji, które mogą realizować naprawdę skomplikowaną logikę.
Dzisiaj, ze względu na mnogość i niejednorodność danych, mamy przeróżne sposoby ich składowania, przetwarzania i prezentowania. W większości przypadków to, co robimy z danymi, nie jest już opisane językiem SQL, a technologiami, które pozwalają w łatwy sposób zaimplementować różnego rodzaju analizy, łącząc różne rodzaje danych takie jak tekst, dźwięk czy obraz. Bardzo popularnym językiem w tym obszarze stał się Python.
To może od razu zacząć się uczyć tego Pythona? Oczywiście można, ale prędzej czy później zaczniecie potrzebować SQL-a choćby, żeby szybko odczytać jakieś dane – nie ma szybszego sposobu, o ile mamy taką możliwość.
To jak z tym językiem angielskim?
Z jednej strony mamy argumenty, dlaczego warto poświęcić trochę czasu, aby zapoznać się z językiem SQL. Z drugiej strony powiedzieliśmy sobie, że sam SQL w dzisiejszych czasach (w większości przypadków) to za mało. Prowadzi nas to do analogii z językiem angielskim. Bezspornie warto znać angielski choćby na tyle, aby swobodnie się komunikować, ale dzisiaj sam w sobie nie jest kartą przetargową na rynku pracy, zwłaszcza w świecie IT. Ludzi zarabiających samą znajomością języka angielskiego jest zdecydowanie mniej (w porównaniu do tych posługujących się tym językiem) i ich znajomość języka powinna być na zdecydowanie wyższym poziomie (np. nauczyciele, tłumacze).
Podobnie jest z SQL – sama jego znajomość nie sprawi, że będziecie super atrakcyjni na rynku pracy, ale moim zdaniem jest to świetny pierwszy krok, aby zacząć w IT, w szczególności, jeżeli interesuje Was praca z danymi. Oczywiście, jeżeli będziecie biegli w SQL-u oraz poznacie tajniki baz i hurtowni danych, to na brak pracy nie powinniście narzekać. Pytanie tylko, czy warto na tym poprzestawać? Moim zdaniem nie i mówi to dinozaur, który spędził w tych technologiach zdecydowaną większość swojego zawodowego życia.
Super! Bardzo czytelnie i przyjemnie napisane. Bardzo spodobała mi się analogia do języka angielskiego 😀
Cześć Kamilo! Bardzo dziękuję za komentarz 🙂
W sumie nie pomyślałem o SQL w ten sposób, ale faktycznie jest wszędzie (w różnych „dialektach”). Jeszcze jeden świetny tekst. Czekam na następny. 🙂
Cześć Adamie,
Dzięki za komentarz. W kolejnym wpisie przybliżę trochę temat chmur obliczeniowych 🙂
Pozdrawiam!