Db4o - Disadvantages

Disadvantages

The drawbacks and difficulties faced by other Object Databases apply to Db4o as well:

Other things that work against ODBMS seem to be the lack of interoperability with a great number of tools/features that are taken for granted in the SQL world, including but not limited to industry standard connectivity, reporting tools, OLAP tools, and backup and recovery standards. Additionally, object databases lack a formal mathematical foundation, unlike the relational model, and this in turn leads to weaknesses in their query support. However, this objection is offset by the fact that some ODBMSs fully support SQL in addition to navigational access, e.g. Objectivity/SQL++, Matisse, and InterSystems CACHÉ. Effective use may require compromises to keep both paradigms in sync.

Issues specific to Db4o may include:

  • Lack of full-text indexing, poor performance on full-text search
  • Lack of Indexing for string types, text based searches can potentially be very slow
  • "There is no general query language like SQL which can be used for data analyzing or by other applications. This does not allow db4o to be very flexible in a heterogeneous environment."
  • Replication cannot be done administratively—i.e. one needs to program an application to achieve replication. "This is contrary to most RDBMS, where administrators manage servers and replication between them."
  • Deleted fields are never removed but just hidden until the next Defrag, a delicate and potentially dangerous operation which can often lead to massive data losses
  • There is no built-in support to import/export data to/from text, XML or JSON files.
  • Support of Unique constraints and cascaded operation is partially incomplete and highly immature
  • The system is generally careless about referential integrity and data unicity, the most typical bug with db4o is object duplication

Read more about this topic:  Db4o