Simply stated: What is the difference between "Transactional" and "Non-Transactional"?
In my case I came up with this question while reading the following definition for "MDM":
"In computing, master data management" (MDM) comprises a set of processes and tools that consistently defines and manages the non-transactional data entities of an organization (which may include reference data)."
Non-transactional relationship. This is defined as “relationships where one person does something or gives something to another without any desire for reward; the relationship itself is the reward for both parties, and often bears long lasting fruit”.
Engagement (non-transactional) activities refer to incentivized non-purchase actions that enable members to earn points or rewards in the program. Note: You have the ability to personalize activities available to members based on segmentation or tiers.
A non-transactional database would probably have better performance because it doesn't have to worry about rolling back changes. The individual data in the non-transactional database may not require transactional processing as would managing money between bank accounts.
Unlike transactional websites, non-transactional websites don't have transactions on the site, making it difficult to understand the value of the goal. For example, conversions for non-transactional websites could have an objective to engage customers, lead generation, gain newsletter signups, etc.
I think the best way to understand the difference between Transactional and Non-Transactional Data is through examples
Non -Transactional (These information are relevant to enterprise for longer duration than Transactional Data.)
Transactional (Has a Time Dimension, and becomes historical once the transaction is complete)
When you gather and wrap a set of operations into one, then your group of operations are atomic and any sub-operation failure will end up with a rollback of the whole which makes the set of operations reliable. The property of this kind of structure of operations are called as transactional.
To give an example about a transaction;
Think about you have a database which is dealing with customer orders, payments and other billing stuff, so the data is very important. You provide a web-ui and the web-ui calls business package classes and methods. And these methods also, after completing the bi job, will call to the dao (stands for data access object) classes in order to process crud operations. So the backend server build up with an n-tier application model and there are dom objects (stands for domain object model) that transmits the data in both ways from service endpoint to the database up and down.
On a scenario which that the user wants to update some info let say the phone number, payment type and the credit card. While the server updating three of these data, what if a problem occured on one them? Let say, the payment type and phone numer is updated but while updating the credit card, an error occured? You will end up the day or month with an unsuccessful attemp of billing.
But if you have a mechanism, which will wrap all of the info updates into an info update group, then in any case of error, the whole update will be rolled back. This is an example of a transaction.
If there is no transaction mechanism, let say you keep all of the info on a custom file that which you handle the io mechanism, then your application will have to handle every possible error-scenario.
for more info, you should checkout these useful wikipedia articles;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With