Analitik için Popüler Veri Doğrulama Teknikleri ve Bunlara Neden İhtiyaç Duyarsınız?

Yayınlanan: 2022-12-19

Editörün notu: Bu makale ilk olarak 14 Aralık 2020'de Iteratively blogunda yayınlandı.


Günün sonunda, veri analitiğinizin diğer kodlar gibi test edilmesi gerekir. Bu kodu ve ürettiği verileri doğrulamazsanız maliyetli olabilir (Gartner'a göre yılda 9,7 milyon dolar gibi).

Bu kaderden kaçınmak için şirketler ve mühendisleri, bir dizi proaktif ve reaktif veri doğrulama tekniğinden yararlanabilir. Aşağıda açıklayacağımız gibi, ilkini şiddetle tavsiye ediyoruz. Veri doğrulamaya yönelik proaktif bir yaklaşım, şirketlerin sahip oldukları verilerin temiz ve çalışmaya hazır olmasını sağlamalarına yardımcı olacaktır.

Reaktif ve proaktif veri doğrulama teknikleri: Veri sorunlarını sorun haline gelmeden önce çözün

"Bir gram önlem, bir kilo tedaviye bedeldir." Analitik için veri doğrulama teknikleri de dahil olmak üzere hemen hemen her durumda geçerli olan eski bir sözdür. Bunu söylemenin başka bir yolu, reaktif olmaktansa proaktif olmanın daha iyi olduğudur.

Herhangi bir veri doğrulamanın amacı, verilerin nerede yanlış, tutarsız, eksik ve hatta eksik olabileceğini belirlemektir.

Tanımı gereği, reaktif veri doğrulama olaydan sonra gerçekleşir ve verilerinizde olabilecek sorunları belirlemek ve kötü verilerin belirtilerini hafifletmeye yardımcı olmak için anormallik tespitini kullanır. Bu yöntemler hiç yoktan iyidir, ancak en başta kötü verilere neden olan temel sorunları çözmezler.

Bunun yerine ekiplerin, elde ettikleri verilerin doğru, eksiksiz ve beklenen yapıda olduğundan (ve gelecekteki ekip üyelerinin sahip olmayacağından) emin olmak için analitikleri için tür güvenliği ve şemalaştırma gibi proaktif veri doğrulama tekniklerini benimsemeleri gerektiğine inanıyoruz. kötü analiz koduyla mücadele etmek için).

Daha kapsamlı doğrulama yaklaşımını seçmek bariz görünse de, birçok ekip sonunda reaktif veri doğrulamayı kullanır. Bu birkaç nedenden dolayı olabilir. Çoğu zaman analitik kodu, veri olmayan birçok ekip için sonradan akla gelen bir şeydir ve bu nedenle test edilmeden bırakılır.

Ne yazık ki, verilerin herhangi bir doğrulama olmaksızın işlenmesi de yaygındır. Ek olarak, zayıf analiz kodu yalnızca gerçekten kötü olduğunda, genellikle haftalar sonra birisi bir raporun aşırı derecede yanlış veya hatta eksik olduğunu fark ettiğinde fark edilir.

Reaktif veri doğrulama teknikleri, ambarınızdaki verilerinizi dbt veya Dataform gibi bir araçla dönüştürmek gibi görünebilir.

Tüm bu yöntemler veri sıkıntılarınızı (ve genellikle nesnel olarak harika araçlarla) çözmenize yardımcı olsa da, yine de kötü verilerinizin temel nedenini iyileştirmenize yardımcı olmaz (ör. parça parça veri yönetişimi veya bir projede uygulanan analitik) ekipler arası iletişim olmadan proje bazında), ilk etapta, her seferinde onlara geri gelmenizi sağlar.

Tek başına reaktif veri doğrulaması yeterli değildir; gerçekten etkili olmak ve daha önce bahsedilen maliyetli sorunlardan kaçınmak için proaktif veri doğrulama teknikleri kullanmanız gerekir. İşte nedeni:

  • Veri bir takım sporudur. Verilerinizin temiz olduğundan emin olmak yalnızca bir departmana veya bir kişiye bağlı değildir. Yüksek kaliteli veriler sağlamak ve sorunları ortaya çıkmadan önce çözmek için herkesin birlikte çalışması gerekir.
  • Veri doğrulama, Yazılım Geliştirme Yaşam Döngüsünün (SDLC) bir parçası olmalıdır. Bunu SDLC'nize entegre ettiğinizde ve mevcut test odaklı geliştirmenize ve otomatik QA sürecinize paralel olarak (sonradan eklemek yerine), veri sorunlarını daha sonra gidermek yerine önleyerek zamandan tasarruf edersiniz.
  • Proaktif veri doğrulama, mevcut araçlarınıza ve CI/CD ardışık düzenlerinize entegre edilebilir. Bu, geliştirme ekipleriniz için kolaydır çünkü zaten test otomasyonuna yatırım yapmışlardır ve artık bunu analitik kapsamını da kapsayacak şekilde hızla genişletebilirler.
  • Proaktif veri doğrulama testi, hızlı hareket eden ekiplerin verimli çalışabilmesinin en iyi yollarından biridir. Hızlı bir şekilde yineleme yapabilmelerini ve veri kayması ile diğer aşağı akış sorunlarından kaçınmalarını sağlar.
  • Proaktif veri doğrulama, daha sonra ezmek zorunda kalacağınız hataların sayısını en aza indirirken, kodunuzu gerektiği gibi değiştirip güncelleme konusunda size güven verir. Bu proaktif süreç, sizin ve ekibinizin yalnızca ilgilendiğiniz verilerle doğrudan ilgili kodu değiştirmenizi sağlar.

Artık proaktif veri doğrulamanın neden önemli olduğunu belirlediğimize göre sıradaki soru şu: Bunu nasıl yapıyorsunuz? Sorunlar ortaya çıkmadan önce verilerinin iyi olduğundan emin olmak için ekiplerin kullandığı araçlar ve yöntemler nelerdir?

Hadi dalalım.

Veri doğrulama yöntemleri

Veri doğrulama, belirli bir noktada gerçekleşen tek bir adım değildir. İstemcide, sunucuda, ardışık düzende veya ambarın kendisinde olmak üzere veri yaşam döngüsünün birden çok noktasında gerçekleşebilir.

Aslında birçok yönden büyük yazılı yazılım testine çok benzer. Bununla birlikte, önemli bir fark vardır. Çıktıları tek başınıza test etmiyorsunuz; ayrıca verilerinizin girişlerinin doğru olduğunu onaylıyorsunuz.

Hangisinin reaktif ve hangilerinin proaktif olduğunu inceleyerek her bir konumda veri doğrulamanın nasıl göründüğüne bir göz atalım.

Müşteride veri doğrulama teknikleri

İstemci tarafı veri doğrulaması için tip güvenliğinden, birim testinden ve astarlamadan (statik kod analizi) yararlanmak için Amplitude Data gibi araçları kullanabilirsiniz.

Şimdi, bu harika bir başlangıç ​​noktası, ancak bu tür bir aracın bu katmanda ne tür testler yapmanızı sağladığını anlamak önemlidir. İşte bir döküm:

  • Tip güvenliği , derleyicinin veri tiplerini ve uygulama talimatlarını kaynakta doğrulayarak yazım hataları veya beklenmeyen değişkenler nedeniyle aşağı akış hatalarını önlemesidir.
  • Birim testi , belirli bir kod seçimini tek başına test ettiğiniz zamandır. Ne yazık ki çoğu ekip, iş analitiklerini doğrulamaya geldiğinde analitiği birim testlerine entegre etmez.
  • A/B testi , analitik akışınızı altın durumdaki bir veri kümesine (analitiklerinizin mükemmel olduğunu bildiğiniz bir sürümü) veya üretim verilerinizin bir kopyasına karşı test ettiğiniz zamandır. Bu, yaptığınız değişikliklerin iyi olup olmadığını ve mevcut durumda bir iyileşme olup olmadığını anlamanıza yardımcı olur.

Ardışık düzende veri doğrulama teknikleri

Ardışık düzende veri doğrulama, tamamen müşteri tarafından gönderilen verilerin ambarınızdaki veri biçimiyle eşleştiğinden emin olmakla ilgilidir. İkisi aynı sayfada değilse, veri tüketicileriniz (ürün yöneticileri, veri analistleri, vb.) diğer tarafta yararlı bilgiler alamayacaktır.

Ardışık düzendeki veri doğrulama yöntemleri şöyle görünebilir:

  • Olay izlemenizin şema kayıt defterinizde tanımlanmış olanla eşleşmesini sağlamak için şema doğrulama .
  • Platformlar arasında izlemenin iyi çalıştığından emin olmak için dbt gibi bir araçta ilişkisel, benzersiz ve vekil anahtar yardımcı program testleri aracılığıyla entegrasyon ve bileşen testi .
  • Kaynak verilerinizin ne kadar "taze" olduğunu (yani ne kadar güncel ve sağlıklı olduğunu) belirlemek için dbt gibi bir araç aracılığıyla tazelik testi .
  • Veri kümeleri veya örnekler beklenen girdilerle eşleşmediğinde uyarı almak ve izlemenizde yapılan değişikliklerin mevcut veri akışlarını bozmadığından emin olmak için Büyük Beklentiler gibi bir araçla dağıtım testleri .

Ambardaki veri doğrulama teknikleri

Deponuza gönderilen verilerin beklediğiniz ve ihtiyaç duyduğunuz kurallara uygun olduğundan emin olmak için dbt testi, Dataform testi ve Büyük Beklentiler'i kullanabilirsiniz. Bu katmanda, bu dönüşümler içinde tip denetimi ve tip güvenliği dahil olmak üzere dönüşümler de yapabilirsiniz, ancak reaktif olduğu için bu yöntemi birincil doğrulama tekniğiniz olarak önermeyiz.

Bu noktada, ekiplerin kullanabileceği doğrulama yöntemleri, verilerin belirli kurallara uygun olduğunu doğrulamayı ve ardından bunları eşleştirmek için dönüştürmeyi içerir. Ekipler ayrıca dbt ile ilişki ve tazelik testlerinin yanı sıra Büyük Beklentiler kullanarak değer/aralık testini kullanabilir.

Tüm bu araç işlevselliği, bu katmandaki birkaç önemli veri doğrulama tekniğine bağlıdır:

  • CRUD verilerinin ve dönüşümlerinin belirlenen kurallara uygun olduğundan emin olmak için şemalaştırma.
  • Verilerin GDPR gibi güvenlik gerekliliklerine uygun olduğundan emin olmak için güvenlik testi .
  • Bir modeldeki alanların belirli bir tablodaki alanlarla eşleştiğinden emin olmak için dbt gibi araçlarda ilişki testi (referans bütünlüğü olarak da bilinir).
  • Tazelik ve dağıtım testi (boru hattı bölümünde belirttiğimiz gibi).
  • İstemciden gönderilen verilerin ambarın beklenen aralığı veya biçimi içinde olduğunu onaylayan aralık ve tür denetimi .

Bu testlerin birçoğunun çalışırken harika bir örneğini, Lyft'in keşif ve meta veri motoru Amundsen'e girerek bulabilirsiniz. Bu araç, şirketteki veri tüketicilerinin hem kullanılabilirliğini hem de güvenliğini artırmak için kullanıcı meta verilerini aramasına olanak tanır. Lyft'in veri kalitesini ve kullanılabilirliğini sağlamaya yönelik ana yöntemi, depolarına yeni veriler eklendiğinde eski, yinelenen verileri silen bir grafik temizleme Airflow görevi yoluyla bir tür sürüm oluşturmadır.

Neden şimdi daha iyi veri doğrulama tekniklerini benimseme zamanı?

Geçmişte, veri ekipleri, kuruluşları veri hijyeni ve yönetişiminin önemini anlamadığı için veri doğrulamayla mücadele ediyordu. Artık yaşadığımız dünya bu değil.

Şirketler, veri kalitesinin kritik öneme sahip olduğunun farkına vardılar. Kötü verileri reaktif bir şekilde temizlemek yeterli değildir. Dönüşüm yoluyla verileri temizlemek için veri mühendislerinden oluşan ekipler tutmak veya sonsuz SQL sorguları yazmak, gereksiz ve verimsiz bir zaman ve para kullanımıdır.

Eskiden %80 doğru olan (kullanım durumuna bağlı olarak verir veya alır) ve %20'lik bir hata payı bırakan verilere sahip olmak kabul edilebilirdi. Bu, basit bir analiz için uygun olabilir, ancak bir ürün öneri motorunu çalıştırmak, anormallikleri tespit etmek veya kritik iş veya ürün kararları vermek için yeterince iyi değildir.

Şirketler, ürünler oluşturmak ve harika işler yapmak için mühendisler tutar. Kötü verilerle uğraşmak zorunda kalırlarsa, zamanlarını en iyi şekilde değerlendirmiyorlar. Ancak veri doğrulama, onlara en iyi yaptıkları şeye, yani kuruluş için değer yaratmaya odaklanma zamanı verir.

İyi haber şu ki, yüksek kaliteli veriler elinizin altında. Bunu başarmak için şirketlerin, veri üreticileri ile veri tüketicileri arasındaki siloları ortadan kaldırarak herkesin değerini anlamasına yardımcı olması gerekiyor. Ardından, şirketler elektronik tabloları bir kenara atmalı ve analizlerine sürüm oluşturma ve şemalaştırma gibi daha iyi mühendislik uygulamaları uygulamalıdır. Son olarak, izleme ve veri yönetişimi için bir planla kuruluş genelinde en iyi veri uygulamalarının takip edildiğinden emin olmalıdırlar.

Veri getirisi elde etmek için proaktif analitik doğrulamaya yatırım yapın

Günümüz dünyasında, reaktif, örtük veri doğrulama araçları ve yöntemleri artık yeterli değildir. Size zamana, paraya ve belki de en önemlisi güvene mal olurlar.

Bu kaderden kaçınmak için bir proaktivite felsefesini benimseyin. Analitik verilerinizi baştan ve yazılım geliştirme yaşam döngüsü boyunca doğrulayarak sorunları pahalı sorunlara dönüşmeden önce belirleyin.

Ürün analizini kullanmaya başlayın