Kes on andmeinsenerid ja kuidas neist saavad?

Tere jĂ€lle! Artikli pealkiri rÀÀgib enda eest. Kursuse alguse eel „Andmeinsener“ pakume vĂ€lja selgitada, kes need andmeinsenerid tegelikult on. Artiklis on palju kasulikke lingid. Head lugemist.

Kes on andmeinsenerid ja kuidas neist saavad?

Lihtne juhend, kuidas haarata andmeinseneri laine ja mitte lasta end sellega allasuunata.

Tundub, et tĂ€napĂ€eval soovib igaĂŒks saada andmeanalĂŒĂŒtikuks (Data Scientist). Aga kuidas on andmeinsenerimisega? Sisuliselt on see teatud tĂŒĂŒpi andmeanalĂŒĂŒtiku ja andmeinseneri hĂŒbriid; andmeinsener vastutab tavaliselt töövoogude, töötlemiskonveierite ja ETL-protsesside haldamise eest.Kuna nende funktsioonide tĂ€htsus on praegu tegemist jĂ€rjekordse populaarse professionaalse ĆŸargooniga, mis on aktiivselt kasvanud.

KÔrge palk ja tohutu nÔudlus on vaid vÀike osa sellest, mis muudab selle töö erakordselt atraktiivseks! Kui soovite liituda kangelaste ridadega, pole kunagi hilja Ôppima hakata. Selles postituses olen kogunud kogu vajaliku teabe, et aidata teil teha esimesed sammud.

Nii et alustame!

Mis on andmete inseneritehnika?

Ausalt öeldes ei ole selle kohta paremat selgitust kui see:

„Teadlane vĂ”ib avada uue tĂ€he, kuid ei saa seda luua. Ta peab paluma inseneril seda tema eest teha.”

–Gordon Lindsay Glegg

Seega on andmete inseneri roll piisavalt oluline.

Nagu nimest jĂ€reldub, on andmete inseneritehnika seotud andmetega, nimelt nende edastamise, salvestamise ja töötlemisega. Vastavalt on inseneride peamine ĂŒlesanne tagada andmete usaldusvÀÀrne infrastruktuur. Kui vaatame tehisintellekti vajaduste hierarhiat, hĂ”lmab andmete inseneritehnika esimesi 2–3 etappi: kogumine, liikumine ja salvestamine, andmete ettevalmistamine.

Kes on andmeinsenerid ja kuidas neist saavad?

Mida teeb andmete insener?

Koos suurandmete tulekuga on vastutusalad jĂ€rsult muutunud. Kui varem kirjutasid need eksperdid suuri SQL-pĂ€ringuid ja edastasid andmeid selliste tööriistade abil nagu Informatica ETL, Pentaho ETL, Talend, siis nĂŒĂŒd on nĂ”udmised andmete inseneritehnikute osas tĂ”usnud.

Enamik ettevÔtteid, kellel on avatud andmete inseneri ametikohad, esitavad jÀrgmised nÔudmised:

  • SuurepĂ€rane SQL ja Python'i tundmine.
  • Kogemus pilveplatvormidega, eelkĂ”ige Amazon Web Servicesiga.
  • Eelistatav on Java/Scala tundmine.
  • Hea arusaam SQL ja NoSQL andmebaasidest (andmemudelite loomine, andmete salvestamine).

Pange tÀhele, et see on ainult kÔige vajalik. Sellest nimekirjast vÔib jÀreldada, et andmete insenerid on tarkvaraarenduse ja backend'i spetsialistid.
NĂ€iteks kui ettevĂ”te hakkab genereerima suurt hulka andmeid erinevatest allikatest, on teie ĂŒlesanne andmete insenerina korraldada teabe kogumine, töötlemine ja salvestamine.

Kasutatavate tööriistade nimekiri vÔib varieeruda, sÔltuvalt andmete mahust, nende saabumise kiirusest ja mitmekesisusest. Enamik ettevÔtteid ei puutu kokku suurte andmetega, seetÔttu vÔib keskse ladustamise, nn andmehoidla, jaoks kasutada SQL andmebaasi (PostgreSQL, MySQL jne) koos vÀikese skriptikogumiga, mis suunab andmed ladustamisele.

IT-hiiglased nagu Google, Amazon, Facebook vÔi Dropbox esitavad kÔrgemaid nÔudeid: oskus Pythonit, Java't vÔi Scala't.

  • Kogemus suurte andmetega: Hadoop, Spark, Kafka.
  • Tuntud algoritmid ja andmestruktuurid.
  • Arusaamine jaotatud sĂŒsteemide pĂ”hitĂ”dedest.
  • Kogemus andmete visualiseerimise tööriistadega, nagu Tableau vĂ”i ElasticSearch, on suur eelis.

See tĂ€hendab, et on selge suundumus suurte andmete, eriti nende töötlemise, suunas suurte koormuste korral. Nendel ettevĂ”tetel on kĂ”rgemad nĂ”uded sĂŒsteemi töökindlusele.

Andmeinsenerid vs andmeadlased

Kes on andmeinsenerid ja kuidas neist saavad?
HÀsti, see oli lihtne ja naljakas vÔrdlus (mitte midagi isiklikku), kuid tegelikult on see palju keerulisem.

Esiteks peate teadma, et andmeadlase ja andmeinseneri rollide ning oskuste mÀÀratlemisel on piisavalt segadust. See tÀhendab, et te vÔite kergesti segadusse minna, millised oskused on andmeinseneri edukaks saavutamiseks vajalikud. Loomulikult on teatud oskused, mis kattuvad mÔlema rolliga. Kuid on ka terve rida diametraalselt vastupidiseid oskusi.

Andmete teadus on tĂ”sine asi, kuid me liigume funktsionaalse andmete teaduse maailma, kus praktikud suudavad teha oma analĂŒĂŒsi. Andmevoogude ja integreeritud andmestruktuuride kaasamiseks on teil vaja andmeinsenere, mitte teadlasi.

Kas andmeinsener on nÔutavam kui andmeadlase?

— Jah, sest enne kui saate valmistada porgandikooki, peate kĂ”igepealt koguma, puhastama ja porgandi varuma!

Andmeinsener tunneb programmeerimist paremini kui ĂŒkski andmeadlase, kuid kui asi puudutab statistikat, on kĂ”ik vastupidi.

Aga siin on andmeinseneri eelis:

Ilma seda, prototĂŒĂŒbi mudeli vÀÀrtus, mis koosneb kĂ”ige sagedamini halva kvaliteediga koodilĂ”igust Pythonis, mis on saadud andeteadlase kĂ€est ja kuidagi tulemusi saavutab, kipub olema null.

Ilma andmeinsenerita ei muutu see kood kunagi projektiks ja ĂŒkski Ă€riprobleem ei saa tĂ”husalt lahendatud. Andmeinsener pĂŒĂŒab sellest kĂ”ik toote kujundada.

Peamised teadmised, mida andmeinsener peab teadma

Kes on andmeinsenerid ja kuidas neist saavad?

Nii et kui see töö Ă€ratab sinus valgust ja oled tĂ€ielikult entusiastlik — sa suudad seda Ă”ppida, vĂ”id omandada kĂ”ik vajalikud oskused ja saada tĂ”eliseks rockstaariks andmete arendamise valdkonnas. Ja jah, saad seda teha ka ilma programmeerimisoskuste vĂ”i muude tehniliste teadmisteta. See on keeruline, kuid vĂ”imalik!

Mis on esimesed sammud?

Pead olema ĂŒldine ĂŒlevaade, mis tĂ€hendab mida.

Esiteks, andmeinseneria kuulub arvutiteaduse valdkonda. TĂ€psemalt — sa pead mĂ”istma tĂ”husat algoritmide ja andmestruktuuride kasutust. Teiseks, kuna andmeinsenerid töötavad andmetega, on vajalik mĂ”ista andmebaaside töö pĂ”himĂ”tteid ja nende aluseks olevate struktuuride funktsiooni.

NÀiteks tavapÀrased B-puu SQL andmebaasid pÔhinevad B-puu andmestruktuuril ning moodsates jaotatud hoidlates LSM-puul ja muudel hash-tabelite modifikatsioonidel.

* Need sammud pÔhinevad suurepÀrasel artiklil Adil Hashtamova. Nii et kui sa tead vene keelt, toeta seda autorit ja loe tema postitust.

1. Algoritmid ja andmestruktuurid

Õige andmestruktuuri kasutamine vĂ”ib oluliselt parandada algoritmi jĂ”udlust. Ideaalses olukorras peaksime kĂ”ik Ă”ppima andmestruktuure ja algoritme meie koolides, aga see on harva kunagi kĂ€sitletud. Igatahes, tutvumine ei ole kunagi liiga hilja.
Nii et siin on minu lemmik tasuta kursused andmestruktuuride ja algoritmide Ôppimiseks:

Lisaks Ă€ra unusta Thomas H. Cormen'i klassikalist teost — Algoritmide sissejuhatus. See on ideaalne kĂ€siraamat, kui vajad oma mĂ€lu vĂ€rskendamist.

  • Oma oskuste parandamiseks kasuta Leetcode.

Sa saad samuti sukelduda andmebaaside maailma Carnegie Melloni Ülikooli suurepĂ€raste Youtube'i videote kaudu:

2. SQL-i Ôppimine

Meie elu on andmed. Ja et neid andmeid andmebaasist vĂ€lja tuua, peate nendega 'rÀÀkima' ĂŒhes keeles.

SQL (Structured Query Language — struktureeritud pĂ€ringute keel) on suhtlemiskeel andmete valdkonnas. ÜkskĂ”ik, mida keegi ĂŒtleb, on SQL eksisteerinud, eksisteerib ja eksisteerib veel kaua.

Kui olete pikka aega arenduses olnud, olete tĂ”enĂ€oliselt mĂ€rganud, et kuuldused SQL-i eelseisvast surmast ilmuvad perioodiliselt. Keel loodi 70. aastate alguses ja on endiselt ĂŒlimalt populaarne analĂŒĂŒtikute, arendajate ja lihtsalt entusiastide seas.
Ilma SQL-i teadmata andmeinseneri töös ei saa hakkama, kuna kindlasti peate looma pÀringuid andmete vÀljavÔtmiseks. KÔik kaasaegsed suurandmete hoidlad toetavad SQL-i:

  • Amazon Redshift
  • HP Vertica
  • Oracle
  • SQL Server


 ja paljud teised.

Suurte andmekihte analĂŒĂŒsima, mis on salvestatud jaotatud sĂŒsteemides, nagu HDFS, on vĂ€lja töötatud SQL-mehhanismid: Apache Hive, Impala jne. NĂ€hes, ta ei kavatse kuhugi minna.

Kuidas Ôppida SQL-i? Lihtsalt praktiseerige seda.

Selleks soovitaksin tutvuda suurepÀrase tasuta Ôpikuga, mille on koostanud Mode Analytics.

  1. SQL-i kesktase
  2. Andmete ĂŒhendamine SQL-is

Nende kursuste eristavaks jooneks on interaktiivne keskkond, kus saate otse brauseris SQL-pĂ€ringuid kirjutada ja kĂ€ivitada. Ressurss Modern SQL ei ole ĂŒleliigne. Ja vĂ”ite neid teadmisi rakendada Leetcode'i ĂŒlesannetes andmebaaside kategoorias.

3. Programmeerimine Pythonis ja Java/Scala

Miks tasub Ôppida programmeerimiskeelt Python, olen juba kirjutanud artiklis Python vs R. Parima tööriista valimine AI, ML ja andmete teaduse jaoks. Mis puutub Java ja Scala, siis enamik suuri andmete salvestamise ja töötlemise tööriistu on kirjutatud nendes keeltes. NÀiteks:

  • Apache Kafka (Scala)
  • Hadoop, HDFS (Java)
  • Apache Spark (Scala)
  • Apache Cassandra (Java)
  • HBase (Java)
  • Apache Hive (Java)

EttevĂ”tte tööriistade mĂ”istmiseks peate teadma, millistes keeltes need on kirjutatud. Scala funktsionaalne lĂ€henemine vĂ”imaldab tĂ”husalt lahendada suurte andmete töötlemise ĂŒlesandeid. Kahjuks ei saa Python uhkustada kiirus ja paralleelne töötlemine. Üldiselt mĂ”jutab mitme keele ja programmeerimismudeli tundmine positiivselt probleemide lahendamise lĂ€henemisviise.

Scala keele Ă”ppimiseks vĂ”ite lugeda Scala programmeerimine keele autori poolt. Samuti on Twitter vĂ€lja andnud hea sissejuhatava juhendi — Scala Kool.

Mis puutub Pythonisse, siis ma usun, et Sujuv Python on parim keskastme raamat.

4. Suurte andmete tööriistad

Siin on nimekiri kÔige populaarsematest tööriistadest suurte andmete maailmas:

  • Apache Spark
  • Apache Kafka
  • Apache Hadoop (HDFS, HBase, Hive)
  • Apache Cassandra

Rohkem teavet suurte andmete plokkide ehitamise kohta leiate sellest hĂ€mmastavast interaktiivsest keskkonnast. KĂ”ige populaarsemad tööriistad on Spark ja Kafka. Neid tasub kindlasti Ă”ppida, soovitatav on mĂ”ista, kuidas need seestpoolt töötavad. Jay Kreps (Kafka kaasautor) avaldas 2013. aastal monumentaalse töö The Log: mida iga tarkvaraarendaja peaks teadma reaalajas andmete ĂŒhendamise abstraktsioonist, muide, selle Talmudi pĂ”hiteemadest kasutati Apache Kafka loomisel.

5. Pilvplatvormid

Kes on andmeinsenerid ja kuidas neist saavad?

Algselt ĂŒhe pilvplatvormi tundmine on andmeinseneri ametikoha taotlejatelt nĂ”utavate pĂ”hikriteeriumide seas. Tööandjad eelistavad Amazon Web Services'i, teisel kohal on Google'i pilvplatvorm ja kolmandat kohta hoiab Microsoft Azure.

Te peate hÀsti orienteeruma Amazon EC2, AWS Lambda, Amazon S3, DynamoDB.

6. Jagatud sĂŒsteemid

Suurte andmete töötamine eeldab sĂ”ltumatute arvutiklusterite olemasolu, mille vahel toimub suhtlus vĂ”rgu kaudu. Mida suurem on kluster, seda suurem on tĂ”enĂ€osus, et selle liikmete sĂ”lmed ebaĂ”nnestuvad. SuurepĂ€rase andmeeksperdiks saamiseks peate sĂŒvenema jagatud sĂŒsteemide probleemidesse ja olemasolevatesse lahendustesse. See valdkond on vana ja keeruline.

Andrew Tanenbaum on tuntud valdkonna pioneer. Neile, kes ei karda teooriat, soovitan tema raamatut «Jaotatud sĂŒsteemid», algajatele vĂ”ib see tunduda keeruline, kuid see aitab tĂ”eliselt oma oskusi teravustada.

Pean «AndmepÔhiste rakenduste projekteerimine» autoriks Martin Kleppmann parimaks sissejuhatavaks raamatuks. Muide, Martinil on suurepÀrane blogi. Tema töö aitab struktureerida teadmisi kaasaegse infrastruktuuri loomise kohta, et talletada ja töödelda suuri andmeid.
Neile, kes armastavad videoid vaadata, on YouTube'is kursus Jaotatud arvutisĂŒsteemid.

7. AndmevÔrgud

Kes on andmeinsenerid ja kuidas neist saavad?

AndmevÔrgud on see, ilma milleta ei saa elada andmeinsenerina.

Suur osa ajast loob andmeinsener nn andmevoo, st loob andmete edastamise protsessi ĂŒhest kohast teise. Need vĂ”ivad olla kasutajaskenaariumid, mis saadavad API vĂ€listeenusele vĂ”i teevad SQL-pĂ€ringu, tĂ€iustavad andmeid ja paigutavad need kesksetesse andmehoidlatestesse (andmehoidlad) vĂ”i struktureerimata andmete hoidlatesse (andmejĂ€rved).

KokkuvÔtteks: andmeinseneri pÔhikontrollnimekiri

Kes on andmeinsenerid ja kuidas neist saavad?

KokkuvÔttes on vajalik hea arusaam jÀrgmistest:

  • Teabe sĂŒsteemidest;
  • Tarkvaraarendus (Agile, DevOps, disainitehnikad, SOA);
  • Jaotatud sĂŒsteemidest ja paralleelsest programmeerimisest;
  • Andmebaaside pĂ”hialustest — planeerimine, projekteerimine, kĂ€itamine ja tĂ”rkeotsing;
  • Eksperimentide projekteerimine — A/B-testimine kontseptsioonide tĂ”estamiseks, sĂŒsteemide usaldusvÀÀrsuse ja jĂ”udluse mÀÀramiseks, samuti usaldusvÀÀrsete viiside vĂ€ljatöötamiseks hea lahenduse operatiivseks pakkumiseks.

Need on vaid mĂ”ned nĂ”uded andmeinseneriks saamiseks, seetĂ”ttu uurige ja tutvuge andmesĂŒsteemide, teabesĂŒsteemide, pideva tarnimise/paigaldamise/integratsiooni, programmeerimiskeelte ja muude infotehnoloogia valdkondadega (kuna mitte kĂ”ikidelt Ă”ppeainetelt).

Ja lÔpuks, viimane, kuid vÀga tÀhtis asi, mida soovin öelda.

Andmete inseneriks saamise tee ei ole sugugi lihtne, nagu vÔib arvata. See ei tee armu, frustratsioon on pidev kaaslane ning peate olema selleks valmis. Silmas pidage, et teatud hetked selles teekonnas vÔivad teid kÔik lÔpetama sundida. Kuid see on tÔeline töö ja Ôppimisprotsess.

Lihtsalt Àrge ilusate sÔnadega alusta. Kogu teekonna mÔte on Ôppida nii palju kui vÔimalik ja olla uutele vÀljakutsetele avatud.
Siin on suurepÀrane pilt, millega ma kokku puutusin ja mis illustreerib seda momenti hÀsti:

Kes on andmeinsenerid ja kuidas neist saavad?

Ja jah, Àrge unustage vÀltida lÀbipÔlemist ja puhata. See on samuti vÀga oluline. Edu!

Kuidas teile artikkel meeldis, sÔbrad? Ootame teid tasuta veebinarile, which is taking place today at 20:00. During the webinar, we will discuss how to build an efficient and scalable data processing system for a small company or startup with minimal costs. As a part of the practice, we will get to know Google Cloud data processing tools. See you there!which is taking place today at 20:00. During the webinar, we will discuss how to build an efficient and scalable data processing system for a small company or startup with minimal costs. As a part of the practice, we will get to know Google Cloud data processing tools. See you there!

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster