Я намагаюся розробити невеликий засіб звітування (із бекендом sqlite). Я найкраще можу описати цей інструмент як "транзакційну" книгу. Що я намагаюся зробити - це відслідковувати "транзакції" з виписки даних щотижня:
- "new" (або додати) - ресурс є новим для мого додатка, оскільки мій додаток, можливо, не відстежував цей ресурс раніше, оскільки його не бачили за допомогою виписок.
- "оновлення" (або звернення) - нещодавно використовується цей ресурс, оновлення періоду зберігання ще на тиждень.
- "delete" (або "drop") - цей елемент не використовувався з останнього звіту (необов'язково, але було б непогано мати графік змін попиту на ресурси на тиждень).
Все, що у мене є, - це щотижневий витяг даних (плоский файл з обмеженими каналами), що надходить із застарілої системи архівування / управління записом, над якою я не маю ніякого контролю.
Кожен рядок можна перегнати таким чином:
resource_id | resource info | customer_id | customer_info
Приклад даних:
10| Title X | 1 | Bob
11| Another title | 1 | Bob
10| Title X | 2 | Alice
Мета - спростити звітування про ресурси, які не бачили використання протягом X місяців (на основі останнього звернення). Існує період зберігання, коли ресурси зберігаються навколо для зручності доступу, якщо вони популярні. Ресурс, який не бачив використання протягом 18 місяців, позначений для довгострокового архіву в інших місцях.
Це має бути загальною проблемою. Цікаво, чи існує алгоритм загального призначення, щоб визначити, що нового / того ж / видаленого між наборами даних (db vs. останній витяг)?