Simple Log Service menyediakan empat metode pemrosesan data: plugin pemrosesan, prosesor ingest, transformasi data, dan prosesor konsumen. Topik ini membandingkan fitur dan skenario penggunaan masing-masing metode untuk membantu Anda memilih yang paling sesuai.
Informasi latar belakang
Konfigurasi plugin pemrosesan: Pengumpul data Simple Log Service menyediakan berbagai konfigurasi pemrosesan. Konfigurasi ini mendukung plugin pemrosesan dan pemrosesan data pada klien menggunakan pernyataan Structured Process Language (SPL).
Ingest processor: Prosesor ingest dapat dikaitkan dengan sebuah Logstore. Secara default, data yang ditulis ke Logstore tersebut diproses oleh prosesor ingest di sisi server.
Transformasi data: Data terlebih dahulu ditulis ke Logstore sumber, lalu diproses berdasarkan aturan transformasi. Data yang telah diproses kemudian ditulis ke Logstore tujuan.
Consumer Processor: Prosesor konsumen menggunakan SPL untuk memproses data secara real-time saat data dikonsumsi dari sebuah Logstore. Prosesor konsumen mendukung integrasi dengan layanan pihak ketiga seperti SDK, Flink, dan DataWorks.
Perbandingan
Plugin pemrosesan, prosesor ingest, transformasi data, dan prosesor konsumen mencakup seluruh siklus hidup data—sebelum penyimpanan (saat pengumpulan), selama penyimpanan (saat penulisan), dan setelah penyimpanan (setelah penulisan). Metode-metode ini memiliki kesamaan, seperti kemampuan memproses data dan mendukung SPL, namun berbeda dalam skenario penggunaan dan kapabilitasnya.
Dimensi perbandingan | Plugin pemrosesan | Ingest processor | Transformasi data | Consumer Processor |
Tahap pemrosesan data | Sebelum penyimpanan (selama pengumpulan data). | Selama penyimpanan. | Setelah penyimpanan. | Setelah penyimpanan. |
Menulis ke beberapa Logstore | Tidak didukung untuk satu konfigurasi pengumpulan tunggal. Anda dapat menggunakan beberapa konfigurasi pengumpulan dengan plugin pemrosesan. | Tidak didukung. | Didukung. | Tidak didukung. |
SPL | Didukung. | Didukung. | Didukung. | Didukung. |
Instruksi SPL yang didukung | Mendukung instruksi untuk pemrosesan data satu baris, yang menerima satu baris data sebagai input dan menghasilkan nol atau satu baris data sebagai output. | Mendukung instruksi untuk pemrosesan data satu baris, yang menerima satu baris data sebagai input dan menghasilkan nol atau satu baris data sebagai output. | Mendukung instruksi SPL lengkap. | Mendukung instruksi SPL lengkap. |
Mencegah data sensitif ditulis ke disk | Didukung. | Didukung. | Tidak didukung. Data melewati Logstore sumber. | Tidak didukung. Data melewati Logstore sumber. |
Penggunaan resource | Mengonsumsi sebagian resource klien. | Resource sisi server diskalakan secara otomatis. Proses ini transparan bagi pengguna. | Resource sisi server diskalakan secara otomatis. Proses ini transparan bagi pengguna. | Resource sisi server diskalakan secara otomatis. Proses ini transparan bagi pengguna. |
Dampak terhadap kinerja | Kinerja pengumpulan sedikit terpengaruh oleh jumlah plugin dan kompleksitas konfigurasi. Kinerja penulisan data tidak terpengaruh. | Kinerja penulisan sedikit terpengaruh oleh kompleksitas data dan pernyataan SPL. Latensi permintaan tunggal dapat meningkat beberapa hingga puluhan milidetik, tergantung pada ukuran paket data permintaan dan kompleksitas pernyataan SPL. | Kinerja penulisan Logstore sumber tidak terpengaruh. | Kinerja penulisan Logstore sumber tidak terpengaruh. |
Cakupan skenario | Tinggi. | Standar. | Banyak. | Multiple |
Biaya | Tidak dikenakan biaya pemrosesan data SLS, tetapi mengonsumsi sebagian resource klien. | Dikenakan biaya pemrosesan data. Dalam skenario penyaringan data, biaya ini biasanya lebih rendah daripada penghematan yang diperoleh dari pengurangan trafik data dan biaya penyimpanan. | Dikenakan biaya Logstore sumber dan biaya pemrosesan data. Anda dapat mengurangi biaya Logstore sumber dengan mengatur periode retensi datanya menjadi satu hari dan menonaktifkan indeks. | Dikenakan biaya Logstore sumber dan biaya pemrosesan data. Anda dapat mengurangi biaya Logstore sumber dengan mengatur periode retensi datanya menjadi satu hari dan menonaktifkan indeks. |
Toleransi kesalahan | Anda dapat mengonfigurasi plugin untuk mempertahankan field asli jika pemrosesan gagal. | Anda dapat mengonfigurasinya untuk mempertahankan data mentah jika pemrosesan gagal. | Karena data sumber sudah disimpan, data dapat diproses ulang jika aturan transformasi gagal. Anda juga dapat membuat beberapa pekerjaan transformasi data untuk memproses data secara terpisah. | Karena data sumber sudah disimpan, kelompok konsumen yang mengintegrasikan aturan konsumsi SPL melalui Flink, DataWorks, atau SDK akan mencoba ulang secara otomatis saat terjadi kesalahan. |
Berikut ini membandingkan kemampuan prosesor penulisan, konfigurasi pemrosesan Logtail, dan transformasi data dalam skenario-skenario umum:
Skenario | Konfigurasi Pemrosesan Logtail | Ingest processor | Transformasi data | Consumer Processor |
Pemrosesan data sederhana, seperti pemrosesan data satu baris yang tidak melibatkan logika komputasi kompleks. | Direkomendasikan | Direkomendasikan | Direkomendasikan | Direkomendasikan |
Pemrosesan data kompleks, seperti tugas yang melibatkan logika komputasi rumit atau memerlukan banyak kondisi, agregasi jendela, atau enrichmen tabel dimensi. | Umum | Umum | Direkomendasikan | Direkomendasikan |
Resource client terbatas, seperti saat resource komputasi yang tersedia untuk Logtail terbatas. | Umum | Direkomendasikan | Direkomendasikan | Direkomendasikan |
Kontrol sisi client terbatas, seperti tidak memiliki izin untuk mengubah konfigurasi Logtail atau logika penulisan SDK di client. | Tidak direkomendasikan | Direkomendasikan | Direkomendasikan | Direkomendasikan |
Kontrol sisi server terbatas, seperti tidak memiliki izin untuk mengubah konfigurasi Logstore atau transformasi data. | Direkomendasikan | Tidak direkomendasikan | Tidak direkomendasikan | Tidak direkomendasikan |
Sensitif terhadap latensi dan kinerja penulisan data, seperti saat data mentah harus dikumpulkan sesegera mungkin. | Umum | Umum | Direkomendasikan | Direkomendasikan |
Penyembunyian data, dan data sensitif boleh ditulis ke disk. | Direkomendasikan | Direkomendasikan | Direkomendasikan | Direkomendasikan |
Penyembunyian data, dan data sensitif tidak boleh ditulis ke disk. | Direkomendasikan | Direkomendasikan | Tidak direkomendasikan | Tidak direkomendasikan |
Enrichmen data yang tidak bergantung pada sumber data eksternal, seperti menambahkan field baru yang nilainya merupakan bidang statis atau diekstraksi dari field yang sudah ada. | Umum | Direkomendasikan | Direkomendasikan | Direkomendasikan |
Enrichmen data yang bergantung pada sumber data eksternal, seperti melakukan kueri data enrichmen tambahan dari tabel MySQL berdasarkan field log. | Tidak direkomendasikan | Tidak direkomendasikan | Direkomendasikan | Direkomendasikan |
Distribusi data, yang menulis data ke Logstore berbeda berdasarkan kondisi yang berbeda. | Umum | Tidak direkomendasikan | Direkomendasikan | Tidak direkomendasikan |
Penyaringan data, di mana data mentah tidak diperlukan, untuk menghemat biaya. | Umum | Direkomendasikan | Umum | Umum |