Saya mencoba mengembangkan alat pelaporan kecil (dengan backlite sqlite). Saya bisa menggambarkan alat ini sebagai buku besar "transaksi". Apa yang saya coba lakukan adalah melacak "transaksi" dari ekstrak data mingguan:
- "baru" (atau tambahkan) - sumber daya baru untuk aplikasi saya karena aplikasi saya mungkin belum melacak sumber ini sebelumnya karena belum terlihat melalui ekstrak.
- "perbarui" (atau klik) - ada penggunaan sumber daya itu baru-baru ini, perbarui periode penyimpanan seminggu lagi.
- "delete" (atau drop) - item ini tidak digunakan sejak laporan terakhir (opsional, tetapi akan menyenangkan untuk membuat grafik perubahan permintaan dari minggu ke minggu untuk sumber daya).
Yang saya dapatkan hanyalah ekstrak data mingguan (flat-delimited file flat) yang berasal dari sistem pengarsipan / manajemen catatan lama yang tidak dapat saya kendalikan.
Setiap baris dapat didistilasi pada dasarnya ini:
resource_id | resource info | customer_id | customer_info
Contoh data:
10| Title X | 1 | Bob
11| Another title | 1 | Bob
10| Title X | 2 | Alice
Tujuannya adalah memudahkan untuk melaporkan sumber daya yang belum terlihat digunakan selama X-bulan (berdasarkan hit terakhir). Ada periode retensi di mana sumber daya disimpan untuk memudahkan akses jika populer. Sumber daya yang tidak terlihat digunakan selama 18 bulan ditandai untuk arsip jangka panjang di tempat lain.
Ini pasti masalah umum. Ingin tahu apakah ada algoritma tujuan umum untuk menentukan apa yang baru / sama / dihapus antara set data (db vs ekstrak terbaru)?