Ովքե՞ր են տվյալների ինժեներները, և ինչպե՞ս եք դուք դառնում այդպիսին:

Կրկին ողջույն! Հոդվածի վերնագիրն ինքնին խոսում է. Դասընթացի մեկնարկին ընդառաջ Տվյալների ինժեներ Առաջարկում ենք հասկանալ, թե ովքեր են տվյալների ինժեներները: Հոդվածում կան շատ օգտակար հղումներ։ Ուրախ ընթերցանություն:

Ովքե՞ր են տվյալների ինժեներները, և ինչպե՞ս եք դուք դառնում այդպիսին:

Պարզ ուղեցույց այն մասին, թե ինչպես բռնել Տվյալների ինժեներական ալիքը և թույլ չտալ, որ այն ձեզ քաշի դեպի անդունդ:

Թվում է, թե այս օրերին բոլորը ցանկանում են դառնալ տվյալների գիտնական: Բայց ինչ վերաբերում է տվյալների ճարտարագիտությանը: Ըստ էության, սա տվյալների վերլուծաբանի և տվյալների գիտնականի մի տեսակ հիբրիդ է. Տվյալների ինժեները սովորաբար պատասխանատու է աշխատանքային հոսքերի, մշակման խողովակաշարերի և ETL գործընթացների կառավարման համար. Այս գործառույթների կարևորության պատճառով սա ներկայումս ևս մեկ հայտնի մասնագիտական ​​ժարգոն է, որն ակտիվորեն թափ է հավաքում:

Բարձր աշխատավարձերը և մեծ պահանջարկը միայն մի փոքր մասն են այն բանի, ինչը դարձնում է այս աշխատանքը չափազանց գրավիչ: Եթե ​​ցանկանում եք համալրել հերոսների շարքերը, երբեք ուշ չէ սկսել սովորել: Այս գրառման մեջ ես հավաքել եմ բոլոր անհրաժեշտ տեղեկությունները, որոնք կօգնեն ձեզ կատարել ձեր առաջին քայլերը:

Այսպիսով, եկեք սկսենք:

Ի՞նչ է տվյալների ճարտարագիտությունը:

Անկեղծ ասած, չկա ավելի լավ բացատրություն, քան սա.

«Գիտնականը կարող է նոր աստղ հայտնաբերել, բայց չի կարող ստեղծել: Նա պետք է խնդրի ինժեներին, որ դա անի իր փոխարեն»:

-Գորդոն Լինդսի Գլեգ

Այսպիսով, տվյալների ինժեների դերը բավականին նշանակալի է։

Ինչպես անունն է հուշում, տվյալների ճարտարագիտությունը վերաբերում է տվյալներին, մասնավորապես դրանց առաքմանը, պահպանմանը և մշակմանը: Ըստ այդմ, ինժեներների հիմնական խնդիրն է տվյալների համար հուսալի ենթակառուցվածքի ապահովումը։ Եթե ​​նայենք AI-ի կարիքների հիերարխիային, տվյալների ճարտարագիտությունը զբաղեցնում է առաջին 2-3 փուլերը. հավաքագրում, տեղափոխում և պահպանում, տվյալների պատրաստում.

Ովքե՞ր են տվյալների ինժեներները, և ինչպե՞ս եք դուք դառնում այդպիսին:

Ի՞նչ է անում տվյալների ինժեները:

Մեծ տվյալների հայտնվելով պատասխանատվության շրջանակը կտրուկ փոխվել է: Եթե ​​նախկինում այս փորձագետները գրում էին մեծ SQL հարցումներ և թորում էին տվյալներ՝ օգտագործելով այնպիսի գործիքներ, ինչպիսիք են Informatica ETL, Pentaho ETL, Talend, այժմ տվյալների ինժեներների պահանջներն ավելացել են:

Տվյալների ինժեների պաշտոնի համար բաց թափուր աշխատատեղեր ունեցող ընկերություններից շատերն ունեն հետևյալ պահանջները.

  • SQL-ի և Python-ի գերազանց իմացություն։
  • Փորձ ամպային հարթակների, մասնավորապես Amazon Web Services-ի հետ:
  • Java/Scala-ի իմացությունը ցանկալի է։
  • SQL և NoSQL տվյալների բազաների լավ իմացություն (տվյալների մոդելավորում, տվյալների պահեստավորում):

Նկատի ունեցեք, որ սրանք միայն հիմնական բաներն են: Այս ցանկից կարելի է ենթադրել, որ տվյալների ինժեներները ծրագրային ապահովման մշակման և բեքենդի ոլորտի մասնագետներ են։
Օրինակ, եթե ընկերությունը սկսում է մեծ քանակությամբ տվյալներ ստեղծել տարբեր աղբյուրներից, ապա որպես տվյալների ինժեների ձեր խնդիրն է կազմակերպել տեղեկատվության հավաքագրումը, դրա մշակումը և պահպանումը:

Այս դեպքում օգտագործվող գործիքների ցանկը կարող է տարբերվել, ամեն ինչ կախված է այս տվյալների ծավալից, դրա ստացման արագությունից և տարասեռությունից: Ընկերությունների մեծամասնությունն ընդհանրապես չի զբաղվում մեծ տվյալների հետ, ուստի որպես կենտրոնացված պահոց, այսպես կոչված տվյալների պահեստ, կարող եք օգտագործել SQL տվյալների բազան (PostgreSQL, MySQL և այլն)՝ սկրիպտների փոքր հավաքածուով, որոնք սնուցում են տվյալները: պահեստը։

ՏՏ հսկաները, ինչպիսիք են Google-ը, Amazon-ը, Facebook-ը կամ Dropbox-ը, ավելի բարձր պահանջներ ունեն՝ Python-ի, Java-ի կամ Scala-ի իմացություն:

  • Փորձ մեծ տվյալների հետ՝ Hadoop, Spark, Kafka:
  • Ալգորիթմների և տվյալների կառուցվածքների իմացություն:
  • Հասկանալով բաշխված համակարգերի հիմունքները:
  • Տվյալների վիզուալիզացիայի գործիքների հետ աշխատելու փորձը, ինչպիսիք են Tableau-ը կամ ElasticSearch-ը, կլինի առավելություն:

Այսինքն՝ հստակ տեղաշարժ կա դեպի մեծ տվյալներ, մասնավորապես՝ բարձր բեռների տակ դրանց մշակման մեջ։ Այս ընկերությունները մեծացրել են համակարգի սխալների հանդուրժողականության պահանջները:

Տվյալների ինժեներներ ընդդեմ. տվյալների գիտնականներ

Ովքե՞ր են տվյալների ինժեներները, և ինչպե՞ս եք դուք դառնում այդպիսին:
Լավ, դա պարզ և զվարճալի համեմատություն էր (ոչ մի անձնական բան), բայց իրականում դա շատ ավելի բարդ է:

Նախ, դուք պետք է իմանաք, որ շատ երկիմաստություն կա տվյալների գիտնականի և տվյալների ինժեների դերերի և հմտությունների սահմանման մեջ: Այսինքն, դուք հեշտությամբ կարող եք շփոթվել, թե ինչ հմտություններ են անհրաժեշտ տվյալների հաջողակ ինժեներ լինելու համար: Իհարկե, կան որոշակի հմտություններ, որոնք համընկնում են երկու դերերի հետ: Բայց կան նաև մի շարք տրամագծորեն հակառակ հմտություններ:

Տվյալների գիտությունը լուրջ բիզնես է, բայց մենք շարժվում ենք դեպի ֆունկցիոնալ տվյալների գիտության աշխարհ, որտեղ պրակտիկանտները կարող են անել իրենց սեփական վերլուծությունները: Տվյալների խողովակաշարերը և տվյալների ինտեգրված կառուցվածքները միացնելու համար ձեզ անհրաժեշտ են տվյալների ինժեներներ, այլ ոչ թե տվյալների գիտնականներ:

Արդյո՞ք տվյալների ինժեներն ավելի պահանջված է, քան տվյալների գիտնականը:

- Այո, քանի որ նախքան գազարով տորթ պատրաստելը, նախ պետք է գազար հավաքել, մաքրել և պաշարել:

Տվյալների ինժեները ավելի լավ է հասկանում ծրագրավորումը, քան ցանկացած տվյալների գիտնական, բայց երբ խոսքը վերաբերում է վիճակագրությանը, ճիշտ հակառակն է:

Բայց ահա տվյալների ինժեների առավելությունը.

Առանց նրա, նախատիպի մոդելի արժեքը, որն ամենից հաճախ բաղկացած է Python ֆայլի սարսափելի որակի կոդի կտորից, որը ստացվել է տվյալների գիտնականից և ինչ-որ կերպ արդյունք է տալիս, ձգտում է զրոյի:

Առանց տվյալների ինժեների այս կոդը երբեք չի դառնա նախագիծ, և ոչ մի բիզնես խնդիր արդյունավետորեն չի լուծվի: Տվյալների ինժեները փորձում է այս ամենը վերածել արտադրանքի։

Հիմնական տեղեկատվություն, որը պետք է իմանա տվյալների ինժեները

Ովքե՞ր են տվյալների ինժեներները, և ինչպե՞ս եք դուք դառնում այդպիսին:

Այսպիսով, եթե այս աշխատանքը լույս է բերում ձեր մեջ, և դուք խանդավառ եք, կարող եք սովորել այն, կարող եք տիրապետել բոլոր անհրաժեշտ հմտություններին և դառնալ իսկական ռոք աստղ տվյալների ճարտարագիտության ոլորտում: Եվ, այո, դուք կարող եք դա անել նույնիսկ առանց ծրագրավորման հմտությունների կամ այլ տեխնիկական գիտելիքների: Դժվար է, բայց հնարավոր!

Որո՞նք են առաջին քայլերը:

Դուք պետք է ընդհանուր պատկերացում ունենաք, թե ինչն ինչ է:

Առաջին հերթին տվյալների ճարտարագիտությունը վերաբերում է համակարգչային գիտությանը: Ավելի կոնկրետ, դուք պետք է հասկանաք արդյունավետ ալգորիթմներ և տվյալների կառուցվածքներ: Երկրորդ, քանի որ տվյալների ինժեներները աշխատում են տվյալների հետ, անհրաժեշտ է հասկանալ տվյալների բազաների սկզբունքները և դրանց հիմքում ընկած կառուցվածքները:

Օրինակ, սովորական B-tree SQL տվյալների բազաները հիմնված են B-Tree տվյալների կառուցվածքի վրա, ինչպես նաև ժամանակակից բաշխված պահոցներում, LSM-Tree-ում և հեշ աղյուսակների այլ փոփոխություններով:

*Այս քայլերը հիմնված են հիանալի հոդվածի վրա Ադիլյա Խաշտամովա. Այսպիսով, եթե ռուսերեն գիտեք, աջակցեք այս հեղինակին և կարդացեք նրա գրառումը.

1. Ալգորիթմներ և տվյալների կառուցվածքներ

Տվյալների ճիշտ կառուցվածքի օգտագործումը կարող է զգալիորեն բարելավել ալգորիթմի աշխատանքը: Իդեալում, մենք բոլորս պետք է սովորենք մեր դպրոցներում տվյալների կառուցվածքների և ալգորիթմների մասին, բայց դա հազվադեպ է լուսաբանվում: Ամեն դեպքում, երբեք ուշ չէ ծանոթանալու համար։
Այսպիսով, ահա իմ սիրած անվճար դասընթացները տվյալների կառուցվածքները և ալգորիթմները սովորելու համար.

Բացի այդ, մի մոռացեք ալգորիթմների վերաբերյալ Թոմաս Կորմանի դասական աշխատանքի մասին. Ալգորիթմների ներածություն. Սա կատարյալ հղում է, երբ դուք պետք է թարմացնեք ձեր հիշողությունը:

  • Ձեր հմտությունները բարելավելու համար օգտագործեք Leetcode.

Կարող եք նաև սուզվել տվյալների շտեմարանների աշխարհ YouTube-ում Կարնեգի Մելոն համալսարանի զարմանալի տեսանյութերով.

2. Սովորեք SQL

Մեր ամբողջ կյանքը տվյալներ են։ Եվ այս տվյալները տվյալների բազայից հանելու համար հարկավոր է «խոսել» նույն լեզվով:

SQL (Structured Query Language) տվյալների տիրույթում հաղորդակցման լեզուն է: Անկախ նրանից, թե ինչ է ասում, SQL-ն ապրել է, կենդանի է և դեռ շատ երկար է ապրելու:

Եթե ​​դուք երկար ժամանակ մշակման մեջ եք, հավանաբար նկատել եք, որ SQL-ի մոտալուտ մահվան մասին լուրերը պարբերաբար հայտնվում են: Լեզուն մշակվել է 70-ականների սկզբին և դեռ շատ տարածված է վերլուծաբանների, մշակողների և պարզապես էնտուզիաստների շրջանում:
Առանց SQL-ի իմացության, տվյալների ճարտարագիտության մեջ անելիք չկա, քանի որ դուք անխուսափելիորեն պետք է հարցումներ ստեղծեք տվյալների առբերման համար: Բոլոր ժամանակակից մեծ տվյալների պահեստներն աջակցում են SQL.

  • Amazon RedShift
  • HP Vertica
  • Oracle
  • SQL Server

... և շատ ուրիշներ:

Բաշխված համակարգերում պահվող տվյալների մեծ շերտ վերլուծելու համար, ինչպիսիք են HDFS-ը, հորինվել են SQL շարժիչներ՝ Apache Hive, Impala և այլն: Տեսեք, դա ոչ մի տեղ չի գնում:

Ինչպե՞ս սովորել SQL: Պարզապես դա արեք գործնականում:

Դա անելու համար ես խորհուրդ կտայի ստուգել հիանալի ձեռնարկ, որն, ի դեպ, անվճար է Ռեժիմի վերլուծություն.

  1. Միջանկյալ SQL
  2. Տվյալների միացում SQL-ում

Այս դասընթացները առանձնահատուկ են դարձնում այն, որ դրանք ունեն ինտերակտիվ միջավայր, որտեղ դուք կարող եք գրել և գործարկել SQL հարցումները հենց ձեր բրաուզերում: Ռեսուրս Ժամանակակից SQL ավելորդ չի լինի. Եվ դուք կարող եք կիրառել այս գիտելիքները Leetcode առաջադրանքներ Տվյալների բազաներ բաժնում:

3. Ծրագրավորում Python-ում և Java/Scala-ում

Ինչու՞ պետք է սովորել Python ծրագրավորման լեզուն, ես արդեն գրել եմ հոդվածում Python vs R. Ընտրելով AI, ML և Data Science-ի լավագույն գործիքը. Ինչ վերաբերում է Java-ին և Scala-ին, ապա հսկայական քանակությամբ տվյալների պահպանման և մշակման գործիքների մեծ մասը գրված է այս լեզուներով: Օրինակ:

  • Ապաչե Կաֆկա (Սկալա)
  • Hadoop, HDFS (Java)
  • Apache Spark (Scala)
  • Apache Cassandra (Java)
  • HBase (Java)
  • Apache Hive (Java)

Հասկանալու համար, թե ինչպես են աշխատում այս գործիքները, դուք պետք է իմանաք, թե ինչ լեզուներով են դրանք գրված: Scala-ի ֆունկցիոնալ մոտեցումը թույլ է տալիս արդյունավետորեն լուծել տվյալների զուգահեռ մշակման խնդիրները: Python-ը, ցավոք, չի կարող պարծենալ արագությամբ և զուգահեռ մշակմամբ։ Ընդհանուր առմամբ, մի քանի լեզուների և ծրագրավորման պարադիգմների իմացությունը լավ է խնդիրների լուծման մոտեցումների լայնության համար:

Scala լեզվի մեջ սուզվելու համար կարող եք կարդալ Ծրագրավորում Scala-ում լեզվի հեղինակից։ Twitter-ը նաև լավ ներածական ուղեցույց է հրապարակել. Սկալայի դպրոց.

Ինչ վերաբերում է Python-ին, ես հավատում եմ Սահուն Python լավագույն միջին մակարդակի գիրքը.

4. Մեծ տվյալների հետ աշխատելու գործիքներ

Ահա մեծ տվյալների աշխարհում ամենատարածված գործիքների ցանկը.

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

Դուք կարող եք ավելի շատ տեղեկություններ գտնել տվյալների մեծ բլոկների կառուցման մասին այս հրաշքի մեջ ինտերակտիվ միջավայր. Ամենահայտնի գործիքներն են Spark-ը և Kafka-ն: Դրանք միանշանակ արժե ուսումնասիրել, նպատակահարմար է հասկանալ, թե ինչպես են դրանք աշխատում ներսից։ Ջեյ Կրեպսը (Կաֆկայի համահեղինակ) մոնումենտալ աշխատություն է հրատարակել 2013թ Գրանցամատյան. Ինչ պետք է իմանա ծրագրակազմի մշակողը իրական ժամանակի տվյալների հավաքագրման մասինԻ դեպ, այս Թալմուդից հիմնական գաղափարներն օգտագործվել են Ապաչի Կաֆկայի ստեղծման համար։

5. Ամպային հարթակներ

Ովքե՞ր են տվյալների ինժեներները, և ինչպե՞ս եք դուք դառնում այդպիսին:

Առնվազն մեկ ամպային հարթակի իմացությունը տվյալների ինժեների պաշտոնի համար դիմորդների հիմնական պահանջների ցանկում է: Գործատուները նախընտրում են Amazon Web Services-ը, որտեղ երկրորդ տեղում է Google-ի ամպային հարթակը, իսկ լավագույն եռյակը եզրափակում է Microsoft Azure-ը:

Դուք պետք է լավ իմացաք Amazon EC2, AWS Lambda, Amazon S3, DynamoDB:

6. Բաշխված համակարգեր

Մեծ տվյալների հետ աշխատելը ենթադրում է ինքնուրույն գործող համակարգիչների կլաստերների առկայություն, որոնց միջև հաղորդակցությունն իրականացվում է ցանցի միջոցով: Որքան մեծ է կլաստերը, այնքան մեծ է նրա անդամ հանգույցների ձախողման հավանականությունը: Տվյալների մեծ գիտնական դառնալու համար դուք պետք է հասկանաք բաշխված համակարգերի խնդիրները և առկա լուծումները: Այս տարածքը հին է և բարդ։

Էնդրյու Տանենբաումը համարվում է այս ոլորտում առաջամարտիկ։ Նրանց, ովքեր չեն վախենում տեսությունից, խորհուրդ եմ տալիս նրա գիրքը «Բաշխված համակարգեր», սկսնակների համար դա կարող է սարսափելի թվալ, բայց դա իսկապես կօգնի ձեզ կատարելագործել ձեր հմտությունները:

Ես համարում եմ Տվյալների ինտենսիվ հավելվածների նախագծում Մարտին Կլեպմանի կողմից լավագույն ներածական գիրքը. Ի դեպ, Մարտինը հիանալի ունի Օրագիր. Նրա աշխատանքը կօգնի համակարգել գիտելիքները մեծ տվյալների պահպանման և մշակման համար ժամանակակից ենթակառուցվածք կառուցելու վերաբերյալ:
Նրանց համար, ովքեր սիրում են տեսանյութեր դիտել, կա դասընթաց Youtube-ում Բաշխված համակարգչային համակարգեր.

7. Տվյալների խողովակաշարեր

Ովքե՞ր են տվյալների ինժեներները, և ինչպե՞ս եք դուք դառնում այդպիսին:

Տվյալների խողովակաշարերը մի բան են, առանց որի դուք չեք կարող ապրել որպես տվյալների ինժեներ:

Շատ ժամանակ տվյալների ինժեները կառուցում է այսպես կոչված տվյալների խողովակաշար, այսինքն՝ ստեղծում է տվյալների մի տեղից մյուսը փոխանցելու գործընթաց: Սրանք կարող են լինել հատուկ սկրիպտներ, որոնք գնում են արտաքին ծառայության API կամ կատարում են SQL հարցում, ավելացնում են տվյալները և դրանք դնում կենտրոնացված խանութում (տվյալների պահեստ) կամ տվյալների ոչ կառուցվածքային պահեստում (տվյալների լճեր):

Ամփոփելու համար. տվյալների ինժեների հիմնական ստուգաթերթը

Ովքե՞ր են տվյալների ինժեներները, և ինչպե՞ս եք դուք դառնում այդպիսին:

Ամփոփելու համար հարկավոր է լավ հասկանալ հետևյալը.

  • Տեղեկատվական համակարգեր;
  • Ծրագրային ապահովման մշակում (Agile, DevOps, Design Techniques, SOA);
  • Բաշխված համակարգեր և զուգահեռ ծրագրավորում;
  • Տվյալների բազայի հիմունքներ - պլանավորում, նախագծում, շահագործում և խնդիրների վերացում;
  • Փորձերի ձևավորում - A/B թեստեր՝ հասկացությունները ապացուցելու, հուսալիությունը, համակարգի կատարողականությունը որոշելու և լավ լուծումներ արագ տրամադրելու հուսալի ուղիներ մշակելու համար:

Սրանք տվյալների ինժեներ դառնալու պահանջներից ընդամենը մի քանիսն են, այնպես որ սովորեք և հասկանաք տվյալների համակարգերը, տեղեկատվական համակարգերը, շարունակական առաքումը/տեղակայումը/ինտեգրումը, ծրագրավորման լեզուներ և համակարգչային գիտության այլ թեմաներ (ոչ բոլոր առարկայական ոլորտները):

Եվ վերջապես վերջին, բայց շատ կարևոր բանը, որ ուզում եմ ասել.

Տվյալների ինժեներ դառնալու ուղին այնքան էլ պարզ չէ, որքան կարող է թվալ: Նա չի ներում, նա հիասթափեցնում է, և դուք պետք է պատրաստ լինեք դրան: Այս ճանապարհորդության որոշ պահեր կարող են ձեզ մղել հանձնվելու: Բայց սա իրական աշխատանք է և ուսուցման գործընթաց:

Պարզապես մի շաքարավազ այն սկզբից: Ճամփորդության ողջ իմաստը հնարավորինս շատ բան սովորելն է և նոր մարտահրավերներին պատրաստ լինելը:
Ահա մի հիանալի նկար, որը ես հանդիպեցի, որը լավ ցույց է տալիս այս կետը.

Ովքե՞ր են տվյալների ինժեներները, և ինչպե՞ս եք դուք դառնում այդպիսին:

Եվ այո, հիշեք, որ խուսափեք այրումից և հանգստից: Սա նույնպես շատ կարևոր է։ Հաջողություն!

Ի՞նչ կարծիքի եք հոդվածի մասին, ընկերներ: Մենք ձեզ հրավիրում ենք անվճար վեբինար, որը տեղի կունենա այսօր ժամը 20.00-ին։ Վեբինարի ընթացքում մենք կքննարկենք, թե ինչպես կարելի է ստեղծել տվյալների մշակման արդյունավետ և մասշտաբային համակարգ փոքր ընկերության կամ ստարտափի համար նվազագույն գնով: Որպես պրակտիկա՝ մենք կծանոթանանք Google Cloud տվյալների մշակման գործիքներին։ Կտեսնվենք!

Source: www.habr.com

Добавить комментарий