Implementasi ETL Solution for Big Data Management in Web-Based Application
Latar belakang
Dalam era digital saat ini, Perusahaan berlomba-lomba memanfaatkan teknologi digital dalam mempromosikan dan menawarkan produk mereka ke konsumen. Pada kasus tersebut perusahaan telekomunikasi memiliki peluang dimana mereka memiliki database nomor pelanggan. salah satu metode yang bisa digunakan dalam memanfaatkan resource tersebut ialah dengan mengrimkan pesan massal. salah satu platform pesan yang saat ini paling banyak digunakan adalah whatsapp sehingga perusahaan mengirimkan promosi dan penawaran secara blast melalui whatsapp.
Namun pengiriman pesan secara massal saja tidak cukup perlu adanya analisis lebih jauh apakah metode tersebut memiliki dampak yang significant. sehingga data history pengirim pesan perlu dikumpulkan untuk dianalisis lebih lanjut. Dalam sebulan data history tersebut bisa ada jutaan baris.
Identifikasi masalah:
Dengan menggunakan sistem teknologi PHP dan MySQL terdapat beberapa kendala dalam memproses data tersebut, antra lain:
- Membutuhkan waktu eksekusi yang cukup lama dan mempengaruhi kinerja sistem jika diolah secara langsung dikarenakan jumlah data yang besar yang terkumpul dari 56 wilayah. Dalam sebulan jumlah data bisa mencapai 100 juta baris data.
- Sering mengalami reach php execution limit dikarenakan keterbatasan sumber daya sistem. sebelum data dimasukkan ke database perlu dilakukan proses query sql untuk menghasilkan data yang sesuai namun sistem tidak mampu memproses query tersebut hingga selesai.
Pemilihan ETL Tool
Salah satu solusi untuk mengatasi masalah tersebut adalah dengan menggunakan ETL (Extract, Transform, Load) Solution. ETL Solution merupakan sebuah proses pengolahan data yang digunakan untuk memindahkan data dari sumber ke tujuan dengan memperbaiki kualitas data dan memformat data agar sesuai dengan kebutuhan. Dalam implementasi ETL Solution, terdapat tiga tahapan utama, yaitu :
- Ekstraksi Data Tahap pertama dalam implementasi ETL Solution adalah ekstraksi data. Dalam tahap ini, data akan diekstrak dari sumber data. Data yang diambil harus sesuai dengan kebutuhan dan harus memenuhi kriteria yang telah ditentukan. Proses ekstraksi data dapat dilakukan menggunakan SQL atau API.
- Transformasi Data Tahap kedua adalah transformasi data. Pada tahap ini, data yang telah diekstrak akan diolah untuk memperbaiki kualitas data dan memformat data agar sesuai dengan kebutuhan. Proses transformasi data dilakukan dengan menggunakan teknik-teknik pengolahan data, seperti cleaning, validating, dan formatting.
- Loading Data Tahap terakhir adalah loading data. Pada tahap ini, data yang telah diolah akan dimuat ke dalam database. Proses loading data dilakukan dengan menggunakan teknik-teknik pengolahan data, seperti bulk loading dan incremental loading.
Dalam implementasi ETL Solution dalam kasus ini digunakan tool Pentaho Data Integration.
Perancangan dan Pembuatan ETL Process
Merancang dan membuat ETL Proses untuk memproses dan memindahkan data dari sumber ke tujuan dengan cepat dan efisien. ETL job harus dirancang dan dibuat sedemikian rupa sehingga dapat dijalankan secara otomatis dan terjadwal.
rancangan terbagi atas 4 yaitu:
- Import data to database
- data di ekstrak kemudian diolah agar formatnya sesuai dengan kebutuhan kemudian dimasukkan ke database.

- resume data
- data yang sebelumnya berhasil di load ke database selanjutnya dibuatkan diolah untuk dibuatkan summary nya kemudian di simpan ke table resume di database. data tersebut nantinya akan ditampilkan sebagai reporting di aplikasi web.



- download data
- ETL untuk mendownload data tersebut dengan kategori tertentu.


- backup data
- data bulan sebelumnya dibackup dan disimpan di aws s3

Uji Coba dan Validasi:
Melakukan uji coba dan validasi untuk memastikan bahwa ETL job berjalan dengan benar dan sesuai dengan kebutuhan aplikasi web.
Implementasi ETL Job:
Setelah ETL job diuji coba dan divalidasi, implementasi ETL job dapat dilakukan. ETL job dapat dijadwalkan untuk berjalan secara otomatis pada waktu yang ditentukan.
Monitoring dan Maintenance:
Monitoring dan maintenance dilakukan secara teratur untuk memastikan bahwa ETL job berjalan dengan benar dan aplikasi web tetap berjalan dengan stabil.
Kesimpulan
Dalam era big data seperti saat ini, aplikasi web seringkali menghadapi masalah dalam mengelola data dengan cepat dan efisien. Oleh karena itu, implementasi ETL Solution dapat menjadi solusi yang efektif dalam mengatasi masalah big data management pada aplikasi web. Dengan menggunakan ETL tool yang tepat dan merancang ETL job dengan benar, aplikasi web dapat mengelola data dengan lebih cepat dan efisien.










