Gabe shares his story of an enterprise application that his friend's company had recently purchased.
Initech sells products that use Oracle by default, but also seamlessly support SQL Server. Typically, getting software to work on two database platforms requires a lot of work, testing, and rework. Initech, though, had an ace up their sleeve. Several aces, in fact:
- To support SQL Server, users must purchase Oracle Transparent Gateway for SQL Server (around $15,000 per computer)
- Users must purchase an Oracle license (around $infinity)
- Users will probably need duplicate servers for fault tolerance, which could run up to $100,000 plus support costs
- They don't even have to test it before announcing it works! I mean, if Oracle Transparent Gateway says it works, it works, right?
Well, it turns out that not testing it was an unfortunate oversight. It works, but perhaps without the level of efficiency Initech (and their customers) would prefer.
Instead of parsing the query and generating a similar one for the other database server, it
- sends a "SELECT * FROM [table]" for each table in the query,
- processes the query locally
- doesn't do any caching or indexing
This would occasinally cause queries that took less than a second on one server to take minutes on the other if the table was large enough. It is enterprisey, though, we can at least give it that.