Mengapa harus Athena?
Amazon Athena adalah layanan analitik interaktif nirserver yang dibangun di kerangka kerja sumber terbuka yang memungkinkan Anda menganalisis petabita data di tempatnya. Dengan Athena, Anda dapat menggunakan SQL atau Apache Spark dan tidak diperlukan infrastruktur untuk mengatur atau mengelola. Harganya sederhana: Anda membayar berdasarkan data yang diproses atau menghitung yang digunakan.
Untuk memulai, Anda membuat grup kerja yang memungkinkan Anda menentukan mesin kueri, direktori kerja Anda di Amazon Simple Storage Service (S3) untuk menampung hasil eksekusi Anda, peran AWS Identity and Access Management (IAM) (jika diperlukan), dan tanda sumber daya Anda. Anda dapat menggunakan grup kerja untuk memisahkan pengguna, tim, aplikasi, atau beban kerja; menetapkan batas jumlah data yang dapat diproses oleh setiap kueri atau seluruh kelompok kerja; dan melacak biaya. Berdasarkan grup kerja yang Anda buat, Anda dapat (a) menjalankan kueri SQL dan mendapatkan berdasarkan data yang dipindai atau komputasi yang digunakan atau (b) menjalankan kode Apache Spark Python dan dikenai tarif per jam untuk mengeksekusi kode Anda.
Kalkulator harga AWS
Hitung biaya Amazon Athena dan arsitektur Anda dalam satu perkiraan.
Kueri SQL
Kueri SQL dengan Kapasitas yang Tersedia
Apache Spark
Biaya tambahan
Athena mengueri data langsung dari Amazon S3. Tidak ada biaya penyimpanan tambahan untuk mengueri data Anda dengan Athena. Anda dikenakan tarif S3 standar untuk penyimpanan, permintaan, dan transfer data. Secara default, hasil kueri disimpan di bucket S3 pilihan Anda dan ditagih dengan tarif S3 standar.
- Anda ditagih oleh S3 saat beban kerja Anda membaca, menyimpan, dan mentransfer data. Ini termasuk kueri yang berhasil dan tidak berhasil. Secara default, hasil kueri SQL dan hasil perhitungan Spark disimpan dalam bucket S3 pilihan Anda dan ditagih dengan tarif S3 standar. Lihat harga Amazon S3 untuk informasi lebih lanjut.
- Jika Anda menggunakan Katalog Data AWS Glue dengan Athena, Anda dikenai tarif Katalog Data standar. Untuk detailnya, kunjungi halaman harga AWS Glue.
- Kueri SQL pada sumber data gabungan (data yang tidak disimpan di S3) ditagih per terabita (TB) yang dipindai oleh Athena yang dikumpulkan di seluruh sumber data, dibulatkan ke megabita terdekat dengan minimum 10 megabita per kueri, kecuali Kapasitas yang Disediakan digunakan. Kueri tersebut juga memanggil fungsi AWS Lambda di akun Anda, dan Anda dikenakan biaya untuk penggunaan Lambda dengan tarif standar. Fungsi Lambda yang dipanggil oleh kueri gabungan tunduk pada tingkat gratis Lambda. Kunjungi halaman harga Lambda untuk detailnya.
Contoh harga
Contoh 1 – Kueri SQL
Misalnya Anda memiliki tabel dengan 4 kolom berukuran sama yang disimpan sebagai file teks tidak terkompresi dengan ukuran total 3 TB di Amazon S3. Menjalankan kueri untuk mendapatkan data dari satu kolom tabel mengharuskan Amazon Athena memindai seluruh file karena format teks tidak dapat dipisah.
- Maka biaya kueri ini: 15 USD. (Harga untuk 3 TB yang dipindai adalah 3 x 5 USD/TB = 15 USD.)
Jika mengompresi file menggunakan GZIP, Anda dapat melihat peningkatan kompresi 3:1. Dalam hal ini, Anda tentu sudah memiliki ukuran file terkompresi sebesar 1 TB. Biaya kueri atas file ini adalah sebesar 5 USD. Athena harus memindai seluruh file lagi, tetapi karena ukurannya tiga kali lebih kecil, Anda membayar sepertiga dari apa yang Anda lakukan sebelumnya. Jika Anda mengompresi file Anda dan mengonversinya ke format kolom seperti Apache Parquet, mencapai kompresi 3:1, Anda akan tetap memiliki 1 TB data di S3. Tetapi, dalam hal ini, karena Parquet adalah kolom, Athena hanya bisa membaca kolom yang relevan untuk kueri yang sedang dijalankan. Karena kueri yang dimaksud hanya mereferensikan satu kolom, Athena hanya membaca kolom tersebut dan dapat menghindari membaca dua perempat file. Karena hanya membaca seperempat file, Athena hanya memindai 0,25TB data dari S3.
- Maka biaya kueri ini: 1,25 USD. Ada penghematan 3x dari kompresi dan penghematan 4x untuk membaca hanya satu kolom.
(Ukuran file = 3TB/3 = 1 TB. Data dipindai saat membaca satu kolom = 1TB/4 = 0,25 TB. Harga untuk 0,25 TB = 0,25 x 5 USD/TB = 1,25 USD)
Contoh 2 — Kueri SQL dengan Kapasitas yang Tersedia
Misalkan tim Anda mendukung aplikasi web yang menyediakan analitik mandiri kepada pengguna yang mengirimkan kueri selama jam kerja dan mengharapkan kueri mereka selesai dalam jumlah waktu yang dapat diprediksi. Minggu lalu, pengguna aplikasi mengirimkan total 10.000 kueri yang memindai data sebesar 500 TB. Anda ingin menggunakan Kapasitas yang Tersedia untuk membantu Anda mempertahankan pengalaman pengguna yang konsisten seiring bertambahnya jumlah pengguna. Dari analisis kueri Anda, Anda menentukan bahwa 96 DPU cukup untuk beban kerja Anda saat ini.
- Untuk satu hari kerja, biaya untuk mendukung beban kerja ini dengan Kapasitas yang Tersedia dihitung sebagai 96 DPU * 0,30 USD per Jam DPU * 12 jam per hari = 345,60 USD.
Suatu pagi, Anda mengetahui bahwa sekumpulan pengguna aplikasi baru telah menyelesaikan orientasi dan, sebagai hasilnya, Anda mengharapkan volume kueri 2x lebih tinggi daripada sehari sebelumnya. Anda ingin memastikan pengguna memiliki performa yang sama seperti kemarin, tetapi jangan berharap semua pengguna mengirimkan kueri pada saat yang sama. Dua jam dalam sehari, Anda meningkatkan kapasitas sebesar 50% menjadi 144 DPU.
- Biaya untuk beban kerja hari ini sama dengan biaya 96 DPU selama 2 jam ditambah 144 DPU selama 10 jam, atau 96 DPU * 0,30 USD per Jam DPU * 2 jam + 144 DPU * 0,30 USD per Jam DPU * 10 jam = 489,60 USD.
Contoh 3 – Aplikasi Apache Spark
Pertimbangkan untuk menggunakan notebook di konsol Athena untuk menarik angka penjualan untuk kuartal sebelumnya dan membuat grafik untuk membuat laporan. Anda memulai sesi menggunakan notebook. Sesi Anda berlangsung selama 1 jam dan mengirimkan 6 perhitungan sebagai bagian dari sesi. Setiap perhitungan memerlukan 20 simpul pekerja 1-DPU untuk dijalankan dan berlangsung selama 1 menit.
- Jam pekerja DPU = Jumlah perhitungan x DPU yang digunakan per perhitungan x waktu pelaksanaan perhitungan = 6 perhitungan x 20 DPU per perhitungan x (1/60) jam per perhitungan = 2,0 DPU-jam
- Jam Driver DPU = DPU yang digunakan per sesi x waktu sesi = 1 DPU per sesi x 1 jam per sesi = 1,0 DPU-jam
- Total jam DPU = Jam pekerja DPU + Jam Driver DPU = 2,0 DPU-jam + 1,0 DPU-jam = 3,0 DPU-jam
- Biaya aplikasi Spark = 0,35 USD per DPU-jam x 3,0 DPU-jam = 1,05 USD
Catatan: S3 akan menagih Anda secara terpisah untuk menyimpan dan membaca data dan hasil eksekusi Anda.
Sumber daya harga tambahan
Hitung biaya bulanan Anda dengan mudah dengan AWS
Hubungi spesialis AWS untuk mendapatkan penawaran yang dipersonalisasi