Discussions

News: db4o releases Object Manager to the open source community

  1. If you check the latest db4o version (v7.8) you'll see that it now includes a new product: Object Manager Enterprise (OME). OME is not a new product. It was first released a bit more than a year ago, but was only available for commercial users. This policy was reviewed after the db4o acquisition by Versant and a new accent was put on simplicity and value to the community. A tool providing a graphical user interface to a db4o database is certainly important both to new and experienced developers and open-source customers, therefore it is now open source and included for free in the db4o distro. The software comes as a plug-in for two development environments (Visual Studio 2005/2008 for .NET users and Eclipse for Java users). Once installed you'll be able to browse any db4o database in a graphical user interface right from your IDE, check which objects were stored, how the database structure looks like and also check the correctness of your queries by comparing the query result with the view in OME (among other features). Feedback is welcome. And since now the project is open source you might also want to adapt OME to work with your object database of choice (either if you're a user/developer or an ODBMS vendor). For more detailed information check this blog post.

    Threaded Messages (35)

  2. That's great news. I recently used db40 in a high throughput applications as a caching service and really liked it. One thing that really set me back was the fact that I had to write code in order to look for objects and perform spot checking. I looked for tools without success, but Object Manager was not free.
  3. GPL !! Thanks But No Thanks !![ Go to top ]

    GPL db4o is strict no no in commercial projects , its better to use terracotta which provides clustering benefits also and with more business friendly licence for small just use in memory databse with hibernate !!
  4. Re: GPL !! Thanks But No Thanks !![ Go to top ]

    If it's GPL your problem see NeoDatis ODB.
  5. NeoDatis ODB looks cool !![ Go to top ]

    Thanks for the link , I checkout out NeoDatis ODB and it looks really cool!! it even has amzing ODB Database Explorer.........which allows you to browse odjects and has graphic interface to build a CriteriaQuery ...http://www.neodatis.org/5m-tutorial ....great work ....
  6. neodatis vs db4o benchmarks !![ Go to top ]

    have look at neodatis vs db4o benchmarks here -> http://downloads.sourceforge.net/neodatis-odb/PerformanceBenchmark-PolePosition-ODB.1.8.pdf !!Looks like neodatis performing better than db4o on most of benchmarks ..........Also found developer views on dual locencing quite intresting .......check them out ->http://neodatis.blogspot.com/2008/05/open-source-and-dual-licensing.html ..........wondering whats the view of most developers on dual-licensing
  7. Re: neodatis vs db4o benchmarks !![ Go to top ]

    have look at neodatis vs db4o benchmarks here -> http://downloads.sourceforge.net/neodatis-odb/PerformanceBenchmark-PolePosition-ODB.1.8.pdf !!Looks like neodatis performing better than db4o on most of benchmarks ..........Also found developer views on dual locencing quite intresting .......check them out ->http://neodatis.blogspot.com/2008/05/open-source-and-dual-licensing.html ..........wondering whats the view of most developers on dual-licensing
    Hi pagux pagux. The blog post above is tricky since it seems to imply that db4o only offers a zip file and provides no information about the internals/architecture of the db. That's far away from the truth, db4o has great resources in place if you want to get involved including info about the internals and a pretty active community. Now with regards with dual licensing in open source, and according to the blog post, some guys seem to have a problem with having a company (that obviously has to make money) behind an open source project. There are tons of excellent open source projects out there with companies backing them up (and doing business either by dual licensing, offering services around the technology and possibly other alternatives). And in a lot of cases they were able to reach there maximum potential when they got some sort of funding. Examples that come to my mind are Spring, MySQL, Alfresco and many more. If we refer to dual licensing in particular, it's important to understand that by using an open source license the product IS free software (it belongs to the community, you can take it and create a branch for example). The particular choice of open source license can be challenged (like choosing the GPL) but I think the combination of proprietary licensing and GPL offers a good balance of contributions back to the project (either in money or source code) which benefits the community in the end (of course, the GPL is not perfect). In the end, and if you want to run a serious project which is not limited by a thin flow of occasional donations, you need to find a way to support the operations. And there are many ways to do this including options where there's no company behind the project, for example, the Apache Foundation is a non profit organization but receives funding from Google, Yahoo and quite recently from Microsoft. BTW the benchmark above uses db4o v6.4 and the latest is v7.8. And it would be nice to take a look at the source code to check if db4o is being used properly. Best!
  8. Re: neodatis vs db4o benchmarks !![ Go to top ]

    I don't think the problem is that you're trying to pay money, I think the problem is the license you chose to go OS with, GPL. GPL is not less then perfect, it's horrible. It's very limited and no sane company will ever use the OS version of your product that's GPL'd. And since they won't use it, they'll never think about buying a commercial version with support. Since you mentioned SpringSource, they use a less restrictive Apache 2 license, which allows you to use their library and not have to open source your IP. If your product was standalone like MySQL and/or Linux, then GPL might not be a bad choice, since using it you woudln't be forced to open source your product, but because most uses of db4o is for embedded purposes, you're forcing folks to open source their products, which most won't do. With that said you have a great product which I've used before on an open source project, but I can't consider you for any commercial project because of GPL issues. I think you'll find that if you choose one day to change your license to LGPL, Apache 2 or the likes (anything is better than GPL), then you might actually get more traction and popularity and get some larger companies on board. Thanks.
  9. Re: neodatis vs db4o benchmarks !![ Go to top ]

    I just checked out db4o licensing costs on their website ...looks quite pricey ...look at their developer network cost db4o Developer Network (dDN) Enterprise -> Packages starting at US$ 18,000 (18 k hahahaha no kidding !!!) for mortals like us db4o Developer Network (dDN) $ 1200............i wonder whats the cost of their database engine (not mentioned on their website ....they want users to request a quote ............. Here is db4o community take on their licencing -> http://developer.db4o.com/forums/post/30908.aspx http://developer.db4o.com/forums/post/52129.aspx and http://developer.db4o.com/tags/Licensing/default.aspx guys @ db4o dudes you better sort this Licensing or remain niche player forever !! Best of luck
  10. Current limits I see in NeoDatis: - it does not implement lazy fetching (both objects and collections are fully loaded) - it does not have object referential integrity - client/server mode uses Java Serialization to send objects back and forth between peers (you will get terrible performances because of this) - schema evolution. These are not implemented (yet): renaming a class, renaming a Field, changing the type of a field - it does not reuse database space after deleting objects - bulk operations are missing (multiple updates and deletes) - backup/restore only through ODBExplorer, by exporting/importing to XML files. Missing online backup/restore. Question I Have: - are operation like update/delete/insert cascaded to the entire object graph? i.e. take your 5 minutes tutorial example, step2. What if: a) get a reference to the Game object with a query b) navigate the Game object in order to get a reference to a player c) modify the player name d) call store on the GAME Will the player be correctly updated?
  11. Re: neodatis vs db4o benchmarks !![ Go to top ]

    Question I Have:

    - are operation like update/delete/insert cascaded to the entire object graph?
    In db4o they are cascaded (you can configure this option according to your needs).
  12. hummm, interesting about these "Current limits", but I guess some of that, are also limits on db4o, as "bulk operations are missing (multiple updates and deletes) and online backup/restore". But I'm not sure, maybe somebody can tell us.
  13. Re: neodatis vs db4o benchmarks !![ Go to top ]

    hummm, interesting about these "Current limits", but I guess some of that, are also limits on db4o, as "bulk operations are missing (multiple updates and deletes) and online backup/restore". But I'm not sure, maybe somebody can tell us.
    Hi Felipo. I just wanted to answer your specific question about the list of limitations and whether or not these apply to db4o. Disclaimer: my links lead to the db4o reference documentation which requires a login 1) No lazy fetching (both objects and collections are fully loaded) Supported on db4o. Note that we also have other useful query modes 2) No object referential integrity Not natively supported but you can implement it in db4o 3) Client/server mode uses Java Serialization to send objects back and forth between peers (you will get terrible performances because of this) No Java serialization api (we're cross platform Java/.NET. The server can be Java and the client .NET for example) but objects have to be eventually marshalled/unmarshalled (for any c/s odb) which results in a slower behavior compared to embedded use. For more information see this page 4) Schema evolution: renaming a class, renaming a field, changing the type of a field Supported on db4o 5) Reuse database space after deleting objects Supported on db4o 6) Bulk operations are missing (multiple updates and deletes) Not supported yet 7) Backup/restore only through ODBExplorer, by exporting/importing to XML files. Missing online backup/restore Supported by db4o
  14. Hi Andrea, You are right, NeoDatis still lacks some of the features you are describing. Not all, for example, backup&restore is available via API, not only via ODBExplorer, renaming a class and a field too. But the important thing here is that if you need a new feature just fill a feature request on NeoDatis site and we (and the community) will try to implement it as soon as we can. In the case you described, operations like update/delete/insert are cascaded and the player will be updated correctly. Referential integrity is a very important feature that we will implement in version 2. I was wondering if Db4O already supports it? Anyway, DB4O is a very good product. And offering the Object Manager Enterprise (for free) with the engine is a good decision. Olivier NeoDatis
  15. Olivier, thanks for your prompt reply. I think that adding lazy/incremental fetching capabilities to NeoDatis would give it a major added value. Think of a tree of state,regions,provinces,cities. For Italy it would be a tree with 8000 nodes. Let's say you have an application where you are required to select a city. Let's say you decide to use a widget similar to Windows Explorer to navigate the tree and select the appropriate city. With lazy fetching you will be actually loading only a few nodes (basically the path to the selected city), while without lazy fetch you will end up in having 8000 unused objects in memory. The same goes for the client/server feature. Using serialization implies, if I'm not wrong, object versioning (after the server has sent an object graph to a client and then receive it back with a request of UPDATE I suppose you will be doing some object diffing in order to get all modifications done by the client to the object graph). If this is true, it adds object graphs comparison costs to serialization/deserialization costs. Why not implementing the same thing using proxies on the client side? Yes, it's true that the objects sent to the client will be keeping a "link" to the server and could not be "detached" from it, having the side effect of using server resources, but I think this approach would be better in terms of performances. Anyhow it's a nice project and I will be happy to see it growing. Andrea
  16. Re: neodatis vs db4o benchmarks !![ Go to top ]

    Referential integrity is a very important feature that we will implement in version 2. I was wondering if Db4O already supports it?

    Anyway, DB4O is a very good product. And offering the Object Manager Enterprise (for free) with the engine is a good decision.

    Olivier
    NeoDatis
    Olivier. Thanks a lot for your comments! We don't support referential integrity yet but offer a work around in the meantime. Perhaps you can do something similar until you release version 2. Best!
  17. Re: neodatis vs db4o benchmarks !![ Go to top ]

    Anyway, it is nice to have NeoDatis remembered when talking about Object database. The final version of NeoDatis 1.9 should be released soon. And feel free to post feature requests to help us build a better object database engine. For the ones who are interested in understanding/checking how NeoDatis ODB works (architecture,file format,API,...), there is a wiki at http://wiki.neodatis.org/how-odb-works that explains how our object database work. Thanks to all! Olivier NeoDatis
  18. Re: GPL !! Thanks But No Thanks !![ Go to top ]

    GPL db4o is strict no no in commercial projects , its better to use terracotta which provides clustering benefits also and with more business friendly licence for small just use in memory databse with hibernate !!
    Terracotta ? Don't you think you are comparing apple and orange ? If someone chooses DB4O it is because he wants a DBMS. Do you think that terracotta+in memory RDBMS+hibernate on top <=> DB4O ? Very KISS, I have to admit. Guido
  19. Re: GPL !! Thanks But No Thanks !![ Go to top ]

    GPL db4o is strict no no in commercial projects , its better to use terracotta which provides clustering benefits also and with more business friendly licence for small just use in memory databse with hibernate !!
    db4o has a dual licensing scheme. It's being used in commercial projects which can't go with the GPL. And Terracota serves a different purpose! Best. German
  20. Re: GPL !! Thanks But No Thanks !![ Go to top ]

    Yeah, but what about commercial projects that don't want to pay for the license? What about a project that has a rather incremental value from db4o and can't justify buying a license to use it simply as a persistent cache. One can easily use anything else, even serializing your own objects, but db4o gives some benefits of ACID and querying. Still, those benefits are not worth the price if one can use an free RDBMS like SQLite and many others and an ORM layer on top. Either way, db4o is very nice, but you guys should rethink the GPL issue. I didn't realize anyone was still using GPL these days for releasing their commercial software as OS.
  21. Re: GPL !! Thanks But No Thanks !![ Go to top ]

    Yeah, but what about commercial projects that don't want to pay for the license? What about a project that has a rather incremental value from db4o and can't justify buying a license to use it simply as a persistent cache. One can easily use anything else, even serializing your own objects, but db4o gives some benefits of ACID and querying. Still, those benefits are not worth the price if one can use an free RDBMS like SQLite and many others and an ORM layer on top.
    ...and if you choose the "right" "ORM" tool like DataNucleus and use JDO API you can easily switch from RDBMS to DB4O to NeoDatis without touching your code. Guido
  22. Re: GPL !! Thanks But No Thanks !![ Go to top ]

    I didn't realize anyone was still using GPL these days for releasing their commercial software as OS.
    MySQL is GPL'ed, and it seems to be doing pretty well. I always read such things with an even mix of amusement and frustration: "How dare you give me something for free without giving me the ability to make money off your work?!" Aside from the license whining, does anyone have any feedback on the product itself?
  23. Re: GPL !! Thanks But No Thanks !![ Go to top ]

    MySQL is not an embedded product and is mostly used as a standalone server, though apps that use it are not required to open their source. Most OS companies these days make money from support. The bottom line is that if I can't afford it or don't think it's worth it, I'll probably use another product, even if it made my life a bit harder and code a bit less elegant. Open Sourcing software allows companies to get benefits by growing their user base. They can than make money by other means, like support, extra add-on features, etc... Forgive me for pointing this out, but db4o and most object database are not the most popular puppies out there, though maybe a less restrictive license will actually allow people to use it and then realize what they are missing out on.
  24. MySql has a special FOSS Exception[ Go to top ]

    I didn't realize anyone was still using GPL these days for releasing their commercial software as OS.

    MySQL is GPL'ed, and it seems to be doing pretty well.
    I always read such things with an even mix of amusement and frustration: "How dare you give me something for free without giving me the ability to make money off your work?!"
    MySql has a special FOSS Exception where it allows mysql client libraries to be included in commercial software ->> http://www.mysql.com/about/legal/licensing/foss-exception/ ....they changed their licensing policy when LAMP aka PHP (which is lincensed under liberal BSD) developers and OS vendors like Redhat refused bundle mysql and threatened to switch over to other RDBMS like Postgres Sql -> http://news.cnet.com/2100-7344_3-5173014.html
  25. Re: MySql has a special FOSS Exception[ Go to top ]

    MySql has a special FOSS Exception where it allows mysql client libraries to be included in commercial software ->> http://www.mysql.com/about/legal/licensing/foss-exception/ ....they changed their licensing policy when LAMP aka PHP (which is lincensed under liberal BSD) developers and OS vendors like Redhat refused bundle mysql and threatened to switch over to other RDBMS like Postgres Sql -> http://news.cnet.com/2100-7344_3-5173014.html
    Thanks to everybody for the feedback (we will take a look at every single comment and see how we can improve db4o). We have what we call the dOCL which is almost exactly like MySQL's FOSS. This kind of licenses allow you to somehow overcome GPL limitations by allowing you to bundle the product in open source software using other licenses. That's how RSSOwl (for example) is using db4o (they use EPL).
  26. OM and db4o license[ Go to top ]

    Thanks for information on Object Manager, this is definitely a step in the right direction. I would love if there is a SQL based interface, so you can look at your objects as a data stored in tables, thus you get the best of both worlds. Hope this gets implemented. I agree with most of the other people in this discussion that db4o license is strange, I would say dual strange. The open source license uses GPL, which is very difficult to use for commercial purposes (I don't want to make money of your work, I want to get money from mine). It is not clear for me if db4o can be used as standalone server for a web application served at my site : do I have to open source the application ? I cast my vote to change the OS license to a friendlier one, i.e. LGPL or Apache. Than there is a commercial option : I (or my customers) have no problem to pay for a license, but not for this ridiculous one. There is no flat fee option ! I have to report to db4o how many copies of my application has been sold... that sounds so reminiscent to commercial licenses of some 20 years ago, before the internet era. It is difficult to persuade customers to use object database instead of "traditional" approach, but it can be done. But licensing options were always a show-stopper. Hope this will change rather soon.
  27. Re: OM and db4o license[ Go to top ]

    I can see some need of looking at objects as tuples, but to say that's the best of both worlds? The whole point of an object database is to get rid of the impedance mismatch that such a configuration causes. Your proposal is creating a reverse ORM (ROM), to now look at a rich object graph from a rectangular tuple perspective. I'll pass. :-) Ilya
  28. Re: OM and db4o license[ Go to top ]

    I can see some need of looking at objects as tuples, but to say that's the best of both worlds? The whole point of an object database is to get rid of the impedance mismatch that such a configuration causes.
    Ilya, thanks for reply, but I am afraid that we both talk about a slightly different things. No, I don't want to reintroduce ORM : I agree the biggest advantage of OO database is that no mapping is necessary, this saves a lot of effort during development. No change to that at all. What I think would be useful is to get a parallel interface that will allow you to access data - the same role the OM has now. There is a point used by supporters of RDBMS that SQL is kind of language-neutral interface to your data thus you are not locked in : if you have an enterprise application and your supplier (developer) can no longer provide you with maintenance, you can find a different party who will write new application (perhaps using different language and tools), but it will still use the same data in the same database. If you are using OODB, you are much more vulnerable in similar situation. Having SQL interface to your data will give you more options and more security. That was my point when I said you get best of both worlds.
  29. Re: OM and db4o license[ Go to top ]

    Thanks for information on Object Manager, this is definitely a step in the right direction. I would love if there is a SQL based interface, so you can look at your objects as a data stored in tables, thus you get the best of both worlds. Hope this gets implemented.
    If you check the feature comparison of OM and OME you'll see that OM uses a SQL based interface for querying that relies on the SQL support project for db4o ("sql4o") which is maintained by the folks at DataNucleus. Also thanks for all your comments about licensing. We will certainly take them into account for the near future (as Robert said, we will be exploring improvements in licensing). Same goes to pagux pagux who contributed a specific suggestion for the licensing model (thx!)
  30. Re: OM and db4o license[ Go to top ]

    If you check the feature comparison of OM and OME you'll see that OM uses a SQL based interface for querying that relies on the SQL support project for db4o ("sql4o") which is maintained by the folks at DataNucleus
    Thanks for the pointer to the DataNucleus db4o SQL interface : it is interesting project. However it lacks some essential features, most notably JOIN construct. But it is definitely a step in right direction. German, thanks for reply and good luck in choosing a right licensing model.
  31. Congrats on the release German et al! Is there a feature comparison of the old ObjectManager (already open sourced, Gisbert was writing it last I heard) and the new (enterprise) ObjectManager ?
  32. Thanks Andi.. There is no comparison sheet to the old version, but there is a nice overview added to the db4o tutorials to give you a step by step overview of it's features. BTW - This is from a completely different code base that the "old" version. Right tool for the job, -Robert db4o - the database for objects
  33. Congrats on the release German et al!
    Is there a feature comparison of the old ObjectManager (already open sourced, Gisbert was writing it last I heard) and the new (enterprise) ObjectManager ?
    Andy, thanks for your support. We thought a feature comparison is a great idea so here you are!
  34. One of possible licensing model and accompanying business model for db4o can licensing core db in LGPL and build propriety extensions or add-ons and premium support packages......wondering what German(db4o) has to say about possibility of the same in near future
  35. IMHO, you can NOT be : - an outsider (due OO base orientation), - proposing a niche product (OO database versus RDBMS), - and yet, following the hard way with a tough proposition (GPL). And you can NOT say MySQL is using GPL dual licensing, so an OO database can do the same, while imagining the same success; these are different cases: - a RDBMS is not a niche product (versus a OO database), - MySQL has greatly taken benefit from Linux distributions, and then, hosting. You know, once a product has been widely widespread, it's difficult to replace it without... years. So, MySQL is already in the place, another GPL competitor, that is, a competitor without discrimant features/licensing, won't have the same success. Even being GPL (then Open Source), MySQL has yet to gain market, because Oracle+Microsoft+IBM still dominate the market, so imagine an OO database with GPL!
  36. Hi Dominique, all... Appreciate the feedback on the licensing. As the new home for db4o, Versant is looking at many ways to open the technology to further adoption, hence the whole point of this post, the release of previously closed features. I do want to point out that the db4o community is 50,000+ registered users and growing rapidly with many high profile commercial users , so to the GPL and our similar FOSS version are clearly finding a level of acceptance. NONE who seek to compare, can boast the db4o community and customer base. db4o is the leader in the embedded ODB market for a reason, it works, it works well, its deployed and proven. It's Versant's mission to keep it that way. Exploring improvements in licensing is certainly a part of that mission. Right tool for the job, -Robert db4o - the database for objects