The reasons for using the JDBC Vs OData are much different. If you are developing Java applications then JDBC is better. But if you are developing client applications in many different languages then OData will give you that flexibility.
JDBC will be faster. The reasons are
- JDBC uses native binary protocol, so possibly less time taken for marshaling and compact
- other batching techniques to efficiently move the data
- support for transactions can be controlled through JDBC API
- In Teiid, OData layer is built on top of JDBC layer.
- Data is read java object form
With OData data is either delivered in JSON or XML. If you are looking at data as pure service, then OData is better, as it will give you that loose coupling with rest of the architecture. BTW, Teiid will have V4 support very soon.
Thanks Ramesh. your reply more than answers my question .