Mempartisi Log untuk Kecepatan dan Biaya
Atur data agar penyelidikan berjalan lebih cepat dan lebih murah.
Mempartisi Log untuk Kecepatan dan Biaya adalah pelajaran AWS Security Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AWS Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AWS Security Academy mencakup 4 pelajaran total.
Biaya Pemindaian
Karena Athena mengenakan biaya berdasarkan data yang dipindai, mengueri log selama setahun hanya untuk menemukan peristiwa satu hari akan membuang waktu dan uang. Partisi adalah teknik yang memungkinkan Athena membaca hanya bagian data yang relevan, sehingga kueri menjadi jauh lebih cepat dan murah. Ini adalah optimasi Athena yang paling penting.
Apa Itu Partisi
Partisi membagi data tabel berdasarkan nilai satu kolom atau lebih, biasanya komponen tanggal, yang dipetakan ke awalan S3. Log CloudTrail sudah ditata berdasarkan region/year/month/day, sehingga mempartisinya berdasarkan komponen tersebut sesuai dengan struktur fisiknya dan memungkinkan Athena melewati folder yang berada di luar kueri Anda.
Pemangkasan Partisi
Ketika kueri memfilter kolom partisi, Athena melakukan pemangkasan partisi: Athena hanya membaca awalan yang cocok dan mengabaikan sisanya. Kueri untuk satu hari dengan partisi yang tepat akan memindai sebagian kecil bucket. Tanpa pemangkasan, kueri yang sama akan memindai semuanya, termasuk data yang jelas-jelas tidak mungkin diperlukan.
Menambahkan Partisi secara Manual
Salah satu cara mendaftarkan partisi adalah ALTER TABLE ADD PARTITION, dengan memetakan nilai partisi ke lokasi S3-nya. Cara ini berfungsi, tetapi merepotkan untuk data log harian karena Anda harus menambahkan partisi setiap hari. Cara ini sesuai untuk pemuatan data historis satu kali, tetapi tidak dapat diskalakan untuk log yang terus berjalan.
Proyeksi Partisi
Proyeksi partisi adalah pendekatan modern yang direkomendasikan: Anda memberi tahu Athena pola partisi, seperti tanggal dalam suatu rentang, lalu Athena menghitung awalan saat kueri dijalankan tanpa menyimpan setiap partisi di katalog. Untuk data CloudTrail dan Log Aliran yang terus bertambah, cara ini menghindari pemeliharaan terus-menerus dan menjaga pemangkasan tetap otomatis.
TBLPROPERTIES (
'projection.enabled'='true',
'projection.dt.type'='date',
'projection.dt.range'='2023/01/01,NOW',
'projection.dt.format'='yyyy/MM/dd'
)Perayap Glue untuk Partisi
Perayap Glue juga dapat menemukan partisi baru sesuai jadwal dan menambahkannya ke katalog. Cara ini mengotomatiskan pengelolaan partisi untuk data yang terus berubah, meskipun untuk tata letak berbasis tanggal yang dapat diprediksi, proyeksi partisi biasanya lebih sederhana dan tidak menimbulkan biaya perayap.
Format Kolumnar Melipatgandakan Penghematan
Partisi membatasi file yang dibaca; format kolumnar seperti Parquet membatasi kolom yang dibaca di dalam file tersebut. Menggabungkan keduanya—mengonversi log ke Parquet dan mempartisinya berdasarkan tanggal—dapat mengurangi data yang dipindai hingga beberapa tingkat besaran. Banyak tim menjalankan pekerjaan konversi untuk menyimpan salinan log bervolume tinggi yang dioptimalkan untuk kueri.
Kompresi
Mengompresi data log dengan format seperti GZIP atau Snappy semakin mengurangi byte yang dipindai dan biaya penyimpanan. Athena membaca file terkompresi secara transparan. Jika digabungkan dengan partisi dan penyimpanan kolumnar, kompresi melengkapi tiga teknik yang membuat analisis log berskala besar menjadi terjangkau.
Merancang Partisi untuk Keamanan
Untuk log keamanan, utamakan partisi berdasarkan tanggal karena investigasi dibatasi oleh waktu, dan pertimbangkan partisi berdasarkan akun atau wilayah untuk jejak organisasi agar Anda dapat menargetkan satu akun dengan cepat. Kunci partisi yang tepat mencerminkan cara investigasi Anda melakukan pemfilteran, sehingga pemangkasan maksimal untuk kueri nyata.
Memantau Metrik Pemindaian
Athena melaporkan data yang dipindai untuk setiap kueri. Memantau metrik ini memberi tahu Anda apakah partisi berfungsi: kueri yang dipartisi dengan baik dan dibatasi oleh waktu seharusnya memindai megabita, bukan terabita. Jika kueri memindai jauh lebih banyak dari yang diharapkan, filter Anda kemungkinan tidak selaras dengan kolom partisi.
Menggabungkan Optimasi
Susunan optimasinya adalah partisi untuk melewati data yang tidak relevan, format kolumnar untuk membaca hanya kolom yang diperlukan, dan kompresi untuk mengurangi jumlah byte. Diterapkan pada CloudTrail dan Log Aliran, teknik-teknik ini mengubah pemindaian yang lambat dan mahal menjadi investigasi yang cepat dan murah, persis seperti yang dibutuhkan analisis keamanan berskala besar.
Pemeriksaan Singkat
Uji pengetahuan Anda tentang partisi.
Rangkuman
Partisi membagi data tabel berdasarkan kolom (biasanya tanggal) agar Athena melakukan pemangkasan partisi dan hanya memindai awalan yang relevan, sehingga mengurangi biaya dan waktu. Utamakan proyeksi partisi daripada ADD PARTITION manual atau perayap untuk log yang terus bertambah. Gabungkan partisi dengan Parquet kolumnar dan kompresi untuk penghematan besar, partisi log keamanan berdasarkan tanggal dan akun, lalu pantau metrik data yang dipindai.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mempartisi Log untuk Kecepatan dan Biaya” gratis?
Ya — teks lengkap “Mempartisi Log untuk Kecepatan dan Biaya” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AWS Security Academy, upgrade ke CoddyKit PRO. Kursus AWS Security Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Mempartisi Log untuk Kecepatan dan Biaya”?
Atur data agar penyelidikan berjalan lebih cepat dan lebih murah. Kamu berlatih AWS Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AWS Security Academy?
Tidak diperlukan pengalaman sebelumnya. AWS Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Mempartisi Log untuk Kecepatan dan Biaya” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AWS Security Academy ini?
Ya. Setiap pelajaran AWS Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Melakukan Kueri Log S3 dengan Athena
- Membangun Tabel di Atas Data CloudTrail
- Menyelidiki Insiden dengan Kueri SQL
- Mempartisi Log untuk Kecepatan dan Biaya