Layanan dummy berbasis Java Spring Boot untuk membaca file secara otomatis dan menyimpannya ke dalam RocksDB.
Data dipisah agar operasi lebih efisien dan tidak saling mengganggu:
-
meta-data: Menyimpan log status file (PROCESSING,COMPLETED,ARCHIVED), tanggal, dan UUID. -
csv-data: Menyimpan isi baris CSV yang di-ingest. -
default: Bawaan RocksDB, tidak dipakai.
Diatur melalui konfigurasi:
-
Single Mode (
app.rocksdb.use-batch=false): Tulis data satu per satu. Lebih lambat untuk file besar. -
Batch Mode (
app.rocksdb.use-batch=true): Kumpulkan data di buffer (default 1000 baris) lalu kirim sekaligus (WriteBatch). Sangat efisien untuk file besar.
Aplikasi berjalan dengan 5 komponen utama:
-
FileScheduler: Menjalankan trigger scan file tiap 30 detik & cleanup data tiap menit.
-
FileScannerService: Mendeteksi file baru di direktori.
-
FileProcessingService: Melakukan ingest data dan mengecek status metadata.
-
FileManagerService: Mengarsipkan file yang sudah selesai diproses.
-
RocksDBService: Bridge utama untuk operasi CRUD ke RocksDB.