AWS Athena: Bilmeniz Gereken Her Şey
Yayınlanan: 2022-05-02AWS Athena, AWS S3'te depolanan veriler için esnek, uygun maliyetli bir sorgulama hizmetidir.
AWS, dünyanın en büyük bulut sağlayıcılarından biridir. Bulut depolama ve hesaplama ihtiyaçları için çok sayıda hizmet sunar. AWS S3, AWS platformundaki en popüler hizmetlerden biridir. Buluttaki en ucuz depolama seçeneklerinden biri olmasının yanı sıra benzersiz bir dayanıklılık ve veri kullanılabilirliği sunar.

Çok sayıda özelliği ve teorik olarak sonsuz depolama alanı göz önüne alındığında, S3 kovalarında terabaytlarca veya petabaytlarca veriye sahip olmanız mümkündür. Her dosyayı tek tek açıp petabaytlarca veriyi manuel olarak okusaydık, bu tür verileri analiz etmek neredeyse imkansızdır. AWS Athena Hizmetinin devreye girdiği yer burasıdır.
Basit bir deyişle, AWS Athena, SQL sorguları kullanılarak S3 kovasında bulunan verilere basitçe erişilerek bir veri analizi hizmeti olarak kullanılır. Dolayısıyla, SQL'in temellerini bile anlıyorsanız, AWS Athena ile S3 verilerini analiz etmeye başlayabilirsiniz.
Bunu kısa bir örnekle anlayalım. Gruplarınızdan birini, kuruluşunuzdaki birden çok hesapta bulunan tüm dengeleyiciler için erişim günlüğü paketi olarak yapılandırdığınızı varsayalım. Yılların günlük verilerini nasıl sorgular ve bu günlük dosyalarından önemli ve anlamlı içgörüler elde edersiniz? Cevap AWS Athena'dır.
AWS Athena'nın Özellikleri
- SQL Tabanlı araç: AWS Athena, kullanımı çok basit, SQL tabanlı bir hizmettir. Athena'yı kovalarınızdan birine yönlendirmeniz, verilerinizin şemasını tanımlamanız ve ardından kovanızdaki SQL sorgularını kullanmaya başlamanız yeterlidir.
- Sunucusuz: AWS Athena'yı çalıştırmak için bir altyapıya sahip olmanız gerekmez. Athena sunucusuzdur ve gereksinimlerinize göre birden çok bilgi işlem kaynağını otomatik olarak kullanacak şekilde optimize edilmiştir.
- Hızlı ve optimize edilmiş: Athena, sorgu sonuçlarınızı mümkün olan en kısa sürede sunmak için verimli sayıda kaynak kullanacak şekilde optimize edilmiştir. S3 verilerinin küçük ve karmaşık analizleriyle harika çalışır.
- Uygun maliyetli: Athena, kullandıkça öde hizmetidir. Bu, AWS Athena'yı kullanmanın temel maliyeti olmadığı anlamına gelir; sadece Athena Hizmetinde çalıştırdığınız sorgular için ödeme yaparsınız.
- Verilerin Dayanıklılığı ve Kullanılabilirliği: Athena, S3 klasörlerinizdeki verilere güvendiğinden, verilerin yüksek düzeyde kullanılabilir ve dayanıklı olduğundan emin olabilirsiniz.
- Destek: Athena, JSON, CSV, Avro, ORC ve daha fazlası gibi çeşitli dosya formatlarını destekler.
- Güvenlik: Athena, kendisini son derece güvenli kılan IAM, paket ilkeleri ve ACL'ler gibi güvenlik özelliklerini kullanır.
- Athena Arka Uç: Athena, arka uç olarak açık kaynaklı Presto'yu kullanır. Presto, büyük veri iş yüklerini sorgulamak ve analiz etmek için dağıtılmış bir SQL motorudur.
AWS Athena'nın fiyatlandırması ve optimizasyonu
AWS Athena'yı kullanırken, AWS Athena'yı kullanırken taranan terabayt başına 5$ ücretlendirilirsiniz. Bu fiyat, bazı AWS bölgeleri için biraz farklılık gösterebilir.
- Verimli sorgular : SQL'e aşina iseniz, SQL kullanarak verilerden belirli sonuçlar almanın birden fazla yolu olabileceğini bilmelisiniz. Athena'yı optimize etmek için, sorgularınızı çalıştırması daha az zaman alacak verimli sorgular kullanabilirsiniz.
- Veri Dönüşümü: Sorgularınızı daha da optimize etmek istiyorsanız, verilerinizi sıkıştırabilir, bölümlendirebilir veya daha küçük bir veri kümesine dönüştürerek sorgu çalışma sürenizi daha da azaltabilirsiniz. Veri dönüştürmeyi kullanarak sorgunuzu %90'a kadar optimize edebilirsiniz.
- Sanal tablolara katılmak: Tabloları birleştirmek SQL'in çok önemli bir özelliğidir. Basit bir operasyon gibi görünse de çok karmaşık bir operasyon olabilir. Daha büyük tabloları solda ve daha az veri içeren tabloları sağda tutmanız önerilir.
AWS Athena ve Redshift Spectrum arasındaki fark
Redshift Spectrum, AWS S3 paketlerinde sorgu çalıştırmak için kullanılabilecek başka bir hizmettir. Hem Redshift Spectrum hem de Athena sunucusuzdur, S3'te karmaşık sorgular çalıştırabilir ve işlenen Terrabayt başına %5 olarak fiyatlandırılır, peki fark nedir?

Verim
AWS Athena, AWS tarafından sağlanan bir kaynak havuzundaki hesaplama kaynaklarını kullanır. Buna karşılık, Redshift spektrumu, Redshift küme boyutuna göre ayrılan kaynakları kullanır. Bu, Redshift Spectrum hizmeti tarafından kullanılan kaynaklar üzerinde daha fazla denetime sahip olmanızı sağlar ve gelişmiş performans istiyorsanız, Redshift kümenizin boyutunu her zaman artırabilirsiniz.
Verilerin işlenmek üzere yüklenmesi
Her iki hizmet de verilerinizde SQL sorguları çalıştırmak için sanal tablolar kullanır. Sanal Tablolar, şema yönetimi için Tutkal Veri Kataloğu kullanılarak yapılır. Athena, Glue Data Catalog şemasındaki verileri doğrudan kullanabilir, oysa Redshift Spectrum'u kullanırken, Glue Data Catalog Schema'dan harici tabloları yapılandırmanız gerekir.
Bunlar iki hizmet arasındaki temel farklardır, bu nedenle Redshift spektrumu ve Athena arasında seçim yaparken. Redshift veri ambarında depolanan verilerle birlikte S3'teki verileri sorgulamak istiyorsanız veya S3'te sorgu performansınızı iyileştirmek için daha yüksek maliyetler ödemek istiyorsanız Redshift Spectrum kullanmalısınız. Athena, tüm verileriniz yalnızca S3 klasörlerinde olduğunda faydalı olabilir.
AWS Athena ve S3 Select arasındaki fark
S3 seçimi, SQL kullanarak S3'te veri sorgulamak için AWS'nin sunduğu başka bir sunucusuz hizmettir. Ancak S3 Select ile Athena arasındaki temel fark, S3 Select kullanırken yalnızca SQL SELECT sorgularını kullanabilmeniz, Athena ise her türlü SQL sorgusu için kullanılabilmesidir. S3 seçiminin bir diğer sınırlaması, SEÇ işlemini aynı anda yalnızca bir nesne üzerinde gerçekleştirebilmenizdir.
Bu nedenle, gereksiniminiz yalnızca bir S3 nesnesinden veri veya veri alt kümesi çekmekse, S3 Select'i kullanmalısınız. JOIN gibi karmaşık sorgular ve işlemler için veya verileri bir S3 paketinin tamamında işlemek için AWS Athena'yı kullanmalısınız.
AWS Athena kullanmanın avantajları
- Athena, verileriniz için karmaşık ve pahalı bir veri analiz aracı geliştirme ihtiyacını ortadan kaldırır.
- Athena sunucusuzdur, bu da onu kullanımı oldukça kolay bir hizmet haline getirir. Altyapıyı korumanıza gerek yok.
- AWS, Athena sorgusunu çalıştırdıktan sonra saniyeler içinde sorgu sonuçlarını alabilmek için Athena'yı optimize etti.
- Athena sunucusuz olduğu için Athena hizmeti için ödeme yapmanız gerekmez. Yalnızca çalıştırmayı seçtiğiniz sorgular için ödeme yaparsınız. Bir sorguyu iptal etseniz bile, sorgunun tamamı için değil yalnızca işlenen veriler için ücretlendirilirsiniz.
- Athena, diğer AWS hizmetleriyle kolayca entegre edilebilir. AWS Athena için en önemli ve değerli entegrasyonlardan biri AWS Glue hizmetidir. AWS Glue, verileri daha verimli ve okunabilir bir forma dönüştürmek için kullanılabilen ve daha sonra AWS Athena ile analiz edilebilen bir ETL hizmetidir.
- Athena, aynı anda birden fazla sorgu çalıştırmanıza izin verir.
AWS Athena'nın Sınırlamaları
- Satır boyutu: Sanal bir AWS Athena tablosundaki satır boyutu 32 Megabayt'ı geçmemelidir. Bu sınır, CSV ve JSON dosyaları için çok sınırlı durumlarda 100 Megabayta kadar yükseltilebilir, ancak istenmeyen hatalardan kaçınmak için satır boyutunun 32 Megabayt ile sınırlandırılması önemle tavsiye edilir.
- Gizli Dosyalar: Adları alt çizgi (_) veya nokta (.) ile başlayan dosyalar Athena Hizmeti tarafından gizli olarak değerlendirilir. Bu, istenmeyen dosyaların işlenmesini önlemek için bir özellik olarak kullanılabilir.
- Athena, S3 Glacier veya S3 Glacier Deep Archive'daki verileri işleyemiyor . Bu depolama sınıfları yalnızca veri arşivleme seçenekleri içindir ve dakikalardan saatlere kadar bir geri alma süresine sahiptir, bu nedenle AWS Athena'nın bu sınıflardan veri alamadığı anlaşılır.
- Athena saklı yordamları desteklemez.
- Athena sürüm 1 , parametreli sorguları desteklemez . Bu, Athena sürüm 2'de desteklenir.
- MERGE, UPDATE, CREATE TABLE LIKE,
DESCRIBE INPUT
veDESCRIBE OUTPUT
gibi ifadeler desteklenmez.
Çözüm
Bu yazıda, AWS the AWS Athena'nın veri analiz aracını, özelliklerini, avantajlarını ve bazı sınırlamalarını tartıştık. Athena, S3 kovalarındaki verileri işlemek ve analiz etmek için en güçlü araçlardan biridir. Hizmetin sınırlamaları bile oldukça basittir ve gerektiğinde çözülebilir.
AWS S3 Storage'ın güvenliğini sağlamak için bazı en iyi uygulamalara da bakabilirsiniz.