Di salah satu database kami, kami membedakan antara transactional
dan dictionary
catatan.
Dalam beberapa kata, transactional
catatan adalah hal-hal yang Anda tidak dapat memutar kembali dalam kehidupan nyata, seperti panggilan dari pelanggan. Anda dapat mengubah nama penelepon, status, dll., tetapi Anda tidak dapat menutup panggilan itu sendiri.
Dictionary
catatan adalah hal-hal yang dapat Anda ubah, seperti menetapkan city
ke pelanggan.
Transactional
catatan dan hal-hal yang mengarah ke sana tidak pernah dihapus, sedangkan dictionary
yang bisa dihapus oke.
Yang saya maksud dengan "hal-hal yang mengarah ke sana" adalah bahwa segera setelah catatan muncul dalam aturan bisnis yang dapat mengarah pada transactional
record, record ini juga menjadi transactional
.
Seperti, city
dapat dihapus dari database. Tetapi ketika muncul aturan yang mengatakan "kirim SMS
kepada semua pelanggan di Moskow ", kota-kota menjadi transactional
catatan juga, atau kami tidak akan dapat menjawab pertanyaan "mengapa ini SMS
dikirim".
Aturan praktis untuk membedakannya adalah ini:apakah ini hanya urusan perusahaan saya?
Jika salah satu karyawan saya membuat keputusan berdasarkan data dari database (seperti, dia membuat laporan berdasarkan beberapa keputusan manajemen, dan kemudian laporan data didasarkan pada menghilang), dianggap OK untuk menghapus data ini.
Namun jika keputusan tersebut memengaruhi beberapa tindakan langsung dengan pelanggan (seperti menelepon, mengacaukan saldo pelanggan, dll.), segala sesuatu yang mengarah pada keputusan ini akan disimpan selamanya.
Ini mungkin berbeda dari satu model bisnis ke model bisnis lainnya:terkadang, mungkin diperlukan untuk merekam bahkan data internal, terkadang tidak apa-apa untuk menghapus data yang memengaruhi dunia luar.
Namun untuk model bisnis kami, aturan dari atas bekerja dengan baik.