Ernie,
I think the comparison of DataBlades to Oracle Single Task / Two Task architecture is not appropriate. Oracle has (with the exception of direct path loading in SQL*Loader, and even that has some safety mechanisms) never allowed a programmer to bypass the server's basic SQL interface, regardless of the API used. Even programming in C, you are restricted to the API (HLI, OCI, whatever Oracle is calling it these days) that has been defined by Oracle. The server maintains it's built in concurrency control, transaction control, ability to rollback, etc.
Single task or two task is an indication of how the client application communicates with the server. In no case does the client write directly to the database. The only writer to the database is the Oracle database writer process. If I understand DataBlades correctly, they consist of (perhaps third party) code that is linked into the Informix kernel to manage complex datatypes that are not native to the DB. If this requires the DataBlade to write directly to the database, I can see the possibilities for a misbehaving DataBlade to corrupt the database.
Oracle has never let programmers write code that directly manipulates the database. Of course, any bozo with DBA privileges can mess up the database pretty easily, but that doesn't require any special programming skills, just a SQL*Plus session and enough knowledge to be dangerous. I assume that the kind of corruption we're talking about here is not the kind caused by the server acting on a legitimate (albeit stupid) command. I haven't hacked Oracle database files in a while, but I sure wouldn't be stupid enough to try and sell a product that did the equivalent thing. Is there a well defined API for DataBlade writers? And if so, how can they "corrupt" the database by sticking to the API?
Just wondering....
-Michael |