Achieving High Concurrency in OO Databases
By Bob Bretl
March 15, 2006 Abstract: Today object oriented databases (OODB) are being used in large scale applications in a variety of industries including telecommunications, banking, manufacturing, insurance, and shipping. These applications are characterized by having complex data, that is, data which is represented in the highly interconnected graphs of an object model. Object databases are very good at storing the complex data model, but it is generally up to the application developer to figure out how to scale the application so that it runs efficiently with many concurrent users. The purpose of this paper is to explore various techniques that can be used in object oriented databases to achieve high concurrency. This paper first provides background information about transactions and several concurrency control techniques, then the difference between physical consistency and logical consistency are explored. Finally, several specialized container classes are introduced to show how logical (behavioral) consistency can be implemented and how they can be used to improve concurrency and simplify application development.