An Object Oriented Databases Solution
A Solution: In designing a data storage solution and looking at products to help, it makes sense to start with first principles. After all, different applications in different environments with different requirements usually need different solutions.
So what capabilities do we need in a database management system? SQL databases tend to emphasize querying the database, which is not surprising, since SQL is a query language. In fact, many books on databases suggest that the role of a database is almost exclusively to provide a query engine. However, query is often not the driving reason to adopt a particular database management system. You may need a database management system to provide many other features that are very difficult to implement well in an application without a database.
Let’s look at all the basic functions one expects from a database management system:
- Persistence
- Retrieval / Query
- Cache
- Concurrency
- Schema Control and Data Migration
- Transactions (Commit / Rollback)
- Single Consistent View of Data
Each of the following sections describes one of these basic DBMS functions, and how Objectivity/DB handles it.
