I am looking to a way to execute thousands of complex validations and logic on thousands and more of database records spanning multiple tables in few of seconds when user make action for reporting purpose.
For example (unreal just to imagine business):
Assumption:
Let’s suppose we have hundreds of stores, and each stores has thousands of customer, and each customer has thousands of orders, and there is a stores union that is watching how the stores are selling products according to the stores union’s rules and regulations, and stores union has access to all stores data including customers and orders and the stores’ data is imported to central database.
1- Our application have to report which orders were violated the stores union’s rules and regulations (against thousands of regulations on each order item which can expand multiple entity/tables) and these regulations can be changed from time to time
Ex. The stores union wants to generate reports and graphs on fly to check which the registered stores had sold cigarettes to customer who is age below 18 years and has medical condition and the store is allowed to sell cigarettes and the customer bought water and milk with same order…. And …. Or… Not…. etc.
2-In additional to that a way to monitor store data to notify users when violation happens and what is the reason.
For example:
The stores union wants to be notified directly after a registered store have sold cigarettes to customer who is age below 18 years and has medical condition and the store is allowed to sell cigarettes and the customer bought water and milk with same order…. And …. Or… Not…. etc.
So, what is the best way to build and run this kind of changeable validations and to monitor any violation? Keep in mind the performance is critical, lets avoid BI tools
Technologies:
C# , Oracle
Also thousands and more rows are no problem at all (order of magnitude!). It will get only interesting when you have to check 10 millions row and more.
From your description: A normal data warehouse should do it. So get your own copy of Kimball and Inmon and have fun with dimensional modelling.