If you are using C++ or Java in a stand-alone application and have the need for a database that provides high performance on complex data, it is difficult to beat an ODBMS. The reason is two-fold:
- With an ODBMS, you have only one model to manage -- the model that your object programming language uses. See the diagram below, which shows the same model being used in the database and the application. There is also no need to program any mapping between the data in the database and the data in the application.
- An ODBMS gives you excellent performance on object models. This means either you can get extreme performance on complex data or you can use less expensive hardware than you might need with a relational DBMS, for example.
- Websites that do not use any existing data
- Programming tools
- Design tools
- Multimedia tools
- Catalogs on CD
- Embedded applications in general
Also see when an ODBMS should be used.
If you have existing data sources or want to keep data in a relational DBMS, see the architecture with existing data sources.
More on the general topic: Architectures That Use Object Database Products