Discussions

News: db4o open source object database v 6.0 released

  1. db4objects Inc. has announced the availability of version 6.0 of the open source object database db4o. The biggest changes for this release have happened under the hood. The new revised BTree index architecture has matured and the new query processor can now work in "lazy query evaluation mode." In comparison to version 5.x performance can be seen to improve by up to 10x for a wide range of usecases. At the same time the memory consumption during query execution has been reduced close to zero, resulting in overall reduced memory consumption of up to 90% less for typical db4o applications. The db4o team has documented the leap in performance using the Poleposition database benchmark. New lazy query functionality also improves db4o for Client/Server use, since there is now full control on how query execution processing time is to be balanced between individual clients and for specific queries. db4objects has also released new 6.0 versions of the dRS replication system and of the "ObjectManager" database browser. All 6.0 product versions are available for free download under the GPL.

    Threaded Messages (18)

  2. No 'Query- by-Language'?[ Go to top ]

    Am I wrong or db4o does not yet support 'Query- by-Language'? It should not be very hard to implement on a top of existing rich query APIs in db4o. IMHO, declarative query language is a must for data stores, whatever paradigm they are built upon, object, relational or hierarchical. Nevertheless, this product seems very promising. Maybe the time of object databases will finally come.
  3. db4o Querying Interfaces[ Go to top ]

    Am I wrong or db4o does not yet support 'Query- by-Language'?
    You are right. Out of the box we offer the following three query interfaces: - Native Queries (100% typesafe but statically typed) - Query-By-Example (limited in functionality) - SODA (an API to build graphs) The SODA interface can be used as a basis for any other query language and we see the community building new interfaces on top. Some examples: - SQL - JDO - Spring
    Maybe the time of object databases will finally come.
    I don't think this is a question of "if" but it could be a question of "when". Open source will certainly accelerate adoption.
  4. Registration required => huge mistake[ Go to top ]

    I have a lot of respect for what folks at db4o does, and they keep addressing important issues at an impressive rate. I especially find native queries no less than a stroke of genious. The only major thing missing now is control over isolation levels. The one supported (read committed) is OK for a wide range of applications; for others it just doesn't cut it. Yes, there are locking primitives in db4o, but isolation is something databases are supposed to do for you automatically (if not, you *will* screw up in any non-trivial project.) I also a miss a more scalable per-server backend... maybe a nio-server in java? At any rate, requiring registration to download 6.0 is extremely annoying and probably in violation of GPL. I personally refuse to download 6.0 until the registration page is gone.
  5. Need registration to download?[ Go to top ]

    Do I really have to register and login to download it?
  6. Re: Need registration to download?[ Go to top ]

    Do I really have to register and login to download it?
    Version 6.0: yes. Version 5.5: no You can download here.
  7. I hate that. Just pick it up here: http://stuff.sateh.com/dRS-6.0.zip Other hard to find things: SVN: https://db4objects.net/svn/db4o/trunk/ JIRA: http://tracker.db4o.com/jira/secure/Dashboard.jspa Fisheye: http://tracker.db4o.com/fisheye/ Is there any tagging being done in svn? There is a /trunk directory that is open but when I try /tags or /branches I need a login??? S.
  8. Re: Need registration to download?[ Go to top ]

    I hate that.
    Me too. :)
    Just pick it up here: http://stuff.sateh.com/dRS-6.0.zip
    404 :(
  9. Needing registration to download is a violation of the gpl, so maybe you may want to change that. thanks chris
  10. Needing registration to download is a violation of the gpl, so maybe you may want to change that.

    thanks
    chris
    I like the product, but I get the idea that making it available under an GPL license is more a marketing gimmick than an actual vision of the company? S.
  11. GPL or marketing gimmick[ Go to top ]

    I like the product, but I get the idea that making it available under an GPL license is more a marketing gimmick than an actual vision of the company?
    Openness is one of the key visions of our company. Open source, open policies: - Our source code is available under the GPL. - We do design discussion in public in our forums. - Our roadmap was planned together with our users at our user conference in London. - Our roadmap is available to the public in our Jira system. - We do public developer meetings, using Skypecasts. - db4o design documents are available in our Wiki. Our development works exactly like many other open source projects out there, in fact a little bit better: - Because our developers are payed for their work, they can do it as their day job and our product advances faster than other open source projects. - Because our product is backed by a real company it is there to stay. - We provide professional support for our product. - There is an open ear for all issues around our product, someone that really cares because it is his job to care.
  12. Re: Need registration to download?[ Go to top ]

    Needing registration to download is a violation of the gpl
    Why don't you go ahead and post the exact portion of the GPL that supports this argument?
  13. Re: Need registration to download?[ Go to top ]

    Needing registration to download is a violation of the gpl, so maybe you may want to change that.

    thanks
    chris
    Uh, no it doesn't. Please post from the GPL the portion that supports that statement zealot. thanks Robert
  14. Re: Need registration to download?[ Go to top ]

    Needing registration to download is a violation of the gpl, so maybe you may want to change that.

    thanks
    chris


    Uh, no it doesn't. Please post from the GPL the portion that supports that statement zealot.

    thanks
    Robert
    It really doesn't matter. What matters is that it is a stupid idea and they definitely loose a lot of potential users/customers because of this. I have no idea how many products I have decided not to try because of this shit.
  15. db4o v6.0 has now been released to the general public and is available without registration from the db4o website: http://www.db4o.com/community/ Thanks for your patience and your feedback! Christof
  16. transaction isolation[ Go to top ]

    what isolation level does it support?
  17. Re: transaction isolation[ Go to top ]

    what isolation level does it support?
    Client/Server operates in read committed isolation level.
  18. now and future[ Go to top ]

    Everytime I read the db4o release notes, something gets at least 5 times faster. I wonder how slow db4o was before, or how fast it is now. Some questions: 1) Is there still room for performance improvements (mainly query speed) ? 2) How much overhead does the database produce ? if you have a table of lets say 100.000 entries. 3) How do you handle interoperability between different clients ? I think a Java and C# interface is available. What about Ruby, or language X ? Are there any current solutions or future plans ? 4) I would be interessted in real life experience. anybody ? :) cheers, Andreas
  19. Re: now and future[ Go to top ]

    Everytime I read the db4o release notes, something gets at least 5 times faster.
    Kudos to our marketing. :-) In fact something does really always get at least 5 times faster. We document the progress with the Poleposition benchmark and the 5x improvement steps of old versions are still visible.

    1) Is there still room for performance improvements (mainly query speed) ?
    Yes, lots, probably for another 20 release announcements with a "5 times" statement. We do not have indexed collections yet for instance (which doesn't matter for navigation but sure does for querying).

    2) How much overhead does the database produce ? if you have a table of lets say 100.000 entries.
    We actually don't have tables, just extents of objects. A single object requires: 8 bytes for a pointer, 4 bytes for a class index entry, 4 bytes for the link to metadata, 1 byte for the marshaller version, and 4 bytes for the refactoring version. That's 21 bytes. In the worst case you can see this space consumption doubled for transaction processing and for freespace management. By the way there is room for improvement in the above: Marshaller version, refactoring version and metadata could be encoded into 3 bytes. Maybe it would get us another 5x performance improvement?

    3) How do you handle interoperability between different clients ? I think a Java and C# interface is available. What about Ruby, or language X ? Are there any current solutions or future plans ?
    We have a pluggable layer that we call a "reflector". The reflector defines what an object is and how to get and set field data. You can easily write a reflector to any other language that you want to support (but you need to run db4o in a Java or .NET VM/runtime). We currently have someone starting a project to write a reflector for Eiffel. We will not be doing ports to further languages ourselves but I am sure that we will see this work done by the community. The reflector concept is quite powerful. You could also turn db4o into a native XML database by writing a reflector. If you want to use db4o to store dynamic constructs ( for instance: Hashtables are "objects", keys are "field names", values are "field values) you can also write a reflector to completely redefine what "classes" and "objects" are.

    4) I would be interessted in real life experience. anybody ? :
    There are a couple of success stories on our website. Feel free to talk to users in our forums.