12-р сарын эхээр би хөгжүүлэгчийн хувьд амьдралынхаа эргэлтийн цэг болсон хувь тавилантай алдаа гаргаж, компани доторх Data Engineering (DE) багт элссэн. Энэ нийтлэлд би DE-ийн баг дээр ажилласан хоёр сарын хугацаанд хийсэн зарим ажиглалтаа хуваалцах болно.

Яагаад Data Engineering?
DE дахь миний аялал 2019 оны зун эхэлсэн -руу явцгаая , тэгээд би гэгээрэлд хүрсэн. Би энэ сэдвийг сонирхож, алгоритм, тэр байтугай тэдгээрийн талаар судалж эхэлсэн. , дараа нь би хэрэглээний талбарын талаар бодож, манай компанид практик хэрэглээ нь мэдээллийн сан тараагдсан болохыг хурдан олж мэдэв.
Тэгвэл манай баг яг юу хийдэг вэ? Бид бүх загварлаг залуус, охидын нэгэн адил өгөгдөлд суурилсан компани болохыг хүсдэг. Үүнийг боломжтой болгохын тулд бид дор хаяж компанид шаардлагатай аливаа тайланг гаргах чадвартай найдвартай мэдээллийн агуулах байгуулах хэрэгтэй. Гэхдээ хамгийн чухал нь энэ агуулахад байгаа өгөгдөлд итгэлтэй байх ёстой. Түүнчлэн, бид энэ өгөгдлийг ашиглан тухайн цаг хугацааны системийн төлөвийг сэргээх чадвартай байх шаардлагатай. Энэ бүхэн нь бид бичил үйлчилгээний эрэлхэг шинэ ертөнцөд амьдарч байгаа нь төвөгтэй бөгөөд энэхүү үзэл суртал нь үйлчилгээ бүр өөрийн гэсэн жижиг функцийг хэрэгжүүлдэг, мэдээллийн сан нь өөрийн бизнес бөгөөд үүнийг өдөр бүр устгаж чаддаг гэсэн үг юм. Гэсэн хэдий ч бид үйлчилгээний төлөвийг олж авах, боловсруулах чадвартай байх ёстой.
Хэрэв та өгөгдөлд хөтлөгдөхийг хүсч байвал эхлээд үйл явдалд тулгуурлаарай.
Энэ тийм ч энгийн зүйл биш. Үйл явдлууд өөр өөр хэлбэрээр ирдэг бөгөөд хөгжүүлэгчид болон мэдээллийн инженерүүд өөр өөрөөр хардаг. Үйл явдал бол тусдаа нийтлэлийн сэдэв тул би энд ярихгүй. Түүнээс гадна ийм нийтлэл аль хэдийн бичигдсэн байдаг. Мартин Фаулер, би түүний амжилтыг хасахгүй, тэр ч бас алдартай болоосой.
Товчхондоо, бодох зүйл их байгаа нь энэ салбарыг сэтгэл татам болгодог зүйл юм. Манай компанид өгөгдлийн инженер нь ETL/ELT дамжуулах шугамыг бичдэг хүнээс хамаагүй илүү өргөн хүрээтэй үүрэг хариуцлагатай байдаг (хэрэв та эдгээр товчилсон үг ямар утгатай болохыг мэдэхгүй байгаа бол . Контекст сурталчилгааны эрхийн тухай).
Бид агуулахын архитектур, өгөгдлийн загварчлал, өгөгдлийн аюулгүй байдлын асуудал, мэдээжийн хэрэг дамжуулах хоолойд оролцдог. Мөн бид нэг талаас бүтээгдэхүүн хөгжүүлэгчдэд бидний оролцоо тийм ч их ачаалал өгөхгүй, системд шинэ боломжуудыг нэвтрүүлэхдээ тэд бидний шаардлагад аль болох анхаарал сарниулахгүй байхад нөгөө талаас шинжээчид болон BI багийг агуулахад тохиромжтой зохион байгуулалттай мэдээллээр хангах хэрэгтэй. Бид ингэж л амьдарч байна.
Хөгжилөөс шилжихэд бэрхшээлтэй байдаг
Ажилд орсон эхний өдөр би хэд хэдэн бэрхшээлтэй тулгарсан тул та бүхэнтэй хуваалцахыг хүсч байна.
1. Миний анзаарсан хамгийн эхний зүйл бол багаж хэрэгсэл дутмаг, зарим шилдэг туршлагууд байсан. Жишээлбэл, кодын тестийн хамрах хүрээг ав. Хөгжүүлэлтийн явцад бид зуун тавин туршилтын хүрээтэй. Өгөгдөлтэй ажиллах нь илүү төвөгтэй байдаг. Тийм ээ, бид туршилтын өгөгдөл дээр ETL дамжуулах хоолойг туршиж үзэх боломжтой, гэхдээ бид бүгдийг гараар хийж, тодорхой тохиолдол бүрийн шийдлийг олох ёстой. Үүний үр дүнд тестийн хамрах хүрээ хамаагүй муу байна. Аз болоход, хяналт тавих, бүртгэх хэлбэрээр санал хүсэлтийн өөр давхарга байдаг боловч энэ нь биднээс идэвхтэй байхаас илүү идэвхтэй байхыг шаарддаг бөгөөд энэ нь ядаргаатай, бухимдал төрүүлдэг.
2. DE-ийн өнцгөөс харахад ертөнц нь энгийн бүтээгдэхүүн үйлдвэрлэгчдэд харагдахаас огт өөр юм (Мэдээжийн хэрэг, уншигч тийм биш, тэд аль хэдийн бүгдийг мэддэг, гэхдээ би тэгээгүй, одоо би үүнийг олж авч байна). Хөгжүүлэгчийн хувьд би микро үйлчилгээгээ бүтээж, [таны сонгосон мэдээллийн санд] өгөгдөл оруулж, тэнд өөрийн төлөвийг хадгалж, ID-аар нь ямар нэг зүйлийг татаж аваад бүх зүйл хэвийн байна. Үйлчилгээ нь ажилладаг, захиалга замбараагүй, тэр бүх жазз. Хэн нэгэн надаас өөр үйлчилгээнээс миний төлөвийг хайхыг хүссэн тул би энэ үйл явдлыг RabbitMQ-д хаях болно, тэгээд л болоо. Эндээс бид дээр дурдсан үйл явдлын асуудал руу буцаж ирэв.
Үйл ажиллагааны ажилд шаардлагатай үйлчилгээ нь бидний түүхэн өгөгдөлд тохирохгүй тул бид үйлчилгээний гэрээг дахин боловсруулж, хөгжүүлэлтийн багуудтай нягт хамтран ажиллах ёстой. Манай компанид Event Driven яг юу болох талаар тохиролцох гэж хичнээн цаг зарцуулсаныг та төсөөлж ч чадахгүй.
3. Толгойгоо бодох хэрэгтэй. Хөгжүүлэгчид боддоггүй гэж би хэлээгүй (гэхдээ би хүн болгоны төлөө ярих хүн юм), гэхдээ бүтээгдэхүүн боловсруулахдаа та аль хэдийн ямар нэгэн архитектуртай байдаг бөгөөд та хоцрогдсон ажлаасаа янз бүрийн даалгавруудыг хийж байна. Мэдээжийн хэрэг, энэ нь төлөвлөлт, эргэцүүлэн бодохыг шаарддаг боловч энэ нь үргэлжилсэн үйл явц бөгөөд гол бэрхшээл нь зүгээр л сайн, үр дүнтэй ажиллах явдал юм.
Энэ нь бидний хувьд тийм ч хялбар биш, учир нь янз бүрийн системийн бүрэлдэхүүн хэсгүүдийг дулаахан, тухтай цул байдлаас микро үйлчилгээний зэрлэг ертөнц рүү шилжүүлэх нь тийм ч хялбар биш юм. Үйлчилгээ нь үйл явдлуудыг цацаж эхлэхэд өгөгдөл нь өөр харагдаж байгаа тул та хадгалах санг дүүргэх логикийг дахин бодох хэрэгтэй. Энэ нь хөгжүүлэгчийн хувьд биш, харин мэдээллийн инженерийн хувьд маш их бодохыг шаарддаг. Самбар дээр дэвтэр, үзэг эсвэл маркер бариад өдөр хоногийг өнгөрөөх нь элбэг. Энэ нь маш хэцүү; Би бодох дургүй; Би зүгээр л bang-bang, үйлдвэрлэл рүү явахыг илүүд үздэг.
4. Магадгүй хамгийн чухал зүйл бол мэдээлэл байх. Бид мэдлэг дутмаг үедээ юу хийдэг вэ? Stack Overflow гэж хэн хэлсэн бэ? Тэр хүнийг өрөөнөөс гарга. Бид энэ сэдвээр бичиг баримт, ном уншдаг, дараа нь форум, уулзалт, хурал зохион байгуулдаг нийгэмлэг байдаг. Баримтжуулалт нь маш сайн, гэхдээ харамсалтай нь энэ нь бүрэн бус байж болно. Бид Cosmos DB-г хэд хэдэн төсөлд ашигладаг. Энэ бүтээгдэхүүний баримт бичгийг уншихад амжилт хүсье. Ном бол бидний цорын ганц аврал юм; Аз болоход тэд байдаг бөгөөд олж болно. Тэд маш их суурь мэдлэгийг агуулдаг бөгөөд та маш их, байнга унших хэрэгтэй. Гэхдээ нийгэм бол гамшиг.
Яг одоо манай салбарт хангалттай хэмжээний хурал, уулзалт олоход хэцүү байна. Мэдээжийн хэрэг, "Өгөгдөл" гэсэн үгтэй олон уулзалт байдаг, гэхдээ ихэвчлэн "ML" эсвэл "AI" гэх мэт хачирхалтай товчилсон үгсээр төгсдөг. За, энэ бол бидний хийх зүйл биш юм; Бид мэдрэлийн сүлжээнд өөрийгөө халах биш өгөгдлийн агуулах барих тухай ярьж байна. Эдгээр хипстерүүд бүх зүйлийг булаан авсан. Үүний үр дүнд бид нийгэмгүй болсон. Дашрамд хэлэхэд, хэрэв та өгөгдлийн инженер бөгөөд сайн нийгэмлэгүүдийг мэддэг бол сэтгэгдэл дээр надад мэдэгдээрэй.
Уулзалтын талаарх дүгнэлт, зарлал
Тэгэхээр эцсийн үр дүн юу вэ? Мэдээллийн инженерийн гутлыг мэдрэх нь хөгжүүлэгчид бүр ашиг тустай гэдгийг миний анхны туршлага надад хэлж байна. Энэ нь зүгээр л бидэнд юмсыг өөрөөр харах боломжийг олгодог бөгөөд хөгжүүлэгчид өөрсдийн өгөгдөлтэй хэрхэн харьцаж байгааг хараад нүд урсахад гайхах хэрэггүй. Тиймээс, хэрэв танай компани мэдээллийн инженертэй бол тэдэнтэй ярилц, тэгвэл та маш их зүйлийг (өөрийнхөө тухай) сурах болно.
Тэгээд эцэст нь мэдэгдэл. Бид өөрсдийн сэдвээр ямар ч уулзалт олдохгүй байгаа тул бид өөрсдөө зохион байгуулахаар шийдсэн. Бидэнд ямар буруу байгаа юм бэ? Азаар бидэнд гайхалтай зүйл бий болон манай найзууд , тэд бидний нэгэн адил мэдээллийн инженерүүдийг шударга бусаар үл тоомсорлож байна гэж боддог.
Би энэ завшааныг ашиглаад 2020 оны 2-р сарын 27-нд Додо Пиццаны оффис дээр болох "DE or DIE" нэртэй анхны олон нийтийн цуглаанд хүрэлцэн ирэхийг урьж байна. Дэлгэрэнгүйг хаягаар авах боломжтой .
Хэрэв ямар нэгэн зүйл тохиолдвол би тэнд байх болно, та миний биечлэн хөгжүүлэгчидтэй холбоотой буруу зүйл ярьж болно.
Эх сурвалж: www.habr.com
