ETL nedir?
Ayıkla, dönüştür ve yükle (ETL), birden çok kaynaktaki verileri, veri ambarı adı verilen büyük ve merkezi bir depoda birleştirme işlemidir. ETL, ham verileri temizleyip düzenlemek için bir dizi iş kuralı kullanır ve verileri depolama, veri analizi ve makine öğrenimi (ML) için hazırlar. Veri analiziyle belirli iş zekası ihtiyaçlarını (iş kararlarının sonuçlarını tahmin etme, raporlar ve panolar oluşturma, operasyonel verimsizliği azaltma ve dahası gibi) karşılayabilirsiniz.
ETL neden önemlidir?
Günümüzde kuruluşlar, aşağıdakiler gibi çeşitli kaynaklardan yapılandırılmış ve yapılandırılmamış verilere sahip olabilir:
- Çevrimiçi ödeme ve müşteri ilişkileri yönetimi (CRM) sistemlerinden müşteri verileri
- Satıcı sistemlerinden envanter ve operasyon verileri
- Nesnelerin interneti (IoT) cihazlarından sensör verileri
- Sosyal medya ve müşteri geri bildirimlerinden pazarlama verileri
- Şirket içi insan kaynakları sistemlerinden çalışan verileri
Ayıkla, dönüştür ve yükle (ETL) süreci uygulanarak her bir ham veri kümesi, analiz için daha kolay kullanılabilir bir biçimde ve yapıda hazırlanabilir ve böylece daha anlamlı öngörüler elde edilir. Örneğin çevrimiçi perakendeciler, talep tahmininde bulunmak ve envanteri yönetmek için satış noktalarından verileri analiz edebilir. Pazarlama ekipleri, tüketici davranışlarını incelemek için sosyal medyadaki müşteri geri bildirimleriyle CRM verilerini entegre edebilir.
ETL, iş zekasından nasıl yararlanır?
Ayıkla, dönüştür ve yükle (ETL), süreci daha güvenilir, doğru, ayrıntılı ve verimli hale getirerek iş zekasını ve analizini geliştirir.
Geçmiş bağlam
ETL, kuruluş verilerinin ayrıntılı bir geçmiş bağlamını sağlar. Bir kurum, yeni platformlardan ve uygulamalardan elde edilen verileri eski verilerle birleştirebilir. Daha yeni bilgilerin yanında daha eski veri kümelerini görüntüleyebilirsiniz, bu da size uzun süreli bir veri görünümü sağlar.
Birleştirilmiş veri görünümü
ETL, ayrıntılı analiz ve raporlama için verilerin birleştirilmiş bir görünümünü sağlar. Birden fazla veri kümesini yönetmek için hem zaman ve koordinasyon gerekir hem de verimsizliklere ve gecikmelere yol açabilir. ETL, veritabanlarını ve çeşitli veri biçimlerini tek ve tümleşik bir görünüme birleştirir. Veri entegrasyon süreci, veri kalitesini iyileştirir ve verileri taşımak, kategorilere ayırmak veya standart hale getirmek için kullanılabilecek zaman tasarrufu sağlar. Bu da büyük veri kümelerini analiz etmeyi, görselleştirmeyi ve anlamayı kolaylaştırır.
Doğru veri analizi
ETL, uygunluk ve yönetmelik standartlarını karşılamak için daha doğru bir veri analizi sağlar. ETL araçlarını, verilerin profilini oluşturmak, verileri denetlemek ve temizlemek için veri kalitesi araçlarıyla bir araya getirerek verilerin güvenilir olmasını sağlayabilirsiniz.
Görev otomasyonu
ETL, verimli analiz için tekrarlanabilir veri işleme görevlerini otomatikleştirir. ETL araçları, veri taşıma sürecini otomatikleştirir ve araçları, veri değişikliklerini düzenli olarak veya çalışma zamanında entegre edecek şekilde ayarlayabilirsiniz. Bunlar sonucunda veri mühendisleri, verileri taşıma ve biçimlendirme gibi can sıkıcı görevleri yönetmeye daha az zaman harcayıp inovasyona daha çok vakit ayırabilirler.
ETL nasıl gelişti?
Ayıkla, dönüştür ve yükle (ETL), verileri analiz için tablolar şeklinde saklayan ilişkisel veritabanlarının çıkışına dayanmaktadır. İlk ETL araçları, verileri analiz için işlemsel veri biçimlerinden ilişkisel veri biçimlerine dönüştürmeye çalışıyordu.
Geleneksel ETL
Çoğunlukla ham veriler, çoğu okuma ve yazma isteğini destekleyen ancak analiz açısından çok iyi olmayan işlemsel veritabanlarında saklanırdı. Bunu, elektronik bir tablodaki satır olarak düşünebilirsiniz. Örneğin, bir e-ticaret sistemindeki işlemsel veritabanı bir siparişteki satın alınan ürünü, müşteri ayrıntılarını ve sipariş ayrıntılarını saklardı. Yıl boyunca birden fazla ürün satın alan aynı müşteri için tekrarlayan girişlere sahip işlemlerin uzun bir listesi yıl içinde oluşurdu. Veriler yinelendiği için o yıl içindeki en popüler ürünleri ve satın alma eğilimlerini analiz etmek zahmetli bir iş haline gelirdi.
Bu sorunun üstesinden gelmek için ETL araçları, bu işlemsel verileri otomatik olarak birbirine bağlı tablolarla ilişkisel verilere dönüştürürdü. Analistler, düzenlere ve eğilimlere ek olarak, tablolar arasındaki ilişkileri belirlemek için sorgular kullanabilirdi.
Modern ETL
ETL teknolojisi geliştikçe hem veri türleri hem veri kaynakları katlanarak artmıştır. Devasa veritabanları (veri havuzları adı da verilir) oluşturmak için bulut teknolojisi ortaya çıkmıştır. Bu veri havuzları, birden çok kaynaktan veri alabilir ve temelinde, zaman içinde ölçeklenebilen donanım kaynakları yer alabilir. ETL araçları ayrıca daha gelişmiş olabilir ve modern veri havuzlarıyla çalışabilir. Verileri, eski veri biçimlerinden modern veri biçimlerine dönüştürebilir. Aşağıda modern veritabanlarının örneklerini bulabilirsiniz.
Veri ambarları
Veri ambarı, birden çok veritabanı depolayabilen merkezi bir depodur. Her veritabanında, verilerinizi tablolara ve tablodaki veri türlerini açıklayan sütunlara organize edebilirsiniz. Veri ambarı yazılımı, veri işlemenizi optimize etmek için katı hal sürücüleri (SSD'ler), sabit sürücüler ve diğer bulut depolama alanları gibi birden çok türdeki depolama donanımında çalışır.
Veri gölleri
Veri gölü ile yapılandırılmış ve yapılandırılmamış verilerinizi bir merkezi depoda ve her ölçekte depolayabilirsiniz. Verilerinizi, gelecekte sahip olabileceğiniz sorulara dayanarak ilk önce yapılandırmak zorunda kalmadan, olduğu gibi depolayabilirsiniz. Veri gölleri, daha iyi kararlara yön vermek için verilerinizde SQL sorguları, büyük veri analizi, tam metin araması, gerçek zamanlı analiz ve makine öğrenimi (ML) gibi farklı analiz türleri çalıştırmanıza olanak sağlar.
ETL nasıl çalışır?
Verileri kaynak sistemden hedef sisteme düzenli aralıklarla taşıyarak ayıklama, dönüştürme ve yükleme (ETL) işleri. ETL süreci üç adıma ayrılır:
- İlgili verileri kaynak veritabanından ayıklama
- Verileri, analize daha uygun olacak şekilde dönüştürme
- Verileri veritabanına yükleme
Veri ayıklama nedir?
Veri ayıklamada ayıkla, dönüştür ve yükle (ETL) araçları, birden çok kaynaktan ham verileri ayıklayıp kopyalar ve bunları hazırlama alanında saklar. Hazırlama alanı (giriş alanı), ayıklanan verileri geçici olarak saklamak için ara bir depolama alanıdır. Veri hazırlama alanları genelde geçicidir, yani veri ayıklama işlemi tamamlandıktan sonra içerikleri silinir. Ancak hazırlama alanı, sorun giderme amaçlarıyla veri arşivi de saklayabilir.
Sistemin, veri kaynağından hedef veri deposuna verileri ne sıklıkla gönderdiği, temelindeki değişen verileri yakalama mekanizmasına bağlıdır. Veri ayıklama çoğunlukla aşağıdaki üç yoldan biriyle gerçekleşir.
Güncelleme bildirimi
Güncelleme bildiriminde kaynak sistem, bir veri kaydı değiştiğinde bunu size bildirir. Sonrasında bu değişiklik için ayıklama sürecini çalıştırabilirsiniz. Çoğu veritabanı ve web uygulaması, bu veri entegrasyonu yöntemini desteklemek için güncelleme mekanizmaları sağlar.
Artımlı ayıklama
Bazı veri kaynakları, güncelleme bildirimleri sağlayamaz ancak belirli bir süre boyunca değiştirilen verileri belirler ve ayıklar. Bu durumda sistem, haftada bir, ayda bir veya kampanyanın sonu gibi düzenli aralıklarla değişiklikleri kontrol eder. Yalnızca değişmiş verileri ayıklamanız gerekir.
Tam ayıklama
Bazı sistemler veri değişikliklerini belirleyemez veya bildirimde bulunamaz. Bu nedenle tek seçenek tüm verileri yeniden yüklemektir. Bu ayıklama yöntemi, hangi kayıtların yeni olduğunu kontrol etmek için son ayıklananların bir kopyasını tutmanızı gerektirir. Bu yaklaşım, yüksek veri aktarımı hacimleri içerdiğinden bunu yalnızca küçük tablolar için kullanmanızı öneririz.
Veri dönüşümü nedir?
Veri dönüştürmede ayıkla, dönüştür ve yükle (ETL) araçları, ham verileri veri ambarına hazırlamak üzere hazırlama aşamasında söz konusu verileri dönüştürebilir ve birleştirebilir. Veri dönüştürme aşaması, aşağıdaki veri değişikliği türlerini içerebilir.
Temel veri dönüşümü
Temel dönüşümler, hataları kaldırarak, veri alanlarını boşaltarak veya verileri basitleştirerek veri kalitesini iyileştirir. Bu dönüşümlerin örneklerini aşağıda bulabilirsiniz.
Veri temizleme
Veri temizleme, hataları kaldırır ve kaynak verilerini, hedef veri biçimiyle eşleştirir. Örneğin, boş veri alanlarını 0 rakamıyla eşleştirebilir ve "Üst öğe" (parent) veri değerini "P" ve "Alt öğe" (child) veri değerini "C" ile eşleştirebilirsiniz.
Yinelenen verileri kaldırma
Veri temizlemede tekilleştirme, yinelenen kayıtları belirler ve kaldırır.
Veri biçimi revizyonu
Biçim revizyonu karakter kümeleri, ölçüm birimleri ve tarih/saat değerleri gibi verileri tutarlı bir biçime dönüştürür. Örneğin, bir gıda şirketinin, malzemelerin miktarının kilogramla ve pound ile ölçüldüğü farklı tarif veritabanları olabilir. ETL, her şeyi pound olarak dönüştürür.
Gelişmiş veri dönüşümü
Gelişmiş dönüşümler, verileri daha kolay analiz için optimize etmek üzere iş kuralları kullanır. Bu dönüşümlerin örneklerini aşağıda bulabilirsiniz.
Türetme
Türetme, mevcut değerlerden yeni değerler hesaplamak için verilerinize iş kurallarına uygular. Örneğin, giderleri çıkararak geliri kâra dönüştürebilir veya her ürünün fiyatını sipariş edilen ürün sayısıyla çarparak satın almanın toplam maliyetini hesaplayabilirsiniz.
Katılma
Veri hazırlamada katılma, farklı veri kaynaklarından aynı veriler arasında bağlantı kurar. Örneğin, farklı satıcılardan satın alma değeri ekleyerek ve hedef sistemde yalnızca son toplamı saklayarak bir ürünün toplam satın alma maliyetini bulabilirsiniz.
Ayırma
Bir sütunu veya veri özniteliğini, hedef sistemdeki birden fazla sütuna ayırabilirsiniz. Örneğin, veri kaynağı müşteri adını "Jane John Doe" olarak kaydederse bunu ad, ikinci ad ve soyadı olarak ayırabilirsiniz.
Özetleme
Özetleme, yüksek sayıdaki veri değerlerini daha küçük veri kümesine azaltarak veri kalitesini iyileştirir. Örneğin, müşteri siparişi fatura değerleri, çok sayıda farklı küçük miktarlar içerebilir. Müşteri yaşam döngüsü değeri (CLV) ölçümü oluşturmak için belirli bir süre içindeki bu miktarları toplayarak verileri özetleyebilirsiniz.
Şifreleme
Veri akışları hedef veritabanına yayınlanmadan önce şifreleme ekleyerek veri yasalarına veya veri gizliliğine uymak için hassas verileri koruyabilirsiniz.
Veri yükleme nedir?
Veri yüklemede ayıkla, dönüştür ve yükle (ETL) araçları, dönüştürülen verileri hazırlama alanından hedef veri ambarına taşır. ETL kullanan çoğu kuruluş için süreç otomatikleştirilir, iyice tanımlanır, sürekli ve toplu işlem odaklıdır. Verilerin yüklenmesinde iki yöntem izlenir.
Tam yükleme
Tam yüklemede, kaynaktaki tüm veriler dönüştürülür ve veri ambarına taşınır. Tam yükleme, genelde verileri kaynak sistemden veri ambarına ilk kez yüklediğinizde gerçekleşir.
Artımlı yükleme
Artımlı yüklemede ETL araçları, hedef ve kaynak sistemler arasındaki deltayı (yani farklı verileri) düzenli aralıklarla yükler. Son ayıklama tarihini kaydeder ve böylece, yalnızca bu tarihten sonra yüklenen kayıtlar eklenir. Artımlı yüklemeyi uygulamanın iki yolu bulunur.
Artımlı yükleme akışı
Küçük hacimli verileriniz varsa veri işlem hatlarındaki sürekli değişiklikleri hedef veri ambarına yayınlayabilirsiniz. Verilerin hızı saniyede milyonlarca olaya yükseldiğinde daha zamanında kararlar vermek için veri akışlarını izlemek ve işlemek üzere olay akışı işlemesini kullanabilirsiniz.
Toplu artımlı yükleme
Büyük hacimli verileriniz varsa düzenli aralıklarla yük verisi değişikliklerini gruplar halinde toplayabilirsiniz. Veriler eşitlendiği için bu belirlenmiş süre içinde kaynak ve hedef sistemde hiçbir işlem yapılamaz.
ELT nedir?
Ayıkla, yükle ve dönüştür (ELT), işlemleri sırasında tersine çeviren bir ayıkla, dönüştür ve yükle (ETL) uzantısıdır. Verileri işlemeden önce doğrudan hedef sisteme yükleyebilirsiniz. Hedef veri ambarı bünyesindeki veri eşleştirme özelliklerini barındırdığından aradaki hazırlama alanı, gerekli değildir. ELT, hedef veritabanlarına dönüşümler için ihtiyaç duydukları işleme gücünü veren bulut altyapısının benimsenmesiyle daha popüler hale geldi.
ETL ve ELT karşılaştırması
ELT, sık sık yükleme gerektiren büyük hacimli ve yapılandırılmamış veri kümelerinde iyi çalışır. Analiz için planlama, veri ayıklama ve depolama süreçlerinden sonra yapılabildiğinden büyük veri için de idealdir. Hacimli dönüştürme süreçlerini analiz aşamasına bırakır ve minimal olarak işlenmiş ham verileri veri ambarına yüklemeye odaklanır.
ETL süreci başlangıçta daha çok tanımlama gerektirir. Hedef veri türlerini, yapıları ve ilişkileri tanımlamak için analizin başlangıçtan itibaren dahil olması gerekir. Veri bilimciler, ETL'yi genelde eski veritabanlarını ambara yüklemek için kullanır ve günümüzde ELT bir norm haline gelmiştir.
Veri sanallaştırma nedir?
Veri sanallaştırma, verileri fiziksel olarak ayıklamadan, dönüştürmeden veya yüklemeden, entegre bir veri görünümü oluşturmak için yazılım soyutlama katmanı kullanır. Kuruluşlar bu işlevi, hedef ve kaynak için ayrı platformlar oluşturup yönetme maliyeti ve karmaşıklığı olmadan sanal bir tümleşik veri deposu olarak kullanır. Veri sanallaştırma özelliğini ayıkla, dönüştür ve yükle (ETL) özelliğiyle birlikte kullanabilseniz de bu özellik, giderek daha çok ETL ve diğer fiziksel veri entegrasyonu yöntemlerine alternatif olarak kabul edilmektedir. Örneğin, birkaç farklı kaynak veri deposundan hızlı bir şekilde sanal tablo (gerçekleştirilmiş görünüm) oluşturmak için AWS Glue Esnek Görünümleri kullanabilirsiniz.
AWS Glue nedir?
AWS Glue; analiz kullanıcılarının analiz, makine öğrenimi ve uygulama geliştirme için, birden fazla kaynaktan gelen verileri keşfetmesi, hazırlaması, taşıması ve entegre etmesini kolaylaştıran sunucusuz bir veri entegrasyonu hizmetidir.
- Bu şekilde, 80'den fazla farklı veri deposu keşfedebilir ve bu depolara bağlanabilirsiniz.
- Verilerinizi merkezi bir veri kataloğunda yönetebilirsiniz.
- Veri mühendisleri, ÇDY (çıkartma, dönüştürme, yükleme) geliştiricileri, veri analistleri ve iş kullanıcıları, veri göllerine veri yüklemek üzere ÇDY veri hatları oluşturup bunları çalıştırmak ve izlemek için AWS Glue Studio hizmetinden faydalanabilir.
- AWS Glue Studio; Görsel ÇDY, not defteri ve kod düzenleyici arayüzleri sunar. Böylece kullanıcılar kendi yeteneklerine uygun araçlara ulaşmış olur.
- Etkileşimli oturumlar ile veri mühendisleri, tercih ettikleri EGO (entegre geliştirme ortamı) veya not defterini kullanarak verileri keşfedebilir ve işleri geliştirip test edebilir.
- AWS Glue sunucusuz olarak ve talep üzerine otomatik olarak ölçeklenir. Böylece altyapı yönetmenize gerek kalmadan petabayt ölçeğindeki verilerden öngörüler elde etmeye odaklanabilirsiniz.
AWS hesabı oluşturarak AWS Glue hizmetinden faydalanmaya başlayın.