O ai enisinia faʻamaumauga, ma faʻafefea ona avea oe ma tasi?

Talofa fo'i! O le ulutala o le tusiga e tautala mo ia lava. I le fa'atalitali i le amataga o le vasega Inisinia Fa'amaumauga Matou te fautua atu ia e malamalama po o ai enisinia faamatalaga. E tele fesoʻotaʻiga aoga i totonu o le tusiga. Manuia faitau.

O ai enisinia faʻamaumauga, ma faʻafefea ona avea oe ma tasi?

O se taʻiala faigofie i le auala e puʻe ai le Data Engineering wave ma aua le tuʻuina atu e toso oe i totonu o le to.

E foliga mai e manaʻo tagata uma e avea ma Saienitisi Faʻamatalaga i nei aso. Ae faʻafefea Faʻamatalaga Inisinia? O le mea moni, o se ituaiga fa'atosina o se su'ega fa'amaumauga ma se saienitisi fa'amaumauga; O le inisinia fa'amaumauga e masani ona nafa ma le fa'afoeina o galuega, fa'agaioiina o paipa, ma faiga ETL. Ona o le taua o nei galuega, o le taimi nei o se isi faʻamatalaga faʻapolofesa lauiloa o loʻo faʻamalosia malosi.

O totogi maualuluga ma le tele o mana'oga ua na'o se vaega itiiti o le mea e sili ona manaia ai lenei galuega! Afai e te manaʻo e auai i tulaga o toa, e leʻi tuai ona amata aʻoaʻo. I lenei pou, ua ou aoina uma faʻamatalaga talafeagai e fesoasoani ia te oe e fai au laasaga muamua.

O lea ia tatou amata!

O le a le Data Engineering?

O le mea moni, e leai se faʻamatalaga sili atu nai lo lenei:

“E mafai e se saienitisi ona maua se fetu fou, ae e le mafai ona ia faia se fetu. E tatau ona ia talosagaina se inisinia e faia mo ia."

–Gordon Lindsay Glegg

O lea la, o le matafaioi a se inisinia faʻamatalaga e matua taua lava.

E pei ona taʻu mai e le igoa, faʻainisinia faʻamatalaga e popole i faʻamaumauga, e taʻua o lona tuʻuina atu, teuina ma le gaioiga. E tusa ai, o le galuega autu a inisinia o le tuʻuina atu lea o se atinaʻe faatuatuaina mo faʻamaumauga. Afai tatou te vaʻavaʻai i le AI ​​hierarchy o manaʻoga, faʻainisinia faʻamatalaga o loʻo nofoia muamua 2-3 laasaga: aoina, fe'avea'i ma teuina, tapenaga o fa'amaumauga.

O ai enisinia faʻamaumauga, ma faʻafefea ona avea oe ma tasi?

O le a le mea e fai e le inisinia fa'amaumauga?

Faatasi ai ma le oʻo mai o faʻamatalaga tetele, o le lautele o le matafaioi ua suia tele. Afai na tusia muamua e nei tagata tomai faapitoa fesili tetele SQL ma faʻamatalaga faʻamaumauga e faʻaaoga ai meafaigaluega e pei o Informatica ETL, Pentaho ETL, Talend, o lea ua faʻateleina manaʻoga mo inisinia faʻamatalaga.

Ole tele o kamupani o lo'o avanoa avanoa mo le tulaga ole inisinia fa'amaumauga e iai mana'oga nei:

  • Malamalama lelei ile SQL ma le Python.
  • Aafiaga i faʻasalalauga faʻapipiʻi, aemaise Amazon Web Services.
  • Malamalama i Java/Scala sili.
  • Malamalama lelei i faʻamaumauga SQL ma NoSQL (faʻataʻitaʻiga faʻamatalaga, faʻamaumauga faʻamaumauga).

Ia manatua, ua na o mea taua nei. Mai lenei lisi, e mafai ona faʻapea o inisinia faʻamaumauga o ni tagata faʻapitoa i le tulaga o le atinaʻeina o polokalama ma tua.
Mo se faʻataʻitaʻiga, afai e amata e se kamupani ona gaosia le tele o faʻamatalaga mai punaoa eseese, o lau galuega o se inisinia faʻamatalaga o le faʻatulagaina lea o le aoina o faʻamatalaga, o lona gaosiga ma le teuina.

O le lisi o meafaigaluega o loʻo faʻaaogaina i lenei tulaga atonu e eseese, e faʻalagolago uma i le tele o lenei faʻamatalaga, le saoasaoa o lona mauaina ma le heterogeneity. O le tele o kamupani e le o feagai ma faʻamatalaga tetele, o le mea lea i le avea ai o se faleoloa faʻapitoa, o se mea e taʻua o fale teu oloa, e mafai ona e faʻaogaina se database SQL (PostgreSQL, MySQL, ma isi) faʻatasi ai ma se seti o tusitusiga e fafagaina ai faʻamatalaga i totonu. le faleteuoloa.

O tagata tetele IT e pei o Google, Amazon, Facebook poʻo Dropbox e maualuga atu manaʻoga: malamalama i le Python, Java poʻo Scala.

  • Aafiaga i faʻamatalaga tetele: Hadoop, Spark, Kafka.
  • Malamalama i algorithms ma faʻamaumauga faʻamaumauga.
  • Malamalama i fa'avae o faiga fa'asoa.
  • O le poto masani i mea faigaluega faʻamatalaga faʻamatalaga e pei ole Tableau poʻo ElasticSearch o le a faʻaopoopoina.

O lona uiga, o loʻo i ai se suiga manino i faʻamatalaga tetele, e taʻua i lona gaioiga i lalo o uta maualuga. O nei kamupani ua faʻateleina manaʻoga mo le faʻaogaina o faʻaletonu.

Inisinia Fa'amaumauga Vs. saienitisi fa'amaumauga

O ai enisinia faʻamaumauga, ma faʻafefea ona avea oe ma tasi?
Lelei, o se fa'atusatusaga faigofie ma malie (leai se mea patino), ae o le mea moni e sili atu ona faigata.

Muamua, e tatau ona e iloa o loʻo i ai le tele o le le mautonu i le faʻamalamalamaina o matafaioi ma tomai o se saienitisi faʻamaumauga ma se inisinia faʻamatalaga. O lona uiga, e faigofie ona e fenumiai pe o a tomai e manaʻomia e avea ai ma se inisinia faʻamaumauga manuia. O le mea moni, o lo'o i ai ni tomai fa'apitoa e fa'atasi ma matafaioi uma e lua. Ae o lo'o iai fo'i le tele o tomai fa'afeagai fa'afeagai.

Fa'asaienisi fa'amatalaga o se pisinisi ogaoga, ae o lo'o tatou aga'i atu i se lalolagi o fa'amaumauga fa'asaienisi fa'atino e mafai ai e lōia ona fai a latou lava au'ili'iliga. Ina ia mafai ai laina paipa faʻamaumauga ma faʻapipiʻi faʻamaumauga, e te manaʻomia ni inisinia faʻamaumauga, ae le o saienitisi faʻamaumauga.

E sili atu le mana'omia o se inisinia fa'amatalaga nai lo se saienitisi fa'amaumauga?

- Ioe, aua ae e te leʻi faia se keke kāloti, e tatau ona e aoina muamua, paʻu ma faʻaputu kāloti!

E sili atu le malamalama o se inisinia faʻamatalaga polokalame nai lo soʻo se saienitisi faʻamaumauga, ae a oʻo mai i fuainumera, o le faʻafeagai e moni.

Ae o le lelei lenei o se inisinia faʻamatalaga:

A aunoa ma ia, o le tau o le faʻataʻitaʻiga faʻataʻitaʻiga, e masani ona aofia ai se fasi code mataʻutia uiga lelei i totonu o se faila Python, maua mai se saienitisi faʻamaumauga ma maua ai se taunuuga, e foliga mai e leai.

A aunoa ma se inisinia faʻamatalaga, o lenei code o le a le mafai lava ona avea ma se poloketi ma e leai se faʻafitauli faʻapisinisi o le a foia lelei. O loʻo taumafai le inisinia faʻamatalaga e faʻaliliu uma nei mea i se oloa.

Fa'amatalaga autu e tatau ona iloa e se inisinia fa'amatalaga

O ai enisinia faʻamaumauga, ma faʻafefea ona avea oe ma tasi?

O lea la, afai o lenei galuega e faʻaalia ai le malamalama i totonu ia te oe ma e te fiafia - e mafai ona e aʻoaʻoina, e mafai ona e aʻoaʻoina uma tomai manaʻomia ma avea ma se fetu papa i le matata o faʻamatalaga inisinia. Ma, ioe, e mafai ona e toso ese lenei mea e tusa lava pe leai ni tomai faʻapolokalame poʻo isi poto faʻapitoa. E faigata, ae mafai!

O a laasaga muamua?

E tatau ona i ai sou manatu lautele o le a le mea.

Muamua lava, Faʻamatalaga Inisinia e faʻatatau ile faʻasaienisi komepiuta. Aemaise lava, e tatau ona e malamalama lelei algorithms ma faʻamaumauga faʻamaumauga. Lona lua, talu ai e galulue faʻainisinia faʻamaumauga ma faʻamaumauga, e tatau ona malamalama i mataupu faavae o faʻamaumauga ma fausaga e faʻavae ai.

Mo se faʻataʻitaʻiga, faʻamaumauga masani B-tree SQL e faʻavae i luga o le B-Tree faʻamaumauga faʻamaumauga, faʻapea foʻi ma, i fale faʻasalalau faʻaonaponei, LSM-Tree ma isi suiga o laulau hash.

* O laasaga nei e faʻavae i luga o se tusiga sili Adilya Khashtamova. O lea, afai e te iloa Rusia, lagolago lenei tusitala ma faitau lana pou.

1. Algorithms ma faʻamaumauga faʻamaumauga

O le faʻaaogaina o le faʻatulagaina o faʻamaumauga saʻo e mafai ona faʻaleleia atili ai le faʻatinoga o se algorithm. O le mea lelei, e tatau ona tatou aʻoaʻoina uma e uiga i faʻamaumauga faʻamaumauga ma algorithms i totonu oa tatou aʻoga, ae e seasea ona ufiufi. Po o le a lava le tulaga, e le o tuai ona e faamasani.
O lea la o aʻu aʻoaʻoga saoloto e sili ona ou fiafia i ai mo le aʻoaʻoina o faʻamaumauga ma algorithms:

Ae aua nei galo e uiga i galuega masani a Thomas Corman i algorithms - Folasaga ile Algorithms. Ole fa'amatalaga lelei lea pe a mana'omia le toe fa'afouina o lou manatua.

  • Ina ia faʻaleleia ou tomai, faʻaaoga Leetcode.

E mafai foi ona e maulu i le lalolagi o faʻamaumauga faʻatasi ma ata ofoofogia mai le Iunivesite o Carnegie Mellon i luga o Youtube:

2. Aoao le SQL

O lo tatou olaga atoa o faʻamaumauga. Ma ina ia mafai ona aveese mai nei faʻamatalaga mai le database, e tatau ona e "tautala" i le gagana lava e tasi.

SQL (Structured Query Language) o le gagana o feso'ota'iga i totonu o fa'amaumauga. Po o le a lava le mea e fai mai ai se tasi, ua ola SQL, o loʻo ola, ma o le a ola mo se taimi umi lava.

Afai ua leva ona e atina'e, masalo ua e maitauina o tala e uiga i le lata mai o le oti o SQL e oso i luga i lea taimi ma lea taimi. O le gagana na atiaʻe i le amataga o le 70s ma o loʻo taʻutaʻua pea i le au suʻesuʻe, atinaʻe ma tagata fiafia.
A aunoa ma le malamalama i le SQL e leai se mea e fai i le inisinia faʻamatalaga aua o le a mautinoa lava e te faia ni fesili e toe aumai ai faʻamatalaga. O fale teu oloa tetele faʻaonapo nei e lagolagoina le SQL:

  • Amazon RedShift
  • HP Vertica
  • Oracle
  • Tūmau SQL

... ma le tele o isi.

Ina ia faʻavasega se vaega tele o faʻamaumauga o loʻo teuina i totonu o faʻasalalauga faʻasalalau e pei o le HDFS, na faia ai masini SQL: Apache Hive, Impala, ma isi. Vaʻai, e le o alu i se mea.

E faʻafefea ona aʻoaʻoina SQL? Na'o le fa'atinoina.

Ina ia faia lenei mea, ou te fautuaina le siakiina o se aʻoaʻoga sili ona lelei, lea, i le ala, e leai se totogi, mai Fa'amatalaga Fa'atatau.

  1. SQL Intermediate
  2. Fa'atasia Fa'amaumauga ile SQL

O le a le mea e faʻapitoa ai nei kosi ona o loʻo i ai se siosiomaga fesoʻotaʻi e mafai ai ona e tusia ma faʻatautaia fesili SQL i totonu o lau suʻega. Punaoa SQL fa'aonaponei o le a le soona fai. Ma e mafai ona e faʻaaogaina lenei malamalama i Letcode galuega i le vaega o Fa'amaumauga.

3. Polokalama i le Python ma Java/Scala

Aisea e tatau ai ona e aʻoaʻoina le Python programming language, ua uma ona ou tusia i le tusiga Python vs R. Filifilia o le Meafaigaluega Sili mo AI, ML ma Fa'amatalaga Saienisi. A oʻo mai i Java ma Scala, o le tele o meafaigaluega mo le teuina ma le faʻaogaina o le tele o faʻamaumauga o loʻo tusia i nei gagana. Faataitaiga:

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

Ina ia malamalama pe faʻapefea ona galue nei meafaigaluega, e tatau ona e iloa gagana o loʻo tusia ai. Ole auala fa'atino a Scala e mafai ai ona e fo'ia lelei fa'afitauli o fa'amaumauga o fa'amaumauga. O le Python, o le mea e leaga ai, e le mafai ona mitamita i le saoasaoa ma le gaioiga tutusa. I se tulaga lautele, o le malamalama i le tele o gagana ma polokalame faʻataʻitaʻiga e lelei mo le lautele o auala e foia ai faʻafitauli.

Ina ia maulu i le gagana Scala, e mafai ona e faitau Polokalama i Scala mai le tusitala o le gagana. Na lomia foʻi e Twitter se taʻiala faʻalauiloa lelei - Aoga Scala.

Ae mo Python, ou te talitonu Pitoni lelei tusi tulaga ogatotonu sili.

4. Meafaigaluega mo le galue i faʻamatalaga tetele

O se lisi lenei o meafaigaluega sili ona lauiloa i le lalolagi o faʻamatalaga tetele:

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

E mafai ona e mauaina nisi faʻamatalaga e uiga i le fausiaina o poloka faʻamaumauga tetele i lenei ofoofogia siosiomaga fegalegaleai. O meafaigaluega sili ona lauiloa o Spark ma Kafka. E mautinoa lava e aoga le suʻesuʻeina, e fautuaina e malamalama pe faʻapefea ona latou galulue mai totonu. O Jay Kreps (tusitala faʻatasi a Kafka) na lolomiina se galuega tele i le 2013 Le Fa'amaumauga: O Mea e Tatau Ona Iloa e Tagata Ta'itasi Fa'atonu Komepiuta E uiga i le Fa'aputuga o Fa'amaumauga o Fa'amaumauga MoniI le ala, o manatu autu mai lenei Talmud na faʻaaogaina e fatu ai Apache Kafka.

5. Tulaga ao

O ai enisinia faʻamaumauga, ma faʻafefea ona avea oe ma tasi?

O le malamalama i le itiiti ifo ma le tasi le cloud platform o loʻo i luga o le lisi o manaʻoga masani mo tagata talosaga mo le tulaga o le inisinia faʻamatalaga. E sili atu le aufaigaluega i le Amazon Web Services, ma Google's cloud platform i le tulaga lua ma Microsoft Azure e fa'ata'amilo i le tolu pito i luga.

E tatau ona i ai lou malamalama lelei ile Amazon EC2, AWS Lambda, Amazon S3, DynamoDB.

6. Fa'asoaina faiga

O le galulue fa'atasi ma fa'amatalaga tetele e fa'aalia ai le i ai o fuifui o komepiuta fa'aogaina tuto'atasi, feso'ota'iga i le va o lo'o fa'atinoina i luga o se feso'otaiga. O le tele o le fuifui, o le tele foi lea o le avanoa o le toilalo o ona pona sui. Ina ia avea ma se saienitisi faʻamatalaga sili, e tatau ona e malamalama i faʻafitauli ma fofo o loʻo i ai mo faiga tufatufaina. O lenei nofoaga e tuai ma lavelave.

Andrew Tanenbaum ua manatu o se paionia i lenei matata. Mo i latou e le fefefe i aʻoaʻoga, ou te fautuaina lana tusi "Faiga Fa'asoa", atonu e foliga faigata mo tagata amata, ae o le a fesoasoani tele ia te oe e faʻaleleia ou tomai.

Ou te manatu Fuafuaina o Talosaga Fa'atonu Fa'amaumauga a Martin Kleppmann tusi tomua sili. I le ala, e lelei tele Matini blog. O lana galuega o le a fesoasoani i le faʻatulagaina o le malamalama e uiga i le fausiaina o atinaʻe faʻaonaponei mo le teuina ma le faʻaogaina o faʻamatalaga tetele.
Mo i latou e fiafia e matamata i vitio, o loʻo i ai se vasega ile Youtube Fa'asoa fa'akomepiuta faiga.

7. Pipa fa'amaumauga

O ai enisinia faʻamaumauga, ma faʻafefea ona avea oe ma tasi?

Fa'amatalaga paipa o se mea e le mafai ona e ola e aunoa ma se enisinia fa'amaumauga.

O le tele o taimi, e fausia ai e se inisinia faʻamaumauga se mea e taʻua o le pipeline, o lona uiga, na te faia se faagasologa mo le tuʻuina atu o faʻamatalaga mai le tasi nofoaga i le isi. O nei mea e mafai ona avea ma faʻamaumauga masani e alu i le API a le auʻaunaga i fafo pe fai se SQL query, faʻaopoopo le faʻamaumauga, ma tuʻu i totonu o se faleoloa faʻapitoa (faleteuoloa faʻamaumauga) poʻo se faleoloa faʻamaumauga e leʻi faʻatulagaina (data vaituloto).

I se aotelega: le lisi siaki autu mo se inisinia faʻamatalaga

O ai enisinia faʻamaumauga, ma faʻafefea ona avea oe ma tasi?

I se aotelega, e manaʻomia le malamalama lelei i mea nei:

  • Faiga Fa'amatalaga;
  • Atina'e polokalame (Agile, DevOps, Design Techniques, SOA);
  • Fa'asoaina faiga ma polokalame tutusa;
  • Fa'avae Fa'amaumauga - Fuafuaga, Fuafuaga, Fa'agaioiga ma Fa'afitauli;
  • Fuafuaga o suʻesuʻega - A/B suʻega e faʻamaonia ai manatu, faʻamautinoa le faʻamaoni, faʻatinoga o faiga, ma atiina ae auala faʻalagolago e tuʻuina vave fofo lelei.

O nai mea ia e mana'omia e avea ai ma se inisinia fa'amaumauga, o lea ia a'oa'o ma malamalama i faiga fa'amaumauga, faiga fa'amatalaga, fa'aauau le tu'uina atu/fa'apipi'i/tu'ufa'atasia, gagana fa'apolokalame, ma isi mataupu fa'asaienisi komepiuta (e le o mataupu uma).

Ma le mea mulimuli, o le mea mulimuli ae sili ona taua ou te fia fai atu ai.

Ole ala ile avea ma Data Engineering e le faigofie pei ona foliga mai. Na te le faamagalo, na te le fiafia, ma e tatau ona e saunia mo lenei mea. O nisi taimi i lenei malaga e ono uuna'ia ai oe e fiu. Ae o se galuega moni ma o se faagasologa o le aoaoina.

Aua le fa'asusu mai le amataga. O le uiga atoa o le faimalaga o le aʻoaʻoina i le tele e mafai ai ma sauni mo luitau fou.
O se ata sili lea na ou mauaina e faʻaalia lelei ai lenei manatu:

O ai enisinia faʻamaumauga, ma faʻafefea ona avea oe ma tasi?

Ma ioe, manatua e aloese mai le mu ma malolo. E taua tele foi lenei mea. Manuia lava!

O le a sou manatu i le tusiga, uo? Matou te valaaulia oe e webinar saoloto, lea o le a faia i le aso i le 20.00. I le taimi o le webinar, o le a tatou talanoaina pe faʻafefea ona fausia se faiga faʻaogaina lelei ma faʻaogaina mo se kamupani laʻititi poʻo se amataga i se tau maualalo. O se fa'ata'ita'iga, o le a tatou fa'amasani i Google Cloud fa'amaumauga meafaigaluega. Feiloai mulimuli ane!

puna: www.habr.com

Faaopoopo i ai se faamatalaga