Db4o This object database has many advantages, but why is it not so hot? Have you ever used db4o?

Source: Internet
Author: User
Tags shallow copy

    1. There is no concept of a primary key (because the memory address of an object, or a reference can flag an object). It is difficult for the outside world to point to a specific object (for example, 1079505 in the URL of this page).

    2. Activate/Save a hierarchy of problems. Gets an object whose fields refer to other objects, so how many levels of activation are appropriate? This is true when you save it. The level of deep injury performance, shallow level of the use of inconvenient (reference is null).

    3. Object reference problem. In an RDBMS, we can easily understand that a reference to a shallow copy of an object (because it refers only to a primary key). And once the objects in memory are hooked up, the deep copy and the shallow copy are not easy to distinguish, it's hard to tell if I delete an object will make a field of some other object to become null (again, Modifying an object is also not easy to see its scope of influence.

    4. Object lifetime issues. This is a seemingly strange and even foolish question: should objects not referenced by other objects be present in the database? In other words, does the Odbms have GC capabilities? If you have GC, you can avoid accidentally deleting objects that are referenced by other objects. and the ability to clean up data that is no longer needed. But correspondingly, it allows development to consider more problems, guaranteeing the static accessibility of each object.

    5. Database version evolution is difficult to track. Since the structure of the database is basically consistent with the structure of the object, any modification to the object model will result in a change in the structure of the database, and the process of how the original data is handled must be handled in a special way (Db4o provides APIs such as field renaming, But at least I hate to write a few lines of code every time I modify an object. In other words, I think the coupling between database and object is serious, which is not conducive to modification.

    6. There is no mature and popular query language like SQL (or you have to learn a new language) for data management. In many cases, it is necessary to operate the database directly, and you will miss SQL very much.

Db4o This object database has many advantages, but why is it not so hot? Have you ever used db4o?

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.