• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

SDO - Service data object

 
Sam Semwal
Greenhorn
Posts: 19
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Have any of you worked on service data object?
If yes, could you please let me know what was your experience about the performance?

Many thanks
 
Pj Murray
Ranch Hand
Posts: 194
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Since this is JavaRanch, I presume you are using the Java SDO API rather than the C++. The performance characteristics in Java and C++ are generally the same, unless you are dealing with very large DataObject, where C++ has a performance advantage due to the way memory allocation works in C++.

One of the most important factors in the performance of an SDO runtime is the XML parsing performance.

What type of data are you dealing with?

Each type of data requires a different Data Access Service - and each will have different performance characteristics.
 
Sam Semwal
Greenhorn
Posts: 19
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Murray,
The data type can be XML file with XML schema or xml db in oracle.
Many thanks for your response.
 
Pj Murray
Ranch Hand
Posts: 194
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Mahadev Semwall:
[QB]
The data type can be XML file with XML schema or xml db in oracle.
QB]


You didn't say if you had a Java-only environment or if you needed both Java and C++. That affects your choice of SDO runtime (see full list here: http://www.osoa.org/display/Main/Implementation+Examples+and+Tools)

For XML, you need to look at the XML parsing performance of the SDO runtime and see if it corresponds to your application requirements. For example - do you need to constantly read and write a large volume of small XML documents or do you have very large XML documents? Is memory usage important? If you have large XML documents then a parser that uses lots of memory will probbably slow down your entire application.

For the relational data, how many different databases do you need to deal with? If you've got a few large databases (with lots of tables/views or stored procedures) than you need to look at the tools available for generating the SDO deployment descriptors. This could save you a lot of time and effort. The Java-only SDO implementations for relational data tend to either have JDBC-based SQL DAS or EJB3/JPA DAS. If performance is a concern, the pure SQL DAS should generally be faster, depending on the implementation.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic