Apache Iceberg nedir?

Apache Iceberg, veri göllerinde depolanan büyük veri kümelerinde veri işlemeyi basitleştirmeye yardımcı olan dağıtılmış, topluluk odaklı, Apache 2.0 lisanslı, %100 açık kaynaklı bir veri tablosu biçimidir. Veri mühendisleri her ölçekte hızlı, verimli ve güvenilir olan ve veri kümelerinin zamansal değişiminin kayıtlarını tutan Apache Iceberg'i kullanıyor. Apache Iceberg'in kolay entegrasyon sunduğu veri işleme çerçeveleri arasında Apache Spark, Apache Flink, Apache Hive, Presto ve daha fazlası bulunuyor.

İşlemsel veri gölü nedir?

Veri gölü, her ölçekte yapılandırılmış ve yapılandırılmamış verilerinizi depolamanızı sağlayan merkezi bir depodur. Veri işlemi, tek bir işlem sırasında gerçekleştirilen bir dizi veri alışverişidir. Örneğin, bir müşteri bir banka hesabından para çektiğinde banka, hesabın yeterli bakiyeye sahip olduğunu doğrulamak, kimliği doğrulamak ve hesaptan çekilen paranın borçlandırılması dahil olmak üzere birkaç veri alışverişi gerçekleştirir. İşlemsel veri gölü, verileri yalnızca geniş ölçekte depolamakla kalmayıp aynı zamanda işlemsel operasyonları da destekleyen ve verilerin doğru, tutarlı olmasını sağlayan ve veri ile veri yapısının zaman içinde nasıl değiştiğini izlemenize olanak tanıyan bir veri gölü türüdür. Bu özellikler Bölünmezlik, Tutarlılık, İzolasyon ve Dayanıklılık (ACID) olarak bilinir:

  • Bölünmezlik, her işlemin tamamen başarılı veya tamamen başarısız olan tek bir olay olduğunu garanti eder. Ortada kalma durumu yoktur. 
  • Tutarlılık, yazılan tüm verilerin veri gölünün tanımlanan kurallarına göre geçerli olmasını sağlayarak verilerin doğru ve güvenilir olmasını sağlar. 
  • İzolasyon, birden fazla işlemin birbirini etkilemeden aynı anda gerçekleşmesini sağlayarak her işlemin bağımsız olarak yürütülmesini sağlar.
  • Dayanıklılık, bir işlem gönderildikten sonra verilerin kaybolmadığı veya bozulmadığı anlamına gelir. Elektrik kesintisi gibi bir sistem arızası durumunda veriler kurtarılabilir.

Apache Iceberg'i kullanmanın avantajları nelerdir?

İşlemsel veri gölleri için Apache Iceberg'i kullanmanın temel avantajlarından bazıları şunlardır:

  • SQL'ye aşinalık: Yapılandırılmış sorgu dili (SQL), her tür uygulamada sıkça kullanılan popüler bir sorgu dilidir. Farklı programlama dilleriyle iyi entegre olduğundan ve ayrıca ifadelerinde yaygın İngilizce anahtar kelimeler kullandığı için öğrenmesi oldukça kolay olduğundan veri analistleri ve geliştiriciler SQL'yi öğrenir ve kullanır. Apache Iceberg, yapılandırılmış sorgu diline (SQL) aşina olan herkesin yeni bir dil öğrenmeye ihtiyaç duymadan veri gölleri oluşturmasına ve çoğu veri gölü işlemini gerçekleştirmesine olanak tanır.
  • Veri Tutarlılığı: Apache Iceberg, verileri okuyan ve yazan tüm kullanıcıların aynı verileri gördüğünden emin olmak için veri tutarlılığı sağlar. 
  • Veri yapısı: Apache Iceberg, veri yapınızda şema evrimi olarak da bilinen kolay değişiklikler yapmanıza olanak tanır ve bu da kullanıcıların temel verileri bozmadan bir veri tablosundaki sütunları ekleyebileceği, yeniden adlandırabileceği veya kaldırabileceği anlamına gelir.
  • Veri Sürümü Oluşturma: Apache Iceberg, kullanıcıların verilerde zaman içinde gerçekleşen değişiklikleri takip etmesine olanak tanıyan veri sürümü oluşturmayı destekler. Bu, kullanıcıların verilerin geçmiş sürümlerine erişmesine ve bunları sorgulamasına, ayrıca güncellemeler ve silmeler arasında verilerde yapılan değişiklikleri analiz etmesine olanak tanıyan zaman yolculuğu özelliğine imkan sunar.
  • Platformlar arası destek: Apache Iceberg; Apache Spark, Apache Hive ve Presto dahil olmak üzere çeşitli farklı depolama sistemlerini ve sorgu altyapılarını destekler. Bu, Iceberg'in çeşitli farklı veri işleme ortamlarında kullanılmasını kolaylaştırır.
  • Artımlı işleme: Iceberg, kullanıcıların yalnızca CDC (Değişen Verileri Yakalama) olarak da bilinen, son çalıştırmadan bu yana değişen verileri işlemesine izin veren artımlı işlemeyi destekler. Bu, veri işleme verimliliğini ve performansını artırmaya yardımcı olabilir.

Apache Iceberg için yaygın kullanım örnekleri nelerdir?

Apache Iceberg, aşağıdakiler dahil olmak üzere birçok veri gölü kullanım örneği için uygundur:

  • Veri gizliliği yasalarını uygularken olduğu gibi, sık sık silme gerektiren veri göllerindeki veri tabloları.
  • Veri gölünde kayıt düzeyinde güncellemeler gerektiren veri tabloları. Bu, veri yerleşiminden sonra veri kümenizde müşteri iadeleri gibi sonraki olaylar nedeniyle değişebilecek satış verileri benzeri sık güncellemeler gerektiren durumlarda faydalı olacaktır. Iceberg, tüm veri kümesini yeniden yayımlamaya gerek kalmadan kayıtları tek tek güncelleme imkanı sunar.
  • Veri göllerindeki veri tabloları, Yavaş Değişen Boyut (SCD) tabloları gibi öngörülemeyen değişikliklere sahiptir. Zaman içinde bilinmeyen aralıklarla değişebilen ad, konum ve iletişim bilgilerini içeren bir müşteri kayıt tablosu SCD'ye bir örnektir.
  • Veri gölü ile yapılan işlemler için garantili veri geçerliliği, dayanıklılık ve güvenilirlik gerektiğinde bölünmez, tutarlı, izole ve dayanıklı işlemler için Apache Iceberg tabloları devreye alınabilir.
  • Trend analizi gerçekleştirmek, belirli bir süre boyunca verilerde yapılan değişiklikleri analiz etmek veya sorunları düzeltmek için önceki bir sürüme geri yüklemek ya da geri almak için verilerin geçmiş sürümlerini sorgulamak üzere zamanda geriye gitmeye ihtiyaç duyulması.

Apache Iceberg'i kimler kullanır?

Veri mühendisleri, veri yöneticileri, veri analistleri ve veri bilimciler, Apache Iceberg'i kullananlar arasındadır.  Veri mühendisleri ve yöneticileri, ölçeklenebilir veri depolama sistemleri tasarlamak ve oluşturmak için Apache Iceberg'i kullanabilir.  Veri analistleri ve veri bilimciler, Apache Iceberg'i kullanarak büyük veri kümelerini verimli bir şekilde analiz edebilir. 

Neden Apache Iceberg'i seçmelisiniz?

Apache Iceberg, büyük veri kümelerini uygun ölçekte işlemenin hızlı ve etkili bir yolunu sunar. Aşağıdaki avantajları sunar:

  1. Açık kaynak: Apache Iceberg açık kaynaklı bir projedir ve dolayısıyla, kullanımı ücretsizdir ve özel ihtiyaçlarınızı karşılayacak şekilde özelleştirilebilir. Ayrıca, sürekli gelişen ve projeye yeni özellikler ekleyen aktif bir geliştirici topluluğuna sahiptir. 
  2. Ölçeklenebilirlik: Apache Iceberg, büyük veri kümelerini verimli bir şekilde işlemek için tasarlanmıştır. Verileri birden çok düğüm arasında bölümleyip düzenleyebilir ve bu da iş yükünü dağıtmaya ve veri işlemeyi hızlandırmaya yardımcı olur. 
  3. Performans: Apache Iceberg, "predicate push down" ve şema geliştirme gibi sütunlu depolama ve sıkıştırma teknikleri dahil olmak üzere, sorgu performansını optimize etmek için çeşitli özelliklere sahiptir. 
  4. Esneklik: Apache Iceberg, verilerinizin düzenlenme şeklini değiştirmenize olanak tanır ve böylece sorgularınızı yeniden yazmaya veya veri yapılarınızı yeniden oluşturmaya gerek kalmadan zaman içinde gelişebilir. Ayrıca birden fazla veri formatını ve veri kaynağını destekleyerek mevcut sistemlerle entegrasyonu kolaylaştırır. 
  5. Güvenilirlik: Apache Iceberg, işlemlere verdiği destek sayesinde veri tutarlılığı ve güvenilirliği sağlar. Verilerin zaman içinde nasıl değiştiğini izleyebilir ve sorunları düzeltmenize yardımcı olması için geçmiş sürümlere geri dönebilirsiniz.

Hangi AWS hizmetleri Iceberg'i destekliyor?

Apache Iceberg; Apache Spark, Apache Flink, Apache Hive ve Presto gibi popüler veri işleme çerçevelerini destekler. Amazon Athena, Amazon EMR ve AWS Glue gibi AWS hizmetleri, Apache Iceberg dahil olmak üzere işlemsel veri gölü çerçeveleri için yerel desteğe sahiptir. Desteklenen AWS hizmetleriyle birlikte Apache Iceberg, genellikle S3'te depolamaya dayalı işlemsel bir veri gölü sağlar.

  • Amazon Athena, açık tablo ve dosya biçimlerini destekleyen, açık kaynak çerçeveler üzerinde oluşturulmuş, sunucusuz ve etkileşimli bir analiz hizmetidir. Athena, petabaytlarca veriyi bulunduğu yerde analiz etmenin basit ve esnek bir yolunu sunar. Athena, veriler için Apache Parquet biçimini ve meta depoları için AWS Glue kataloğunu kullanan Apache Iceberg tablolarına yönelik okuma, zamanda yolculuk, yazma ve DDL sorguları için yerel destek sağlar. 
  • Amazon EMR, petabayt ölçekli veri işleme, etkileşimli analiz ve makine öğrenimi için Apache Spark, Hadoop, Presto ve Hive gibi açık kaynak çerçeveler kullanan büyük veri çözümüdür. Amazon EMR 6.5.0'dan başlayarak, Amazon EMR kümelerinde Iceberg tablo biçimiyle Apache Spark 3'ü kullanabilirsiniz. Spark, Trino, Flink ve Hive gibi EMR çerçeveleri Apache Iceberg'i destekler.
  • AWS Glue; analiz, makine öğrenimi (ML) ve uygulama geliştirme için, birden fazla kaynaktan gelen verileri keşfetmeyi, hazırlamayı, taşımayı ve entegre etmeyi kolaylaştıran sunucusuz bir veri entegrasyonu hizmetidir.  AWS Glue 3.0 ve sonraki sürümleri, veri gölleri için Apache Iceberg çerçevesini destekler. Amazon S3'teki Iceberg tablolarında okuma ve yazma işlemleri gerçekleştirmek için AWS Glue'yu kullanabilir veya AWS Glue Veri Kataloğu'nu kullanarak Iceberg tablolarıyla çalışabilirsiniz. Ekleme ve güncelleme dahil olmak üzere ek işlemlerin yanı sıra tüm Spark sorguları ve Spark yazma işlemleri desteklenir. 

AWS'de Sonraki Adımlar

Ürünle ilgili diğer kaynaklara göz atın
Analiz hizmetlerine göz atın  
Ücretsiz bir hesap için kaydolun

AWS Ücretsiz Kullanım için anında erişim elde edin.

Kaydolun 
Konsolda oluşturmaya başlayın

AWS Yönetim Konsolu'nda oluşturmaya başlayın.

Oturum açın