Od developerů k DevOps: proč všichni IT profesionálové potřebují znát SQL
IT profesionálové o tom, jak používají SQL ve své práci
SQL je strukturovaný dotazovací jazyk, který umožňuje ukládat a zpracovávat záznamy v databázích. Obvykle je spojován s analytiky, kteří pracují přímo s daty, ale používají ho také vývojáři, testeři, inženýři DevOps, specialisté na kybernetickou bezpečnost a další odborníci.
Zajímalo nás, k jakým úkolům používají SQL různí IT specialisté při své každodenní práci a jak hluboké znalosti této technologie jsou vyžadovány na juniorské, mediorní a seniorské úrovni. Proč bys ses tedy měl*a učit jazyk SQL a jakému aspektu tohoto jazyka bys měl*a věnovat větší pozornost – to se dozvíš v tomto článku.
Obsah:
- Back-end vývoj
- Front-end vývoj
- Mobilní vývoj
- Manual QA
- Automation QA
- DevOps
- SRE
- Kybernetická bezpečnost
- Business analýza
- Data science / Machine learning
Back-end vývoj

Artem Vereshchaka, technický vedoucí ve společnosti Bolt, nám řekl:
„Práce back-end developerů je vždy spojena s databázemi: každá aplikace má datový sklad, se kterým je třeba pracovat. V současné době existují databáze, které nepoužívají SQL, ale naprostá většina z nich tuto technologii podporuje, takže se bez ní neobejdete.
Pomocí jazyka SQL může back-end inženýr vytáhnout data z databáze, aktualizovat je, přidat je – to jsou základní příklady každodenních úkolů. Na základě stejného úložiště se často vytvářejí i základní reporty a analýzy, takže je třeba umět je psát výhradně v jazyce SQL.
Některé speciální frameworky a knihovny ti pomohou vyhnout se přímému psaní dotazů SQL, ale tyto abstrakce nejsou vždy k dispozici. Navíc pouze snižují vstupní úroveň, na které stále musíš rozumět tomu, co se děje a jak to případně opravit. V mé firmě se takové abstrakce používají minimálně pro nejjednodušší dotazy, protože si nemůžeme dovolit snížit výkon systému.
Pro back-end vývojáře je proto SQL součástí „základní sady“ dovedností, které by měl mít každý. Je poměrně obtížné sepsat požadavky na juniorní, mediorní a seniorskou úroveň, protože vše závisí na projektu a typu ukládaných dat. Například ve svém prvním zaměstnání jsem psal hodně složitých dotazů SQL – na tom byla založena část našeho reportingu. Nyní píšu mnohem jednodušší, protože současný projekt má zcela jiné přístupy.
Je třeba si také uvědomit, že práce s databázemi není jen o SQL. Inženýr musí rozumět tomu, k čemu určité činnosti s úložištěm vedou, jak je optimalizovat a předcházet problémům.“
Front-end vývoj
Olga Gnatenko, Data Science / Machine Learning Engineer ve společnosti DataArt (dříve pracovala jako Frontend Developer a Business Analyst) říká:
„Domnívám se, že každý IT profesionál potřebuje dobře znát základy informatiky, databází a jazyka SQL, protože jde o základní znalosti. Nedostatečné pochopení základních principů může zpomalit práci, ztížit interakci s týmem nebo jednoduše vést k neefektivním řešením – zejména tam, kde je později nutné škálování.
Pro front-end vývoj nemusí být důkladná znalost jazyka SQL nutná. Důležité je však porozumět tomu, jak lze data organizovat v databázích SQL a NoSQL. Musíš rozumět schématu databáze a tomu, jak jsou data reprezentována, jaké existují vztahy, abys ses mohl*a domluvit s back-endovým inženýrem na uspořádání a zpracování dat.
Při pohovorech se mohou testovat znalosti jazyka SQL, obecné logiky a teorie informatiky. Tyto otázky jsou častěji kladeny mladším specialistům. Co se týče detailních znalostí, domnívám se, že pro front-endového inženýra bude relevantnější rozumět například dotazům GraphQL.
Ve své skutečné práci jsem SQL používala zřídka – v průměru 2–3krát týdně. Někdy je například užitečné dostat se do databáze a provést několik dotazů, abychom pochopili, co se s daty skutečně děje – hodí se to při hledání příčin složitých chyb. Například se mi stalo, že chyba vypadala jako problém s uživatelským rozhraním, ale byla způsobena chybami v datech nebo nesprávným uložením či transformací dat. Abychom pak mohli chybu dále nasměrovat ke skutečnému „adresátovi“, je užitečné zkontrolovat, co se vlastně s daty děje, co kde je, v jakém formátu atd. Takže schopnost navrhnout Select mírné složitosti se bude určitě hodit.“
Mobilní vývoj

Oleksandr Mazurenko, Senior Android Developer ve společnosti GlobalLogic, říká:
„Při mobilním vývoji se databáze používají minimálně – k vytvoření určité mezipaměti a offline režimu aplikace.
Například aplikace sociálních sítí může náhodně vybírat příspěvky z mezipaměti a zobrazovat je uživateli, zatímco čeká na obnovení sítě. Samotný příspěvek je uložen v databázi, zatímco mediální obsah je uložen v trvalé paměti. Většina moderních aplikací se zaměřuje na ukládání dat do vzdálené databáze, například Firebase. To se provádí proto, aby uživatel nepřišel o data v případě odinstalování aplikace, poruchy nebo ztráty zařízení.
Při vývoji pro systém Android se většina dotazů SQL provádí pomocí knihovny Room, takže jsou vyžadovány minimální znalosti. Pro některé složité dotazy a migrace databází však funkce knihovny Room nemusí stačit. Vzhledem k tomu, že jazyk SQL je nedílnou součástí základního kurzu informatiky, při některých pohovorech se na něj ptáte. Pokud však v ostatních otázkách prokážete dobrou úroveň, bude mít mezera v SQL na konečné rozhodnutí o přijetí malý vliv.
Obecně platí, že pro mladší specialisty bude užitečné znát základní příkazy a pro mediorní specialisty porozumět typům Join. U mobilního vývoje je těžké říci, jak je to se seniorními, protože databáze jsou specifické spíše pro back-end vývojáře.“
Manual QA

Sergej Sachnenko, vedoucí QA inženýr ve společnosti EPAM, říká:
„Použití SQL závisí na typu projektu, na tom, zda je to nutné, zda mají testeři přístup k databázi atd. Například v současné době používám SQL poměrně často, ale byly projekty, kde jsem ho nepoužíval vůbec.
Jazyk SQL lze použít k testování databází (zda se dotazy do databáze provádějí správně a vracejí očekávané výsledky), ke kontrole správnosti vztahů mezi tabulkami, k testování procedur a funkcí a ke generování testovacích dat. Kromě toho lze jazyk SQL použít k vytváření složitějších testovacích scénářů, rychlému výběru, aktualizaci a ověřování dat a ke zjišťování a lokalizaci chyb v databázi.
Úroveň znalostí SQL se u odborníků na zajištění kvality liší v závislosti na konkrétní roli a požadavcích zaměstnavatele. Ve většině případů je znalost jazyka SQL považována za bonus, nikoli však za podmínku. Například funkční nebo front-end testování webových stránek nebo desktopových aplikací obvykle nevyžaduje hluboké znalosti jazyka SQL.
Zároveň může být pro některé role a projekty QA znalost jazyka SQL podmínkou, například pokud pracovní prostředí obsahuje databázi a vyžaduje testování její funkčnosti.
Očekávání úrovně znalostí juniorních, mediorních a seniorních testerů:
- Junior — základní znalost jazyka SQL stačí k provádění úkolů, jako je kontrola dat v databázi, vkládání nebo aktualizace testovacích dat a testování jednoduchých dotazů. Většinou se jedná o práci s příkazem SELECT.
- Medior — budeš potřebovat schopnost vytvářet složité dotazy, schopnost vyhledávat a opravovat chyby v dotazech, shromažďovat data pro testování a testovat uložené procedury a databázové funkce.
- Senior — očekává se, že tito specialisté budou mít dobré znalosti SQL a budou zodpovědní za optimalizaci dotazů, návrh testovacích dat, implementaci automatizovaných testů na úrovni databáze a analýzu výsledků.“
Automation QA
Maksym Bogun, Senior QA Automation Engineer, říká:
„V automatizačním testování se SQL používá pro back-endové autotesty: servisní nebo integrační. Dotazem do databáze autotest ověřuje, zda jsou hodnoty v ní skutečně správné.
Máme například autotest, který kontroluje koncový bod/odbavení online nákupního košíku. Náš test by měl zkontrolovat logiku, ve které si uživatel objednal 5 jablek po 10 UAH/každé se slevou 10 %:
- Odesíláme POST API požadavek/checkout s daty, po kterém by pole „order amount“ v databázi mělo obsahovat hodnotu 45 UAH (50 − 10 % = 45).
- Dále náš test provede dotaz SQL do databáze a obdrží podmíněný objekt „objednávka“, kde je celková částka 50. Máme tedy chybu. Je zřejmé, že vývojář, který napsal funkci košíku, zapomněl při výpočtu zohlednit slevu.
Mimochodem, podobný přístup může manuální kontrola kvality použít i při testování White Box. Situace je stejná, jen QA inženýr ručně zadá objednávku na webové stránce a poté pomocí speciálního nástroje provede dotaz SQL typu SELECT * FROM checkout.cart WHERE id = 123456 a ujistí se, že částka této objednávky je 45.
Pro back-endové testery je tedy znalost jazyka SQL nezbytnou součástí. Pokud práce v AQA vyžaduje pouze psaní autotestů GUI v podmíněném Selenium, pak se SQL nebudeš muset zabývat. Nicméně znalost této technologie bude stále výhodou. Schopnost kontrolovat databázi – buď ručně, nebo pomocí autotestu – svědčí o hlubší technické úrovni kandidáta.
Úrovně jsou rozděleny takto:
- Junior AQA musí přinejmenším rozumět tomu, co je to databáze a jak funguje jazyk SQL. Pak se vždy můžeš učit z příkladů v kódu.
- Mediorní uchazeč by měl mít základní znalosti jazyka SQL: jak se připojit k databázi, jaké metody jsou k dispozici (například pomocí connection string), jak napsat jednoduchý dotaz SELECT atd.
- Pro seniora je znalost jazyka SQL nezbytná – bez ohledu na to, co daná práce vyžaduje.“
Viktor Maksimenko, Senior QA Automation Engineer, AQA Manager ve společnosti AB Soft, říká:

„V současné době SQL ve své práci nepoužívám. Podle mých zkušeností jsme na většině projektů komunikovali s produktem buď prostřednictvím uživatelského rozhraní, nebo API.
Výjimkou z tohoto pravidla byla moje práce ve společnosti Electric Cloud, kde byl produktem systém CI/CD, který si zákazníci nainstalovali na svůj hardware a připojili k databázi (MySQL, MSSQL nebo Oracle). V souladu s tím bylo jednou z fází nastavení testovacího prostředí vytvoření „čerstvé“ databáze, která musela být po skončení testu smazána. Některé testy také vyžadovaly nalezení určitých záznamů v databázi.
Nejtěžší a nejzajímavější věc, kterou jsem tam v SQL udělal, bylo napsání stored procedure pro generování velkého množství vstupních dat. Vytvoření stovek tisíc záznamů prostřednictvím rozhraní API by trvalo hodiny, zatímco pomocí jazyka SQL to trvalo minuty.
Přímá práce s databází tedy umožňuje co nejrychleji získat informace o objektech v systému nebo uvést samotný systém do očekávaného stavu. V dnešní době se ve většině projektů schéma databáze rychle mění s přidáváním nových funkcí, takže některé dotazy, například vkládání dat, se mohou rychle stát bezpředmětnými. Kromě toho může nesprávné použití jazyka SQL vést k poruchám systému. Tak se objevují cool historky o tom, jak někdo zničil databázi již při vydání.
Podívejme se blíže na možnosti použití jazyka SQL v automatizaci:
- Kontrola stavu systémových objektů přímo prostřednictvím databáze. Tato kontrola je spolehlivější než kontrola pomocí rozhraní API nebo uživatelského rozhraní, kde výsledek operace nemusí být pravdivý. Například uživatelské rozhraní zobrazí banner Success nebo server vrátí kód 201 Created, ačkoli objekt nebyl uložen do databáze.
V takovém případě se může změnit schéma databáze (názvy tabulek, pole, vztahy mezi tabulkami atd.) a dotazy bude třeba aktualizovat. V tomto smyslu je API smlouvou, takže struktura požadavků a odpovědí je více ustálená. Proto většinou používám API ke kontrole dat. Také pro kontrolu dat v databázi je třeba otevřít přístup k připojení k úložišti (což není vždy možné z právních důvodů) a nakonfigurovat přístup pouze pro čtení. - Generování testovacích dat a příprava prostředí. Vygenerováním výpisu databáze nebo jejích jednotlivých tabulek a následným nasazením tohoto výpisu můžeme systém rychle uvést do očekávaného stavu. Tento přístup má zároveň všechny výše popsané nevýhody, které se projeví více. Například pokud se změní schéma, náš dump se stane irelevantním a bude třeba jej buď aktualizovat, nebo nahradit novým.
V lepším případě se nám při nasazení neaktuálního výpisu zobrazí chyba a v horším případě budou naše data neúplná (například byl do tabulky přidán nový sloupec). V důsledku toho můžeme získat falešně negativní test, jehož zkoumání zabere čas (protože program vyprodukuje nesprávný výsledek, ačkoli problém není v programu, ale v testovacích datech). - Databáze jako úložiště testovacích dat. Tento přístup se používá například tehdy, když fond účtů používá několik testovacích vláken při paralelním provádění. V tomto případě je k vývoji a použití této databáze nutná znalost jazyka SQL. Je třeba poznamenat, že vývoj dalších automatizačních nástrojů vyžaduje náklady na vývoj i následnou podporu.
- Testování databáze. Databáze jsou nedílnou součástí našeho produktu, která zároveň implementuje obchodní logiku, takže jejich testování má smysl. Zatím jsem se ve své praxi s tímto typem testování nesetkal, i když jsem se občas setkal s požadavkem, aby automatizační prostředky dokázaly databázi otestovat.
Podle mého názoru je toto odvětví poměrně specifické. Za zmínku stojí, že ačkoli o databázích většinou uvažujeme v kontextu interakce se serverovým kódem, DBMS jako SQLite lze používat přímo v klientských aplikacích, například v aplikacích pro Android. - Pohovory. Vše je zde jednoduché. Otázky SQL se často používají k ověření erudice uchazeče nebo kvality jeho přípravy na pohovor. Osobně se kandidátů na SQL neptám, pokud s ním nepotřebují pracovat. Doporučuji však před pohovorem zopakovat, co jsou to SELECT, ORDER BY, GROUP BY, typy JOIN a jak se liší.
Pro odborníky AQA je tedy znalost jazyka SQL užitečná z hlediska obecné erudice, ale pravděpodobnost jeho využití v rámci projektu je spíše nízká. I pro výše popsané případy použití lze dotazy poměrně snadno vygooglovat nebo vygenerovat pomocí umělé inteligence. Přímá práce s databázemi navíc obvykle není případem užití systému, takže se netestuje.
S tímto požadavkem jsem se setkal většinou jako s otázkou v dotazníku během technických pohovorů ve velkých outsourcingových společnostech. Ve skutečnosti je to jedna z možností řešení problémů s testovacími daty a kontroly stavu objektů. Větší počet variant dává více možností pro výběr správného řešení.“
DevOps

Oleg Zarevič, DevOps Engineer, říká:
„Relační databáze se používají téměř v každém projektu. Z pohledu DevOps inženýra je práce spíše o podpoře databázového serveru – jeho vytváření, konfiguraci a správě. Dotazy SQL při těchto úkolech používám jen zřídka.
Čas od času však můžeš potřebovat zkontrolovat správnost provedených úloh (zda jsou data v tabulce) nebo přidat/aktualizovat určitý záznam v tabulce. Například přepnout příznak funkce z jednoho stavu do druhého. K tomu bys měl*a znát základní příkazy SQL DML: V TOMTO PŘÍPADĚ JE TŘEBA ZNÁT NÁSLEDUJÍCÍ PŘÍKAZY: SELECT, INSERT, UPDATE, DELETE.
Někdy je také třeba vyčistit některé testovací databáze nebo odstranit nepotřebné tabulky. Zde využiješ další část jazyka SQL – DDL a příkazy jako TRUNCATE a DROP.
V reálných projektech jsem nemusel vytvářet nové tabulky. Alespoň zatím ne.
Ačkoli neříkám, že SQL používám často, považuji tuto znalost za nezbytnou pro inženýry DevOps. Pro juniorní specialisty se vyplatí vědět, co je to SELECT * FROM. Seniorní specialisté by měli znát nejen dotazy SQL, ale také dobře rozumět teorému CAP a tomu, co to jsou Constraints v tabulkách.“
SRE (Site reliability engineering)

Denis Vasiliev, Senior Site Reliability Engineer ve společnosti GfK – An NIQ Company, říká:
„99 % produktů zpracovává data, takže databázové systémy jsou pro SRE nezbytností. Uvedu několik příkladů použití SQL z vlastní zkušenosti.
Především jde o optimalizaci zpracování dat v automatizačních úlohách. Provádíme statickou kontrolu úložišť z hlediska souladu s požadavky na zabezpečení. Prověřujeme úložiště na přítomnost vystavených citlivých údajů, jako jsou hesla, klíče, tokeny, certifikáty a další tajemství.
Po skenování historie revizí je výsledek uložen do příslušného systému. Ve velkém měřítku to znamená tisíce záznamů. Jedná se o poměrně složitý proces a netriviální systém, ale my se zaměříme na použití jazyka SQL na příkladu systému SQLite.
SQLite je knihovna, která implementuje samostatnou transakční databázi SQL bez serveru s nulovou konfigurací. Jedná se o nejrozšířenější databázi na světě. SQLite se například používá v leteckém softwaru společnosti Airbus pro letadla rodiny A350 XWB.
To nám umožňuje provádět složité databázové dotazy, které se používají pro analýzu a vizualizaci dat. Jako SRE je například důležité zajistit pozorovatelnost, kdy můžeme identifikovat trendy a určit problémy, které mohou v budoucnu nastat. Například dynamiku a 25 nejlepších úložišť s největším počtem tajemství za poslední týden a pouze za poslední revizi.
Přestože systém pro ukládání dat využívá samostatnou databázi pod kapotou, neumožňuje k ní přímý přístup – pouze prostřednictvím webového rozhraní s pevně danou sadou parametrů, což není vhodné pro automatizační úlohy. Poskytuje však rozhraní API. Tedy:
- Proveď požadavek na rozhraní API a získej nezpracovaná data za určité období ve formátu JSON.
- Převeď formát JSON na CSV.
- Inicializuj databázi SQLite.
- Vytvoř tabulky a importuj data.
- Proveď dotazy SQL do databáze a získej výsledek.
Právě poslední tři body vyžadují, aby inženýr rozuměl principům jazyka SQL a uměl vytvořit strukturu databáze, psát a optimalizovat složité dotazy. Příklad pipeline a dotazů.
Představme si, že tvůj produkt je vyvíjen pomocí skupiny velkých a složitých databází Postgres v cloudu. A jak už to tak bývá, každý pátek si jdou vývojáři odpočinout a ty dostaneš nějaký ten problém. Otevři konzoli a zjistíš, že databáze se po pátečním sloučení odmítá spustit. Co máš dělat a jak pochopit, co se stalo? Jak můžeš databázi znovu zprovoznit?
Někdy ti na tuto otázku nedokážou odpovědět ani sami vývojáři. Proto jsou to právě tvoje jedinečné znalosti infrastruktury a základů jazyka SQL a databáze, které ti pomohou problém vyřešit. Někdy půjde o jednoduchou obnovu ze zálohy, jindy o dlouhý proces analýzy a obnovy dat.
Úroveň znalostí SQL vyžadovaná od juniorních, mediorních a seniorních specialistů závisí na konkrétní roli a požadavcích na pracovní pozici. Můžeš se zaměřit na následující parametry:
Junior SRE:
- porozumění základním konceptům a principům databází;
- schopnost vytvářet jednoduché dotazy SELECT pro výběr dat z tabulek;
- znalost základních příkazů jazyka SQL: SELECT, INSERT, UPDATE a DELETE;
- znalost filtrování dat pomocí podmíněných výrazů (WHERE);
- schopnost kombinovat data z více tabulek pomocí příkazů JOIN.
Medior SRE:
- hlubší pochopení architektury databází a relačního modelu;
- schopnost vytvářet složitější dotazy, včetně poddotazů a vnořených dotazů;
- znalost a používání agregačních funkcí, jako jsou COUNT, SUM, AVG, MAX, MIN atd;
- porozumět indexům a používat je ke zlepšení výkonu dotazů;
- schopnost optimalizovat a řídit provádění dotazů pomocí plánovačů.
Senior SRE:
- hluboké znalosti relačních databází a zkušenosti se složitými datovými strukturami;
- schopnost navrhovat a optimalizovat databázová schémata;
- znalost a používání pokročilých funkcí jazyka SQL;
- zkušenosti s databázemi s vysokým zatížením a optimalizací výkonu;
- schopnost provádět analýzu dat, vytvářet složité dotazy pro reporting a analytiku.“
Užitečný odkaz pro výuku jazyka SQL — sqlbolt.com.
Kyberbezpečnost

Dmytro Tereščenko, vedoucí oddělení informační bezpečnosti ve společnosti Sigma Software, říká:
„Většina (99,9 %) analytiků kybernetické bezpečnosti nepoužívá při své práci jazyk SQL.
Znalost jazyka SQL mohou vyžadovat ti, kteří pracují v oblasti zabezpečení aplikací, například pro zneužití (nebo naopak analýzu) zranitelnosti, jako je SQL injection.“
Business analýza
Olga Gnatenko, Data Science / Machine Learning Engineer ve společnosti DataArt (dříve pracovala jako Front-end Developer a Business Analyst), říká:
„Setkala jsem se se dvěma názory na Business analytiky a míru jejich ponoření do technických detailů:
- Business analytik by se neměl zabývat technickými detaily.
vs. - Business analytik by měl mít dobrou znalost dat a pečlivě sledovat zadání a požadavky projektu.
Dávám přednost druhé možnosti, zejména pokud je projekt rozsáhlý a znalosti a dovednosti business analytika jsou dostatečné.
Proto se domnívám, že by měl obchodní analytik dobře rozumět principům tvorby databází SQL a NoSQL, znát SQL alespoň na úrovni tvorby složitých dotazů SELECT a umět provádět různé agregace a výpočty. Měl by také znát datové typy, konstanty a vztahy mezi tabulkami. Pro seniorní úroveň bych přidal potřebu rozumět procesům ETL.
Proč obchodní analytik tyto znalosti a dovednosti potřebuje?
- Nejprve komunikují s klientem a získávají informace o procesech a souvisejících údajích z první ruky. Tam, kde si klient nemusí uvědomovat, že jeho data jsou zpracovávána neefektivně, je to právě business analytik, kdo může navrhnout alternativy. Za architekturu by měl odpovídat architekt (pokud existuje), ale obchodní analytik ji také ovlivňuje, zejména na začátku projektu.
- Za druhé, business analytik vnímá projekt jako celek. Ví, jak by měly jednotlivé části systému vzájemně spolupracovat a co se plánuje do budoucna. To jsou informace, které vývojový tým, a dokonce ani vedoucí týmu, ne vždy zná. Proto může business analytik vidět, že data jsou v současné době uložena nesprávně nebo že nejsou dostatečně podrobná pro budoucnost, a navrhnout změny ještě před zahájením vývoje.
Business analytik může také pomoci týmům správně spolupracovat a synchronizovat procesy, pokud na projektu pracuje více týmů a mají různé postupy práce s daty. Právě business analytik může provádět vzorkování a agregaci dat, když chce klient rychle ověřit určitý problém. Tento specialista přece rozumí obchodním cílům a pozadí problému a dokáže rychle shromáždit potřebné informace, aniž by rozptyloval vývojový tým.
Výhodou znalosti jazyka SQL pro obchodního analytika je tedy možnost napsat mnohem lepší a odolnější požadavky, efektivněji reagovat na změny a společně s klientem studovat výsledky používání softwarového produktu.
Jako obchodní analytik jsem používala SQL 3–4krát týdně v projektu, který byl v aktivním vývoji. Zažila jsem také případ mentoringu v oblasti business analytiky, kdy jsem pomáhala již zkušené kolegyni pochopit nuance jazyka SQL a konstrukce databáze, což jí velmi pomohlo, když přišly další požadavky od klienta.
Mimochodem, v rámci business analýzy existují i samostatné specializace, které vyžadují důkladnou znalost SQL – Data Business Analyst (shromažďuje datové požadavky) a System Analyst (zabývá se systémovými požadavky).“
Data science / Machine learning
Olga Gnatenko, Data Science / Machine Learning Engineer ve společnosti DataArt, říká:
„V oblasti data science může být jazyk SQL vyžadován na velmi vysoké úrovni nebo vůbec ne, v závislosti na projektu. Osobně jsem v poslední době SQL ve své práci téměř nepoužívala, protože zpracováním dat se zabývá samostatný tým.
Většinou však tato specializace vyžaduje dobré znalosti jazyka SQL, a to nejen SELECT, ale také DDL/DML, schopnost „čistit“ data a transformovat je podle svých potřeb. Kromě toho můžeš často potřebovat pracovat s databázemi NoSQL a také s cloudem a daty v něm. Otázky na tato témata se navíc často objevují při pohovorech.“
Autor: Valentina Shymkovich