全部产品
Search
文档中心

Simple Log Service:Kueri dan analisis terjadwal (Scheduled SQL)

更新时间:Jun 27, 2025

Layanan Log Sederhana menyediakan fitur SQL Terjadwal. Anda dapat menggunakan fitur ini untuk menganalisis data secara otomatis pada waktu yang dijadwalkan, menggabungkan data untuk penyimpanan jangka panjang, serta memproyeksikan dan menyaring data. Topik ini menjelaskan informasi latar belakang, fitur, istilah, skenario penjadwalan dan pelaksanaan, serta catatan penggunaan SQL Terjadwal.

Informasi Latar Belakang

Data terkait waktu seperti log dan metrik dapat menumpuk dalam jumlah besar. Sebagai contoh, jika 10 juta catatan data dihasilkan per hari, total sekitar 3,6 miliar catatan data terakumulasi per tahun. Penyimpanan data jangka panjang membutuhkan ruang penyimpanan yang signifikan. Jika Anda mempersingkat periode retensi data untuk mengurangi kebutuhan penyimpanan, biaya penyimpanan dapat berkurang, tetapi hal ini dapat mengakibatkan hilangnya data yang berharga. Selain itu, volume data yang besar dapat menurunkan kinerja analisis.

Penyimpanan dan analisis data memiliki persyaratan berikut:

  • Sebagian besar metrik bersifat sensitif terhadap waktu. Data historis bisa memiliki presisi menit atau jam, tetapi data baru harus memiliki presisi yang lebih tinggi.

  • Pengguna data seperti spesialis operasi data dan ilmuwan data harus menyimpan data lengkap untuk analisis.

  • Pemrosesan data lengkap dan waktu respons cepat perlu diseimbangkan selama analisis data.

Untuk memenuhi persyaratan tersebut, Layanan Log Sederhana menyediakan fitur Scheduled SQL. Anda dapat menggunakan fitur ini untuk menekan data historis dengan presisi tinggi menjadi data dengan presisi rendah dan menyimpan data terkompresi tersebut untuk jangka panjang. Setelah mengaktifkan fitur Scheduled SQL, Anda dapat mengubah periode retensi data dari logstore sumber atau penyimpanan metrik menjadi nilai yang lebih kecil seperti 15 hari sesuai kebutuhan bisnis Anda, serta mengubah periode retensi data dari logstore tujuan atau penyimpanan metrik menjadi permanen. Hal ini membantu mengurangi latensi saat menganalisis data jangka panjang dan mengurangi biaya penyimpanan.

Fitur

Scheduled SQL mendukung sintaksis SQL-92 dan sintaksis pernyataan kueri Layanan Log Sederhana. Pekerjaan Scheduled SQL berjalan secara berkala berdasarkan aturan penjadwalan dan menulis hasil pelaksanaan ke logstore tujuan atau penyimpanan metrik.

  • Analisis data terjadwal: Anda dapat menulis pernyataan SQL atau pernyataan kueri berdasarkan kebutuhan bisnis Anda untuk melakukan analisis data terjadwal dan menyimpan hasil analisis ke logstore tujuan atau penyimpanan metrik.

  • Agregasi global: Anda dapat menggabungkan data lengkap dan terperinci untuk penyimpanan. Proses ini melibatkan kompresi data dengan kehilangan. Ukuran penyimpanan dan presisi data setelah kompresi harus memenuhi persyaratan. Contohnya:

    • Jika Anda menggabungkan 3,6 miliar catatan data untuk penyimpanan berdasarkan presisi detik, total 31,5 juta catatan data disimpan, dan ukuran penyimpanan adalah 0,875% dari data lengkap.

    • Jika Anda menggabungkan 3,6 miliar catatan data untuk penyimpanan berdasarkan presisi menit, total 525.000 catatan data disimpan, dan ukuran penyimpanan adalah 0,015% dari data lengkap.

  • Proyeksi dan penyaringan: Anda dapat menyaring data mentah berdasarkan bidang tertentu sesuai kondisi tertentu dan menyimpan data yang diperoleh ke logstore tujuan atau penyimpanan metrik.

    Anda juga dapat memproyeksikan dan menyaring data dengan menggunakan fitur transformasi data, yang menggunakan sintaksis Domain Specific Language (DSL). Sintaksis DSL memberikan kemampuan ekstraksi, transformasi, dan pemuatan (ETL) yang lebih tinggi daripada sintaksis SQL. Untuk informasi lebih lanjut, lihat Dasar-dasar transformasi data.

Istilah

  • Pekerjaan: Setiap tugas SQL Terjadwal sesuai dengan pekerjaan. Pekerjaan mencakup informasi seperti konfigurasi perhitungan dan penjadwalan.

  • Instans: Pekerjaan Scheduled SQL menghasilkan instans berdasarkan konfigurasi penjadwalan. Setiap instans melakukan perhitungan SQL pada data mentah dan menulis hasil perhitungan ke logstore tujuan atau penyimpanan metrik.

  • ID Instansi: Pengenal unik dari sebuah instansi.

  • Waktu pembuatan: Waktu ketika sebuah instansi dibuat. Dalam kebanyakan kasus, instansi dibuat berdasarkan aturan penjadwalan yang Anda konfigurasikan. Jika data historis perlu diproses atau jika ada latensi dan perlu dikompensasi, instansi segera dibuat.

  • Waktu mulai: Waktu ketika sebuah instansi mulai berjalan. Jika pekerjaan diulang, waktu mulai adalah waktu ketika instansi terakhir dari pekerjaan mulai berjalan.

  • Waktu selesai: Waktu ketika sebuah instansi berhenti berjalan. Jika pekerjaan diulang, waktu selesai adalah waktu ketika instansi terakhir dari pekerjaan berhenti berjalan.

  • Waktu terjadwal: Waktu untuk mana pekerjaan dijadwalkan. Waktu terjadwal untuk sebuah instansi dihasilkan berdasarkan aturan penjadwalan pekerjaan tanpa memandang apakah instansi sebelumnya habis waktu, tertunda, atau berjalan untuk memproses data historis.

    Dalam kebanyakan kasus, waktu terjadwal untuk instansi yang dihasilkan secara berturut-turut adalah berurutan, dan instansi berturut-turut dapat memproses satu set data lengkap.

  • Jendela waktu SQL: Rentang waktu data yang dianalisis ketika pekerjaan SQL Terjadwal berjalan. Layanan Log Sederhana tidak menganalisis data di luar rentang waktu ketika pekerjaan berjalan. Jendela waktu SQL adalah interval tertutup kiri dan terbuka kanan yang dihitung berdasarkan waktu terjadwal untuk sebuah instansi. Jendela waktu SQL tidak bergantung pada waktu pembuatan dan waktu mulai instansi. Sebagai contoh, jika waktu terjadwal untuk sebuah instansi adalah 2021/01/01 10:00:00 dan ekspresi jendela waktu SQL adalah [@m - 10m, @m), jendela waktu SQL dari instansi tersebut adalah [2021/01/01 09:50:00, 2021/01/01 10:00:00).

  • Status: Status instansi SQL Terjadwal. Instansi dapat berada dalam status RUNNING, STARTING, SUCCEEDED, atau FAILED.

  • Penundaan pelaksanaan: Parameter yang dapat Anda konfigurasikan untuk pekerjaan SQL Terjadwal. Jika Anda menetapkan parameter ini ke N, instansi mulai berjalan setelah N detik dari waktu terjadwal. Ini membantu mencegah hasil perhitungan yang tidak akurat yang mungkin disebabkan oleh latensi data. Jika Anda tidak perlu menunda pelaksanaan instansi, Anda dapat menetapkan parameter Delay Task ke 0 Detik.

    Sebagai contoh, jika Anda menetapkan parameter Specify Scheduling Interval ke Hourly dan parameter Delay Task ke 30 Detik, 24 instansi dihasilkan per hari. Jika waktu terjadwal untuk sebuah instansi adalah 2021/4/6 12:00:00, waktu mulai instansi tersebut adalah 2021/4/6 12:00:30.

Skenario Penjadwalan dan Pelaksanaan

Setiap pekerjaan dapat menghasilkan beberapa instansi. Hanya satu instansi dari pekerjaan yang dapat berada dalam status RUNNING pada satu waktu, baik pekerjaan dijadwalkan normal atau instansi diulang karena pengecualian. Beberapa instansi tidak dapat berjalan pada saat yang sama. Contoh berikut menggambarkan skenario tipikal penjadwalan dan pelaksanaan:

  • Skenario 1: Menunda pelaksanaan instansi

    Waktu terjadwal untuk sebuah instansi dihasilkan sebelumnya berdasarkan aturan penjadwalan pekerjaan, tanpa memandang apakah instansi tertunda dari pelaksanaan. Jika instansi tertunda, instansi berikutnya mungkin juga tertunda. Namun, penundaan dapat secara bertahap dikompensasi dengan menjalankan instansi berikutnya pada kecepatan yang lebih tinggi hingga instansi berjalan sesuai jadwal.

    Scenario 1

  • Skenario 2: Jadwalkan pekerjaan SQL Terjadwal dari titik waktu historis

    Ketika Anda membuat pekerjaan SQL Terjadwal, Anda dapat mengonfigurasi aturan penjadwalan untuk memungkinkan pekerjaan memproses data historis. Ketika pekerjaan dijadwalkan untuk titik awal historis, instansi dihasilkan untuk memproses data historis. Kemudian, lebih banyak instansi dihasilkan untuk memproses data historis. Instansi berjalan secara berurutan untuk memproses data historis hingga instansi berjalan sesuai jadwal.

    Scenario 2

  • Skenario 3: Jadwalkan pekerjaan SQL Terjadwal dalam periode waktu tertentu

    Jika Anda ingin menjadwalkan pekerjaan untuk memproses log dalam periode waktu tertentu, Anda dapat menentukan periode untuk penjadwalan. Jika Anda menentukan waktu akhir untuk penjadwalan, pekerjaan tidak menghasilkan instansi setelah instansi terakhir berjalan. Waktu terjadwal untuk instansi terakhir tidak dapat sama dengan atau lebih dari waktu akhir untuk penjadwalan.

    Scenario 4

  • Skenario 4: Modifikasi konfigurasi penjadwalan

    Setelah Anda memodifikasi konfigurasi penjadwalan pekerjaan, pekerjaan menghasilkan instansi berdasarkan konfigurasi baru. Jika Anda ingin memastikan kontinuitas jendela waktu SQL di antara instansi, Anda dapat memodifikasi jendela waktu SQL dan frekuensi penjadwalan dari konfigurasi penjadwalan.

    Scenario 3

  • Skenario 5: Ulangi instansi yang gagal

    Dalam kebanyakan kasus, pekerjaan Scheduled SQL menghasilkan instans secara kronologis berdasarkan waktu terjadwal. Jika sebuah instans gagal berjalan karena izin tidak cukup, logstore sumber atau penyimpanan metrik tidak ada, logstore tujuan atau penyimpanan metrik tidak ada, atau sintaksis SQL tidak valid, sistem memungkinkan instans untuk mencoba ulang secara otomatis. Jika jumlah percobaan ulang melebihi batas atas yang Anda tentukan atau instans diulang selama periode yang melebihi waktu maksimum yang Anda tentukan, instans berhenti mencoba ulang dan masuk ke status FAILED. Instans berikutnya mulai berjalan.

    Anda dapat mengonfigurasi peringatan untuk instansi yang gagal dan mencoba ulang instansi secara manual. Anda dapat melihat dan mencoba ulang instansi yang dihasilkan dalam tujuh hari terakhir. Setelah instansi berjalan, sistem mengubah status instansi menjadi SUCCEEDED atau FAILED berdasarkan hasil percobaan ulang. Untuk informasi lebih lanjut, lihat Ulangi instansi pekerjaan SQL Terjadwal.

Catatan Penggunaan

Ketika menggunakan fitur SQL Terjadwal, kami merekomendasikan agar Anda menyeimbangkan ketepatan waktu dan akurasi data berdasarkan kebutuhan bisnis Anda.

  • Ketika data diunggah ke Layanan Log Sederhana, latensi mungkin ada. Dalam hal ini, data untuk jendela waktu SQL mungkin belum sepenuhnya diunggah ke Layanan Log Sederhana ketika instansi sedang berjalan. Untuk mencegah masalah ini, kami merekomendasikan agar Anda mengonfigurasi parameter Delay Task dan SQL Time Window berdasarkan latensi pengumpulan data dan latensi hasil maksimum yang diizinkan untuk bisnis Anda. Selain itu, kami merekomendasikan agar Anda menentukan nilai yang sedikit lebih awal dari nilai teoretis untuk memastikan bahwa instansi dapat berjalan sesuai harapan.

  • Untuk memastikan akurasi hasil pemrosesan jika beberapa data tidak berurutan diunggah, kami merekomendasikan agar Anda menentukan jendela waktu SQL level menit atau jam untuk pekerjaan.