В една от нашите бази данни направихме разлика между transactional
и dictionary
записи.
С няколко думи, transactional
записите са неща, които не можете да върнете назад в реалния живот, като обаждане от клиент. Можете да промените името на обаждащия се, състоянието и т.н., но не можете да отхвърлите самото обаждане.
Dictionary
записите са неща, които можете да промените, като например задаване на city
на клиент.
Transactional
записии неща, които водят до тяхта никога не са били изтривани, докато dictionary
тези могат да бъдат изтрити.
Под „неща, които водят до тях“ имам предвид, че веднага щом записът се появи в бизнес правилата, което може да доведе до transactional
запис, този запис също става transactional
.
Например city
могат да бъдат изтрити от базата данни. Но когато се появи правило, което казваше „изпратете SMS
за всички клиенти в Москва ", градовете станаха transactional
записи също, или няма да можем да отговорим на въпроса „защо този SMS
бъдете изпратени".
Основното правило за разграничаване беше следното:само ли е дейността на моята компания?
Ако някой от моите служители вземе решение въз основа на данни от базата данни (например, той направи отчет, въз основа на който е взето някакво управленско решение, а след това отчетът за данни е изчезнал), се счита за ОК тези данни да бъдат изтрити.
Но ако решението е засегнало някои незабавни действия с клиентите (като обаждане, бъркане в баланса на клиента и т.н.), всичко, което е довело до тези решения, се запазва завинаги.
Може да варира от един бизнес модел до друг:понякога може да се наложи да записвате дори вътрешни данни, понякога е добре да изтриете данни, които засягат външния свят.
Но за нашия бизнес модел правилото отгоре работеше добре.