Artikel ini menjelaskan penyebab terjadinya data bloating serta langkah-langkah penanganannya.
Fenomena Masalah
Dalam Logview, volume data output Fuxi Task jauh lebih besar daripada volume data input. Volume data input dan output dapat diperoleh melalui atribut I/O Record dan I/O Bytes pada Fuxi Task.
Volume data input sebesar 1 GB, tetapi setelah diproses volumenya meningkat menjadi 1 TB. Memproses data sebesar 1 TB dalam satu instance akan menyebabkan efisiensi eksekusi menurun secara signifikan.
Penyebab & Langkah Penanganan
Berikut adalah kemungkinan penyebab masalah ini beserta langkah penanganan yang sesuai.
| Penyebab | Deskripsi | Langkah Penanganan |
| Kode mengandung cacat | Cacat pada kode, misalnya:
|
Perbaiki kode tersebut. |
| Data bloating akibat operasi agregasi |
Sebagian besar operasi agregasi bersifat rekursif dan melakukan penggabungan (MERGE) terhadap hasil antara. Biasanya, volume data antara tidak besar, dan kompleksitas komputasi sebagian besar operasi agregasi relatif rendah—sehingga meskipun volumenya cukup besar, proses tetap dapat diselesaikan dengan cepat. Oleh karena itu, operasi agregasi umumnya tidak menimbulkan masalah. Namun, beberapa operasi agregasi tertentu seperti
collect_list dan median memerlukan penyimpanan seluruh data antara. Ketika dikombinasikan dengan penggunaan agregasi lain, hal ini berpotensi menyebabkan data bloating, contohnya:
|
Hindari penggunaan khusus operasi agregasi tersebut. |
join operation menyebabkan data bloating |
Misalnya, saat melakukan operasi join antara dua tabel: tabel kiri berisi data populasi dengan volume sangat besar, sedangkan tabel kanan merupakan tabel dimensi yang mencatat informasi untuk setiap jenis kelamin. Meskipun hanya ada dua jenis kelamin, masing-masing jenis kelamin memiliki ratusan baris data. Jika langsung melakukan join berdasarkan jenis kelamin, data pada tabel kiri dapat membengkak hingga ratusan kali lipat. |
Lakukan operasi agregasi terlebih dahulu pada baris-baris di tabel kanan, lalu lakukan operasi join dengan tabel kiri untuk menghindari masalah data bloating. |