Veri Mühendisleri: Mitler ve Gerçekler

Yayınlanan: 2018-05-10

Kendi kendine giden arabalardan görüntülerde otomatik etiketlemeye kadar, veri bilimi çok yol kat etti. Veri bilimcileri ve analistleri, kattıkları değer nedeniyle herhangi bir organizasyonun ayrılmaz bir parçası haline geldi. Ancak, dürüst olmak gerekirse, bir veri bilimcisi yalnızca birlikte çalıştıkları veriler kadar iyidir. Günümüzde kuruluşların çoğu, verilerini çeşitli biçimlerde ve çok sayıda platformda depolamaktadır. İşte veri mühendisleri için bir ihtiyaç!

Veri mühendisleri, bu verileri veri bilimcileri ve analistleri için kullanılabilir hale getiren kişilerdir. Veri mühendisleri, veri yığınlarını veri bilimcileri için kullanılabilecek bir biçime dönüştüren boru hatları oluşturmaktan sorumludur. Çoğunlukla perde arkasında çalışırlar ve bu nedenle bir veri bilimci/analistinin tüm çekiciliğinden yoksundurlar - ancak unutmayın, herhangi bir organizasyonun işleyişi için eşit derecede (daha fazla değilse) gereklidirler.
Veri bilimcileri yarış arabası sürücüleriyse, veri mühendisleri de yarış arabası üreticileridir. İlki, bir pistte hız yapmanın heyecanını ve alkışlayan bir kalabalığın önünde kazanmanın heyecanını yaşıyor. İkincisi ise, motorları ayarlamanın ve güçlü, sağlam bir makine yaratmanın keyfini çıkarıyor. Bir yarış arabası üreticisi, sürücünün işini çok daha kolay (veya üreticinin kalitesine bağlı olarak daha zor) hale getirir.
Veri Analitiğine Nasıl Geçiş Yapabilirsiniz?

Bu açıdan, veri mühendisleri hemen hemen herhangi bir veri analizi ekibinin isimsiz kahramanlarıdır. Sağlam bir veri mühendisi olmadan, bir veri bilimcisi sadece biçimlendirilmemiş verilerde ipuçları aramak için kafasını kaşıyor olacaktır.
Bir veri mühendisinin işinin neleri kapsadığını görelim.
Daha iyi anlamak adına, Swiggy'nin bir rakibinde veri mühendisi olduğunuzu varsayalım (adını Twiggy koyalım). Kullanıcıların herhangi bir cihazda kullanabilecekleri ve hizmetlerinize erişebilecekleri bir uygulamanız var. Yemek sipariş ederler, sipariş uygun restorana yönlendirilir, yemek oradan alınır ve size ulaşır.
Bu hizmeti senkronize halde tutmak için şunlara ihtiyacınız olacak:

  • Kullanıcılar için bir mobil uygulama
  • Restoran sahipleri için bir mobil uygulama
  • Aynı anda birden çok isteği işlemek için sağlam bir sunucu.

Şimdiye kadar anlamış olabileceğiniz gibi, bu uygulama BÜYÜK miktarda veri üretecektir. Ayrıca, bazı veri depolarına ihtiyacınız olacak:

  • Kullanıcıların ve restoranların ayrıntılarını içeren bir veritabanı.
  • Sunucu erişim günlükleri. Bunlar, uygulamadan sunucuya yapılan tüm istekleri içerecektir.
  • Tüm sunucu tarafı hatalarını içeren sunucu hata günlükleri.
  • Uygulama olay günlükleri. Bunlar, kullanıcıların veya restoran sahiplerinin uygulamada yaptıkları işlemler hakkında bilgi içerecektir.
  • Uygulama tabanlı hatalar içeren uygulama hata günlükleri.
  • Müşteri hizmetleri veritabanı. Bu, müşterilerinizle etkileşiminizle ilgili verileri içerecektir.

Şimdi, ekibinizden bir veri bilimcisinin hizmetlerinizdeki kullanıcı davranışını analiz etmek ve yüksek harcama yapan kullanıcılarla hangi eylemlerin ilişkili olduğunu görmek istediğini varsayalım. Bunu oluşturmalarına yardımcı olmak için sunucu erişim günlüklerinden ve uygulama olay günlüklerinden gelen tüm bilgileri birleştirmeniz gerekir.
Yapmanız gerekenler:

  • Uygulama analizi günlüklerini düzenli olarak toplayın.
  • İlgili kullanıcılar için uygulama analizi günlüklerini sunucu günlük girişleriyle birleştirin.
  • Herhangi bir kullanıcının olay geçmişini döndüren bir API geliştirin.

Orada çok iş var!
Tüm bunları yapmak için, mobil uygulama günlüklerini ve sunucu günlüklerini gerçek zamanlı olarak verimli bir şekilde alabilen, ayrıştırabilen ve uygun kullanıcıya bağlayabilen bir işlem hattı oluşturmanız gerekir. Ayrıca, API'nin bunları kolayca sorgulayabilmesi için ayrıştırılan günlükleri bir veritabanında saklamanız gerekir. Gelen günlükleri ayrıştırmak için bir yük dengeleyicinin arkasında döndürmeniz gereken çok sayıda sunucu olacaktır.
Karşılaşacağınız sorunların çoğu dağıtık sistemler ve güvenilirlikle ilgili olacaktır. Günlükleri ve dinamik talepleri toplayacak milyonlarca cihazınız varsa (öğleden sonra çok sayıda günlük girişi alırsınız, ancak gece yarısı bu kadar çok olmaz), sunucu sayımını otomatik olarak artırıp azaltabilen bir sistem geliştirmeniz gerekir. trafiğe bağlı olarak.
Veri Biliminde Ustalaşmanın En İyi Adımları

Genel bir veri mühendisliği işlem hattındaki işlemler kabaca aşağıdaki aşamalardan geçer:

  • Yutma: gerekli verilerin toplanması.
  • İşleme: İstenilen sonucu elde etmek için verilerin işlenmesi.
  • Depolama: sonucun daha hızlı alınması için saklanması.
  • Erişim: bir aracın veri hattının sonuçlarına erişmesini sağlar.

Bir veri mühendisinin aşağıdaki alanlarda bilgi sahibi olması beklenir.

  • Veri depolama:
    • MySQL, MS SQL Server, vb. Gibi RDBMS.
    • HBase, MongoDB, CouchDB, Cassandra vb. NoSQL veritabanları.
  • Veri toplama:
    • RESTful API'ler
    • SQL'de veri modelleme ve uzmanlık bilgisi.
  • Veri dönüşümü:
    • Informatica, Datastage, Redpoint vb. ETL araçları.
    • Python, Ruby, Perl vb. gibi herhangi bir betik dili.

Bu veri mühendislerinin yaşamları ve işleri etrafında dönen bazı efsanelere ve yanlış anlamalara bakalım.

İçindekiler

Efsane 1: Veri mühendisleri, toplanan verilerden değer çıkarır.

Verileri toplamakla bilgiyi ayıklamak arasında çok şey var. Veri mühendisleri, verileri bilim adamlarının analiz etmesi ve üzerinde çalışması için uygun bir forma dönüştürmekten öncelikle sorumludur. Bu açıdan verilerden herhangi bir değer çıkarmazlar, aslında verileri bir plaka üzerinde veri bilimcilerine sunarlar ve ondan sonra değer keşfederler.

Efsane #2: Veri mühendislerinin tüm verileri bozulmamış hale getirmesi gerekir.

Yukarıdaki cümleyi yavaş okursanız bunun ne kadar akıl almaz olduğunu anlayacaksınız. Bir veri mühendisi, gün boyunca gelen veri akışlarıyla ilgilenir. Bu verilerin eskimesi için derhal temizlenmesi ve harekete geçilmesi gerekir. Bayat derken, anlayışsız ve yaşlı demek istiyoruz. Bu nedenle, veri mühendisleri tüm verileri bozulmamış hale getirmezler. Eldeki verilerle, eldeki problem için gerekli olan diğer verilerle birlikte çalışırlar. Tüm veri kümelerinin temizlenmesi aylar alacak ve o zamana kadar hiçbir faydası olmayacak.
Veri Bilimi İçin İstatistiğin Temel Temelleri

Efsane #3: Veri mühendisleri, verileri hazır araçlara aktarır ve çıktı olarak temiz/işlenebilir verilerin keyfini çıkarır.

Lütfen bunu herhangi bir veri mühendisinin önünde yüksek sesle söyleme. Durmadan. Kendine saygısı olan hiçbir veri mühendisi bu kadar bariz bir hakarete müsamaha göstermez. Diğer tüm mühendisler gibi (yazılım, mekanik, kimya, vb.), veri mühendisleri de her zaman düşünme sınırlarının açık olmasını gerektirir. Veri mühendisliğinde herkese uyan tek bir yaklaşım yoktur ve veri mühendislerinin sürekli olarak kullanım durumlarına uyması için algoritmalar oluşturması gerekir. Mükemmel verimliliği sağlamak için çalışmalarıyla ilgili en son tekniklerin ve yöntemlerin farkında olmaları gerekir.

Efsane 4: Veri mühendisleri, yalnızca Büyük Veri üzerinde çalışan yazılım mühendisleridir.

Yazılım mühendisleri, mobil/web uygulaması geliştirme üzerinde çalışır. İşleri çok çeşitli problemler içerir ve zorluk görevleri yönetmektir - düşünmek, iletişim kurmak ve kodu düzenlemek. Öte yandan, veri mühendisleri genellikle daha az problem yaşarlar, ancak bireysel problemler teknik olarak çok daha zordur. Görünümden beceri setine kadar, bir veri mühendisi için her şey bir yazılım mühendisinden tamamen farklıdır.
Veri Bilimcisi, Veri Analisti ve Veri Mühendisi kimdir?

Dünyanın en iyi Üniversitelerinden veri bilimi sertifikası alın . Kariyerinizi hızlandırmak için Yönetici PG Programları, İleri Düzey Sertifika Programları veya Yüksek Lisans Programları öğrenin.

Veri Mühendisliği klasik bir BT rolüne benzer mi?

'Veri Mühendisi' ve 'Yazılım Mühendisi', her ikisi de büyük ölçüde programlama becerilerine dayandığından, bilgisayar sektörü dışındaki kişiler için birbirinin yerine kullanılabilir gibi görünebilir. Ama aslında onlar farklı alanlarda uzmanlar. Yazılım mühendislerinin temel amacı, kullanıcı dostu web siteleri oluşturmaktır. Veri mühendisleri, daha sonra yazılım geliştiriciler tarafından sistemler ve uygulamalar oluşturmak için kullanılan verileri depolamak, birleştirmek ve almak için sistemler kurar. Veri Mühendisleri ayrıca tüm kurumsal veriler için sürekli bir entegrasyon ve teslim (CI/CD) ardışık düzeninin yanı sıra altyapı genelinde veri kalitesini sağlamak için sürüm kontrol sistemleri oluşturabilir ve sürdürebilir.

Veri Mühendisi olmak için üniversite eğitimi veya ileri derece gerekli midir?

Veri mühendisi olarak çalışmak için bir dereceye ihtiyacınız yoktur, ancak bazı işverenler en az lisans derecesine sahip adayları tercih edebilir. Hiçbir akademik kurs veya çevrimiçi müfredat, sizi çeşitli kaynaklardan gelen verileri taşıyabilen, değiştirebilen ve analiz için depolayabilen veri sistemleri oluşturmaya hazırlayamaz. Gerçek şu ki, en başarılı Veri Mühendisleri gerçek dünyada gerçek müşterilerle çalışırken iş başında çok şey öğrenirler. Ancak evet, bir Veri Mühendisinin Amazon Athena, Amazon Redshift, Apache Spark vb. gibi belirli araçlarla çalışmak ve veri yönetimi en iyi uygulamaları hakkında bilgi sahibi olmak için iyi becerilere sahip olması önemlidir.

Başarılı bir Veri Mühendisi nasıl olunur?

Veri odaklı işletmeler için veri mühendisliği kritik öneme sahiptir, ancak veri mühendisleri tam olarak ne yapar? Başarılı bir Veri Mühendisi olmanın yolu burada

1. Programlamada uzmanlaşın: Başarılı bir Veri Mühendisi olmak istiyorsanız, öncelikle programlama temellerinizi tazeleyerek başlayın. Python ve Scala sektörde en çok kullanılan teknolojilerdir.
2. Otomatikleştirmeyi ve kodlamayı öğrenin: Otomasyonu öğrenmek Veri Mühendisleri için çok önemlidir. Veriler üzerinde yapılması gereken sıkıcı veya düzenli olarak ortaya çıkabilecek birçok görev olduğundan. Otomasyon için bazı önemli araçlar, Shell komut dosyası oluşturma ve Shell'de Veri İşlemedir.
3. Veritabanlarınızı nasıl kullanacağınızı bilin: Bu, SQL ve veri modelleme öğrenilerek yapılabilir.
4. Usta Veri İşleme teknikleri: Veri işleme tekniklerinde uzmanlaşmak için, sonuçları hedef veritabanlarına yüklemeden önce yığınlar ve akışlar halinde verilerin nasıl işleneceğini öğrenmek önemlidir.