| Criteria |
Look for... |
| Locking strategy |
Depends on the applicationobject-level locks can provide more confidence, but page-level locking mechanisms can fly under certain conditions |
| Load balancing |
Ability to transparently distribute database, invoke method calls on remote servers, share objects in concurrent threads/accesses |
| Maximum database size |
Bigger is better |
| Transaction support |
Checkpoints: one transaction shared by multiple threads, one thread sharing multiple transactions, nested transactions; Ensure that you understand how synchronization across client/server works in combination with client-side caching in case the implementation of a given product affects your application. |
| Query/performance profiler |
Ability to extract information, which assists you in debugging performance bottlenecks; OODBs typically offer fewer optimization and tuning options than RDBs, but tools that help you profile and explain queries still can be very useful. |