Məlumat mühəndisləri kimlərdir və siz necə olursunuz?

Birdaha salam! Məqalənin adı özü üçün danışır. Kursun başlaması ərəfəsində Məlumat Mühəndisi Məlumat mühəndislərinin kim olduğunu başa düşməyinizi təklif edirik. Məqalədə çoxlu faydalı bağlantılar var. Xoş oxu.

Məlumat mühəndisləri kimlərdir və siz necə olursunuz?

Məlumat Mühəndisliyi dalğasını necə tutmaq və sizi uçuruma sürükləməsinə imkan verməmək üçün sadə bir bələdçi.

Deyəsən, bu günlərdə hər kəs Data Scientist olmaq istəyir. Bəs Data Engineering haqqında nə demək olar? Əslində, bu, bir məlumat analitikinin və məlumat aliminin bir növ hibrididir; Məlumat mühəndisi adətən iş axınlarını, emal boru kəmərlərini və ETL proseslərini idarə etmək üçün məsuliyyət daşıyır. Bu funksiyaların əhəmiyyətinə görə, bu, hazırda aktiv şəkildə təcil qazanan başqa bir məşhur peşəkar jarqondur.

Yüksək maaşlar və böyük tələbat bu işi son dərəcə cəlbedici edən şeylərin yalnız kiçik bir hissəsidir! Qəhrəmanlar sırasına qoşulmaq istəyirsinizsə, öyrənməyə başlamaq üçün heç vaxt gec deyil. Bu yazıda ilk addımlarınızı atmağınıza kömək etmək üçün bütün lazımi məlumatları topladım.

Beləliklə, işə başlayaq!

Data Engineering nədir?

Düzünü desəm, bundan daha yaxşı izahat yoxdur:

“Alim yeni bir ulduz kəşf edə bilər, amma onu yarada bilməz. Bunun üçün mühəndisdən xahiş etməli olacaq”.

- Qordon Lindsi Qleq

Beləliklə, məlumat mühəndisinin rolu olduqca əhəmiyyətlidir.

Adından da göründüyü kimi, məlumat mühəndisliyi verilənlərlə, yəni onların çatdırılması, saxlanması və emalı ilə əlaqədardır. Müvafiq olaraq, mühəndislərin əsas vəzifəsi məlumat üçün etibarlı infrastruktur təmin etməkdir. Ehtiyacların AI iyerarxiyasına baxsaq, məlumat mühəndisliyi ilk 2-3 mərhələni tutur: toplanması, daşınması və saxlanması, məlumatların hazırlanması.

Məlumat mühəndisləri kimlərdir və siz necə olursunuz?

Məlumat mühəndisi nə edir?

Böyük verilənlərin meydana çıxması ilə məsuliyyətin həcmi kəskin şəkildə dəyişdi. Əgər əvvəllər bu ekspertlər Informatica ETL, Pentaho ETL, Talend kimi alətlərdən istifadə etməklə böyük SQL sorğuları və distillə edilmiş verilənlər yazırdılarsa, indi məlumat mühəndislərinə tələblər artıb.

Məlumat mühəndisi vəzifəsi üçün açıq vakansiyaları olan şirkətlərin əksəriyyəti aşağıdakı tələblərə malikdir:

  • Əla SQL və Python biliyi.
  • Bulud platformaları, xüsusən Amazon Veb Xidmətləri ilə təcrübə.
  • Java/Scala biliyi üstünlükdür.
  • SQL və NoSQL verilənlər bazalarını yaxşı başa düşmək (məlumatların modelləşdirilməsi, məlumatların saxlanması).

Unutmayın, bunlar yalnız əsas şeylərdir. Bu siyahıdan güman etmək olar ki, məlumat mühəndisləri proqram təminatının inkişafı və backend sahəsində mütəxəssislərdir.
Məsələn, bir şirkət müxtəlif mənbələrdən böyük miqdarda məlumat yaratmağa başlayırsa, məlumat mühəndisi kimi sizin vəzifəniz məlumatların toplanması, işlənməsi və saxlanmasını təşkil etməkdir.

Bu vəziyyətdə istifadə olunan vasitələrin siyahısı fərqli ola bilər, hamısı bu məlumatların həcmindən, alınma sürətindən və heterojenliyindən asılıdır. Əksər şirkətlər böyük verilənlərlə ümumiyyətlə məşğul olmurlar, ona görə də mərkəzləşdirilmiş repozitoriya, sözdə məlumat anbarı kimi, məlumatları daxil edən kiçik skriptlər dəsti ilə SQL verilənlər bazasından (PostgreSQL, MySQL və s.) istifadə edə bilərsiniz. anbar.

Google, Amazon, Facebook və ya Dropbox kimi İT nəhənglərinin daha yüksək tələbləri var: Python, Java və ya Scala bilikləri.

  • Böyük data ilə təcrübə: Hadoop, Spark, Kafka.
  • Alqoritmlər və verilənlər strukturları haqqında biliklər.
  • Paylanmış sistemlərin əsaslarını başa düşmək.
  • Tableau və ya ElasticSearch kimi məlumatların vizuallaşdırılması vasitələri ilə təcrübə bir artı olacaq.

Yəni, böyük verilənlərə, yəni onun yüksək yüklər altında işlənməsinə doğru aydın bir keçid var. Bu şirkətlər sistem xətalarına dözümlülük tələblərini artırıblar.

Məlumat Mühəndisləri Vs. məlumat alimləri

Məlumat mühəndisləri kimlərdir və siz necə olursunuz?
Tamam, bu sadə və gülməli bir müqayisə idi (şəxsi heç nə yoxdur), amma əslində bu, daha mürəkkəbdir.

Birincisi, bilməlisiniz ki, bir məlumat alimi və məlumat mühəndisinin rol və bacarıqlarının müəyyənləşdirilməsində çox qeyri-müəyyənlik var. Yəni, müvəffəqiyyətli bir məlumat mühəndisi olmaq üçün hansı bacarıqlara ehtiyacınız olduğuna dair asanlıqla çaşqın ola bilərsiniz. Təbii ki, hər iki rolla üst-üstə düşən müəyyən bacarıqlar var. Ancaq bir sıra diametral əks bacarıqlar da var.

Məlumat elmi ciddi işdir, lakin biz praktikantların öz analitikalarını edə bildiyi funksional məlumat elmi dünyasına doğru irəliləyirik. Məlumat boru kəmərlərini və inteqrasiya olunmuş məlumat strukturlarını aktivləşdirmək üçün sizə məlumat alimləri deyil, məlumat mühəndisləri lazımdır.

Məlumat mühəndisinə məlumat alimindən daha çox tələbat varmı?

- Bəli, çünki kök tortu hazırlamazdan əvvəl ilk növbədə yerkökü toplamaq, qabığını soyub saxlamaq lazımdır!

Məlumat mühəndisi proqramlaşdırmanı hər hansı bir məlumat alimindən daha yaxşı başa düşür, lakin statistikaya gəldikdə, bunun əksi doğrudur.

Ancaq məlumat mühəndisinin üstünlüyü budur:

Onsuz, ən çox Python faylındakı dəhşətli keyfiyyət kodunun bir parçasından ibarət olan, məlumat alimindən alınan və bir şəkildə nəticə çıxaran prototip modelinin dəyəri sıfıra enir.

Məlumat mühəndisi olmadan bu kod heç vaxt layihəyə çevrilməyəcək və heç bir iş problemi effektiv şəkildə həll olunmayacaq. Məlumat mühəndisi bütün bunları məhsula çevirməyə çalışır.

Məlumat mühəndisinin bilməli olduğu əsas məlumatlar

Məlumat mühəndisləri kimlərdir və siz necə olursunuz?

Beləliklə, bu iş sizin içinizdəki işığı ortaya çıxarsa və həvəslisinizsə - bunu öyrənə bilərsiniz, bütün lazımi bacarıqlara yiyələnə və data mühəndisliyi sahəsində əsl rok ulduzuna çevrilə bilərsiniz. Bəli, proqramlaşdırma bacarıqları və ya digər texniki biliklər olmadan belə bunu edə bilərsiniz. Çətindir, amma mümkündür!

İlk addımlar hansılardır?

Nəyin nə olduğu haqqında ümumi bir təsəvvürünüz olmalıdır.

Əvvəla, Data Engineering kompüter elminə aiddir. Daha dəqiq desək, siz səmərəli alqoritmləri və məlumat strukturlarını başa düşməlisiniz. İkincisi, məlumat mühəndisləri verilənlərlə işlədikləri üçün verilənlər bazası prinsiplərini və onların əsasında duran strukturları başa düşmək lazımdır.

Məsələn, adi B-tree SQL verilənlər bazaları B-Tree məlumat strukturuna, eləcə də müasir paylanmış depolarda, LSM-Tree və hash cədvəllərinin digər modifikasiyalarına əsaslanır.

*Bu addımlar əla məqaləyə əsaslanır Adilə Xaştamova. Odur ki, əgər rus dilini bilirsinizsə, bu müəllifi dəstəkləyin və oxuyun onun postu.

1. Alqoritmlər və verilənlər strukturları

Doğru məlumat strukturundan istifadə alqoritmin işini əhəmiyyətli dərəcədə yaxşılaşdıra bilər. İdeal olaraq, biz hamımız məktəblərimizdə məlumat strukturları və alqoritmləri öyrənməliyik, lakin bu, nadir hallarda əhatə olunur. Hər halda, tanış olmaq heç vaxt gec deyil.
Beləliklə, məlumat strukturlarını və alqoritmləri öyrənmək üçün mənim sevimli pulsuz kurslarım bunlardır:

Üstəlik, Thomas Cormanın alqoritmlər üzərində klassik işi haqqında unutmayın - Alqoritmlərə giriş. Yaddaşınızı yeniləmək lazım olduqda bu mükəmməl istinaddır.

  • Bacarıqlarınızı artırmaq üçün istifadə edin Leetcode.

Siz həmçinin Youtube-da Carnegie Mellon Universitetinin heyrətamiz videoları ilə verilənlər bazası dünyasına daxil ola bilərsiniz:

2. SQL öyrənin

Bütün həyatımız datadır. Və bu məlumatları verilənlər bazasından çıxarmaq üçün onunla eyni dildə "danışmaq" lazımdır.

SQL (Structured Query Language) məlumat domenində ünsiyyət dilidir. Kimin nə deməsindən asılı olmayaraq, SQL yaşayıb, yaşayır və çox uzun müddət yaşayacaq.

Əgər siz uzun müddətdir ki, inkişafdasınızsa, yəqin ki, SQL-in gözlənilməz ölümü ilə bağlı şayiələrin vaxtaşırı yayıldığını görmüsünüz. Dil 70-ci illərin əvvəllərində hazırlanıb və hələ də analitiklər, tərtibatçılar və sadəcə həvəskarlar arasında çox populyardır.
SQL biliyi olmadan məlumat mühəndisliyində heç bir iş yoxdur, çünki siz qaçılmaz olaraq məlumatları əldə etmək üçün sorğular yaratmalı olacaqsınız. Bütün müasir böyük məlumat anbarları SQL-i dəstəkləyir:

  • Amazon RedShift
  • HP Vertica
  • Kahin
  • SQL Server

... və bir çox başqaları.

HDFS kimi paylanmış sistemlərdə saxlanılan məlumatların böyük bir təbəqəsini təhlil etmək üçün SQL mühərrikləri icad edilmişdir: Apache Hive, Impala və s. Baxın, heç yerə getmir.

SQL-i necə öyrənmək olar? Sadəcə bunu praktikada edin.

Bunu etmək üçün, yeri gəlmişkən, pulsuz olan əla dərsliyi yoxlamağı məsləhət görərdim Rejim Analitikası.

  1. Orta SQL
  2. SQL-də məlumatların birləşdirilməsi

Bu kursları xüsusi edən, onların birbaşa brauzerinizdə SQL sorğularını yaza və işlədə biləcəyiniz interaktiv mühitə malik olmasıdır. Resurs Müasir SQL artıq olmaz. Və bu bilikləri tətbiq edə bilərsiniz Leetcode tapşırıqları Verilənlər bazaları bölməsində.

3. Python və Java/Scala dillərində proqramlaşdırma

Niyə Python proqramlaşdırma dilini öyrənməlisiniz, mən artıq məqalədə yazdım Python vs R. AI, ML və Data Science üçün Ən Yaxşı Aləti seçmək. Java və Scala dillərinə gəldikdə, böyük həcmdə məlumatların saxlanması və işlənməsi üçün alətlərin əksəriyyəti bu dillərdə yazılır. Misal üçün:

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

Bu vasitələrin necə işlədiyini başa düşmək üçün onların yazıldığı dilləri bilməlisiniz. Scala-nın funksional yanaşması məlumatların paralel emalı problemlərini effektiv həll etməyə imkan verir. Python, təəssüf ki, sürət və paralel işləmə ilə öyünə bilməz. Ümumiyyətlə, bir neçə dil və proqramlaşdırma paradiqmalarını bilmək problemlərin həllinə yanaşmaların genişliyi üçün yaxşıdır.

Scala dilinə dalmaq üçün oxuya bilərsiniz Scala-da proqramlaşdırma dilin müəllifindən. Twitter həmçinin yaxşı bir giriş bələdçisi dərc etdi - Scala məktəbi.

Python-a gəlincə, mən inanıram Səlis Python Ən yaxşı orta səviyyəli kitab.

4. Böyük verilənlərlə işləmək üçün alətlər

Böyük məlumat dünyasında ən populyar vasitələrin siyahısı:

  • Apache Spark
  • Apaçi Kafka
  • Apache Hadoop (HDFS, HBase, Hive)
  • Apache kasandra

Bu heyrətamiz məlumatda böyük məlumat bloklarının qurulması haqqında daha çox məlumat tapa bilərsiniz interaktiv mühit. Ən məşhur alətlər Spark və Kafkadır. Onlar mütləq öyrənməyə dəyər, içəridən necə işlədiklərini başa düşmək məsləhətdir. Cey Kreps (Kafkanın həmmüəllifi) 2013-cü ildə monumental əsər nəşr etdi. Qeyd: Hər bir Proqram Tərtibatçısının Real-Time Data Aqreqasiyası Abstraksiya Haqqında Nəyi BilməlidirYeri gəlmişkən, bu Talmuddan əsas ideyalar Apaçi Kafkanın yaradılmasında istifadə olunub.

5. Bulud platformaları

Məlumat mühəndisləri kimlərdir və siz necə olursunuz?

Ən azı bir bulud platforması haqqında bilik məlumat mühəndisi vəzifəsinə namizədlər üçün əsas tələblər siyahısındadır. İşəgötürənlər Amazon Veb Xidmətlərinə üstünlük verirlər, ikinci yerdə Google-un bulud platforması, ilk üçlüyü isə Microsoft Azure tamamlayır.

Amazon EC2, AWS Lambda, Amazon S3, DynamoDB haqqında yaxşı biliyə sahib olmalısınız.

6. Paylanmış sistemlər

Böyük verilənlərlə işləmək müstəqil işləyən kompüterlərin klasterlərinin mövcudluğunu nəzərdə tutur, onlar arasında əlaqə şəbəkə üzərindən aparılır. Klaster nə qədər böyükdürsə, onun üzv qovşaqlarının uğursuzluq ehtimalı bir o qədər yüksəkdir. Böyük bir məlumat alimi olmaq üçün paylanmış sistemlər üçün problemləri və mövcud həll yollarını başa düşməlisiniz. Bu ərazi köhnə və mürəkkəbdir.

Endryu Tanenbaum bu sahədə qabaqcıl hesab olunur. Nəzəriyyədən qorxmayanlara onun kitabını tövsiyə edirəm "Paylanmış Sistemlər", bu, yeni başlayanlar üçün çətin görünə bilər, lakin bu, həqiqətən bacarıqlarınızı inkişaf etdirməyə kömək edəcəkdir.

Mən inanıram Martin Kleppmann tərəfindən verilənlərlə intensiv tətbiqlərin dizaynı ən yaxşı giriş kitabı. Yeri gəlmişkən, Martinin gözəlliyi var blog. Onun işi böyük verilənlərin saxlanması və emalı üçün müasir infrastrukturun qurulması ilə bağlı biliklərin sistemləşdirilməsinə kömək edəcək.
Videolara baxmağı sevənlər üçün Youtube-da kurs var Paylanmış kompüter sistemləri.

7. Məlumat boru kəmərləri

Məlumat mühəndisləri kimlərdir və siz necə olursunuz?

Məlumat boru kəmərləri məlumat mühəndisi kimi onsuz yaşaya bilməyəcəyiniz bir şeydir.

Çox vaxt məlumat mühəndisi sözdə məlumat kəməri qurur, yəni məlumatların bir yerdən digərinə çatdırılması üçün bir proses yaradır. Bunlar xarici xidmətin API-sinə gedən və ya SQL sorğusu edən, məlumatları artıran və onu mərkəzləşdirilmiş mağazaya (məlumat anbarı) və ya strukturlaşdırılmamış məlumat anbarına (məlumat gölləri) qoyan xüsusi skriptlər ola bilər.

Xülasə etmək üçün: məlumat mühəndisi üçün əsas yoxlama siyahısı

Məlumat mühəndisləri kimlərdir və siz necə olursunuz?

Xülasə etmək üçün aşağıdakıları yaxşı başa düşmək lazımdır:

  • İnformasiya sistemləri;
  • Proqram təminatının inkişafı (Agile, DevOps, Design Techniques, SOA);
  • Paylanmış sistemlər və paralel proqramlaşdırma;
  • Verilənlər Bazasının Əsasları - Planlaşdırma, Dizayn, İstismar və Problemlərin aradan qaldırılması;
  • Təcrübələrin dizaynı - konsepsiyaları sübut etmək, etibarlılığı, sistem performansını müəyyən etmək və yaxşı həlləri tez bir zamanda təqdim etmək üçün etibarlı yolları inkişaf etdirmək üçün A/B testləri.

Bunlar məlumat mühəndisi olmaq üçün tələblərdən yalnız bir neçəsidir, ona görə də məlumat sistemlərini, informasiya sistemlərini, davamlı çatdırılma/yerləşdirmə/inteqrasiya, proqramlaşdırma dilləri və digər kompüter elmləri mövzularını (bütün fənlər deyil) öyrənin və anlayın.

Və nəhayət, demək istədiyim son, lakin çox vacib bir şey.

Məlumat Mühəndisliyi olmanın yolu göründüyü qədər sadə deyil. O, bağışlamır, məyus edir və buna hazır olmalısan. Bu səyahətdə bəzi məqamlar sizi təslim olmağa vadar edə bilər. Ancaq bu, əsl iş və öyrənmə prosesidir.

Sadəcə əvvəldən onu şəkərlə örtməyin. Səyahət etməyin bütün məqsədi mümkün qədər çox şey öyrənmək və yeni çağırışlara hazır olmaqdır.
Qarşılaşdığım bu məqamı yaxşı göstərən gözəl bir şəkil:

Məlumat mühəndisləri kimlərdir və siz necə olursunuz?

Bəli, tükənmə və istirahətdən qaçınmağı unutmayın. Bu da çox vacibdir. Uğurlar!

Məqalə haqqında nə düşünürsünüz, dostlar? Sizi dəvət edirik pulsuz vebinar, bu gün saat 20.00-da baş tutacaq. Vebinar zamanı biz kiçik bir şirkət və ya başlanğıc üçün minimal xərclə effektiv və genişlənə bilən məlumat emalı sisteminin necə qurulacağını müzakirə edəcəyik. Təcrübə olaraq biz Google Cloud məlumat emalı alətləri ilə tanış olacağıq. görüşənədək!

Mənbə: www.habr.com

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