Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> OO boffins use Oracle RDBMS as a disk.
Hi.
Up until now my skepticism about the business benefits of OO PROGRAMMING has allowed me to just sneer from the sidelines. From the outset I'd like to state I'm not totally against OO. It seems self evident that OO analysis and design are a good thing.
I recently poked around in a mission critical application for which it was said that after couple of hours down time and the company would be dead in the water.
The application is built using 100, 000 lines of C++, some OO/RDBMS persistence software (who's name escapes me) and Oracle 8.1.7.
A quick scan of the database revealed that relational integrity constraints (PRIMARY KEY, FOREIGN KEY, CHECK) were absent without leave. Business rules constraints were entirely absent.
The developers, when confronted with this, said the constraints were removed following business acceptance testing performance problems. Later this was retracted by the managers higher up. Managers stated the application was mainly used for batch processing. During process initialization ALL data is loaded into live memory. After 30 minutes of processing the updates are written back to Oracle. The constraint maintenance functionality of the RDBMS, among others, is entirely delegated to the C++. Hence "Oracle is being used as a disk" (my retort). The application was "designed that way".
Some integrity checking using custom-built scripts is run post batch, and some is done on a weekly basis.
Now, elsewhere in the company the DB design rule in use is that DB server side constraints are mandatory and client side constraints are optional. However, for the above application this rule was not followed because it is "mainly used for batch processing".
Given the EXTREME mission critical nature of this application I would say delegating constraint maintenance to custom-built C++ has the following risks:
I'd love to know your opinion on this case.
Regards
Space Goat