Discussions

News: Oracle releases Berkeley DB Java Edition 3.0.11

  1. Oracle Corporation has announced the release of Berkeley DB Java Edition 3.0.11. Berkeley DB Java Edition is an embeddable database implemented in Java that provides a transactional storage engine that reduces the overhead of object persistence while keeping the flexibility, speed and scalability of an ORM tool. Berkeley DB Java Edition 3.0 introduces a new interface called the Direct Persistence Layer. This API is designed to offer the same benefits of EJB3 persistence without the need to translate objects into tables. This is release 3.0.11 of Berkeley DB Java Edition, the first release in the JE 3.0 line. View the change log for a complete list of changes since version JE 2.1.30. New features and performance improvements include: - Direct Persistence Layer - An EJB-style API using Java annotations to reduce development time, schema and data access patterns. - Deferred-write, a new operational mode allowing in-memory update speeds with an ability to snapshot data to disk at any time - Hot-Backup Tool to ease integration of the backup process within an application What do you think of Berkeley DB Java Edition 3.0.11?

    Threaded Messages (28)

  2. Berkley is one expensive open source piece of software. Use it to distribute in your close source app, for profit or not, and you owe Oracle $40,000. Berkley's a good database, just not THAT good.
  3. Not $40,000[ Go to top ]

    Oracle replied to my request for a quote saying that it they charge a 5% flat royalty for BerkleyDB JE, with no minimums. Where did you get your $40,000 number from?
  4. If you are looking for an embedded database then don't forget to look at Derby also. It has a low memory footprint and very decent performance. There were two Derby presentations at JavaOne: https://www28.cplan.com/javaone06_cv_124_1/sessions_catalog.jsp?ilc=124-1&ilg=english&isort=1&is=%3CISEARCH%3E&ip=yes&itrack=+&isession_type=+&isession_id=&iabstract=derby&ispeaker=&ispk_company= And many articles on the web. S.
  5. Object database? Great[ Go to top ]

    Oracle involvement in an Object Database is really great. I used ODBMS in the 90s (POET, and only for a prototype) and they are really cool. No database tables, no alter Tables, no problems with type conversions, only Java classes. Really cool. I hope some day we use object database for production applications. Cheers Javier Paniza
  6. Re: Object database? Great[ Go to top ]

    I used ODBMS in the 90s (POET, and only for a prototype) and they are really cool. No database tables, no alter Tables, no problems with type conversions, only Java classes. Really cool. I hope some day we use object database for production applications.
    Why would you use something that has proved to be inferior to relational databases?
  7. Re: Object database? Great[ Go to top ]



    Why would you use something that has proved to be inferior to relational databases?
    Impedance mismatch P.D: You speek just as a RPG programmer :)
  8. Re: Object database? Great[ Go to top ]

    Impedance mismatch
    Oh, boy! It's 2006, not 1996!
  9. Re: Object database? Great[ Go to top ]

    Impedance mismatch


    Oh, boy! It's 2006, not 1996!
    So? I must have missed the memo that declared impedance mismatch as a solved problem. And while you can work around it (Hibernate), you are not solving it, just alleviating. Impedance between "big 3" (objects, relational, XML) is more obvious now than ever. Fact is, Relational DBs are great for many set-based problems. They suck for hierarchic storage, including object storage. You can of course hammer the square peg through a round hole with a big hammer, but that doesn't mean there's no mismatch.
  10. Re: Object database? Great[ Go to top ]

    Relational databases are better? You apparently don't know much about databases. Hey, go write a LDAP server that uses a relational database and compare it up to one that uses BerkleyDB. Or, even better, store a bunch of XML documents in your relational database and query it using XQuery. Then compare the performance to BerkleyDB. In both cases you will find that relational databases, although great for a bunch of things, doesn't compare to BerkleyDB in certain fields.
  11. Re: Object database? Great[ Go to top ]

    LDAP server can be implemented using a relational database. Albeit, you will need to have an optimization technique to avoid recursive queries when searching a hierarchical structures. IBM DS and Oracle Internet Directory are both written with their own relational databases (DB2 and Oracle Db). Check out this article: http://www.research.ibm.com/journal/sj/392/shi.pdf
  12. Re: Object database? Great[ Go to top ]

    Oracle involvement in an Object Database is really great.

    I used ODBMS in the 90s (POET, and only for a prototype) and they are really cool. No database tables, no alter Tables, no problems with type conversions, only Java classes. Really cool.

    I hope some day we use object database for production applications.

    Cheers
    Javier Paniza
    Well, we currently use Jisp (which is also a persistent hashtable like BDB) as our internal database, which works extremely well. Create a class, and you can store it. The structures can be really complicated and I don't have to worry about creating the corresponding relational tables, which would have been a real hassle. But what I really really like about it is the performance. It is just blindingly fast to work this way. I've done some tests with simply replacing Jisp with Derby and BLOB's and it's not even close. This is in use in production. As an example we run the Swedish IRS website, and we just had tax declaration day over here which meant pretty massive loads. Guess what? We beat the performance numbers of their previous system they used which was based on static Dreamweaver content served by Apache. And yet we are doing everything wrong: we use Tomcat, we use Java (100%), we use AOP (for all services and the entire object model), we don't use an RDBMS, we use portlets (to produce all content, including navigation). All of these "wrong" technologies and yet we manage to produce better results than a purely static solution. Pretty darn neat IMO.
  13. Rickard, I remember reading in your blog that you switched to JDBM as JISP was not performing too well in your CMS product. Did you go back to JISP again ? We are just about to start a project with JDBM (after evaluating JISP) and would like to hear your comments. Cheers Luis
  14. Rickard,

    I remember reading in your blog that you switched to JDBM as JISP was not performing too well in your CMS product. Did you go back to JISP again ? We are just about to start a project with JDBM (after evaluating JISP) and would like to hear your comments.

    Cheers
    Luis
    We are now using both, but since we had some pretty huge databases in Jisp and they were reasonably equal we didn't bother with the replacement in the end. While Jisp has worked tremendously well we are now looking at going to the next level and am considering using a pure RDF database like Sesame 2 as the foundation, along with XStream to "serialize" our objects to XML. That looks like a pretty good combo from what I've seen so far. Being able to query the object model using RDF is pretty powerful.
  15. sesame and scalability[ Go to top ]

    My apology to the original poster of this topic for hijacking this thread to ask Rickard Oberg a quick question. Hi Rickard Do you mind sharing a quick thought on Sesame vs. Oracle RDF model ? My main concern with Sesame is scalability. Thanks Tien Doan
  16. Re: sesame and scalability[ Go to top ]

    My apology to the original poster of this topic for hijacking this thread to ask Rickard Oberg a quick question.

    Hi Rickard

    Do you mind sharing a quick thought on Sesame vs. Oracle RDF model ? My main concern with Sesame is scalability.

    Thanks

    Tien Doan
    I haven't worked enough with Sesame yet to talk about its scalability, and I don't know anything about Oracle RDF. But here's what I do know. When talking about scalability and databases there are many different things it can mean, generally. Either it can refer to how the database works when more and more data is added to the database, or it can mean how the database works when the load is increased. Or it can refer to whether the database supports clustering. You didn't mention which kind you were referring to, so it is difficult to answer. If you were talking about data size scalability, well, Sesame uses Btree's so that's the inherent "limitation", if you will, in terms of data storage. If you were talking about user scalability, i.e. what happens to performance when the user load increases, then there are a couple of ways to work around any potential issue. In my own case, since most queries to the database are repeated by all users (e.g. user visits first page and the query "give me all top news" is issued) it would be a good idea to introduce a cache layer that immediately returns the result of such common queries. Simple things like that can make a database work better even under pressure. Kind of like the first law of distributed computing: "the first law of databases is: don't query databases". Same thing goes for objects stored in the database. If you can ensure that objects used often are available in-memory then the database can last longer, in terms of acceptable performance, simply since you are not wasting it on loading objects. Bad answer, I know, but the question wasn't that clear either. ;-)
  17. sesame and scalability[ Go to top ]

    Hi Rickard Thank you for taking time analyzing my obtuse question :D I did some more search this weekend and found some more info that updated me on current RDF processing capability, http://jena.hpl.hp.com/juc2006/proceedings.html and http://www.mkbergman.com/?p=227 Pls keep the discussion rolling on your IRS work. I am all ears :)
  18. Re: Object database? Great[ Go to top ]

    And if I may kiss your röv a bit, that website worked flawlessly and the pages arrived instantly.
  19. Re: Object database? Great[ Go to top ]

    And if I may kiss your röv a bit, that website worked flawlessly and the pages arrived instantly.
    I was on standby in their server center during the last two days of the tax declaration period, in case anything went wrong. It was incredibly boring. As they put it: "well, this is interesting but not very exciting", as it all went extremely smooth. The servers (5 Dell, Suse 8, dual core) were yawning at max 50% load.
  20. Re: Object database? Great[ Go to top ]

    Can you give any performance metrics, such as, the number of concurrent sessions, pages requested per second and whatever else a technician like me may want to onna to? ;)
  21. Re: Object database? Great[ Go to top ]

    did the machines ever run out of memory and start paging? what was the backout plan for OOM errors? it would probably be worth starting another thread, here or elsewhere, because i think it would attract a *lot* of interest.
  22. Re: Object database? Great[ Go to top ]

    did the machines ever run out of memory and start paging? what was the backout plan for OOM errors?

    it would probably be worth starting another thread, here or elsewhere, because i think it would attract a *lot* of interest.
    We had done extensive stress tests beforehand so we were pretty sure that all memory leaks had been fixed. The entire AOP subsystem that manages the objectmodel uses SoftReferences so we never have OOM's, no matter how big the database. The load balancer (BigIP) was configured to fall back to a static web served from Apache if only one server was up. With the given results, where the servers never had more than 75% CPU usage the internet pipe would have been saturated before the servers reached 100%. At peak load we delivered 75Mbit consistently, and max was 100Mbit. I've asked for detailed statistics from the IRS, and they said it would be ok to share them "if done in a dispassionate and non-valuating manner" :-) So cold hard dry numbers are coming soon.. It's kinda funny... a third party did response time comparisons between a bunch of government websites, and you can see the graphs with lines going up and down, and then an arrow at the bottom pointing out that the X axis is slightly thicker since that's where the line for the IRS website response time is :-) Hehe...
  23. compare with CACHÉ[ Go to top ]

    How does Berkeley compare to Intersystems CACHÉ?
  24. free , good and much betetr than others....
  25. Yes, Hibernate is the problem. http://www.loudthinking.com/arc/000297.html
  26. there is a good article on tss about rails v. hibernate and one of the take-home points for me is the problem with cascading updates. if you can get away without needing them, then rails is great for getting going quickly, but with hibernate you can turn it on with a single flag. i agree with DHH's comments about the pains of hibernate, it would be great if it could make more assumptions, but tools are alleviating that pain. Neither are perfect...tools...jobs....
  27. Inheritance Mapping[ Go to top ]

    Congratulations and thanks for bringing BD to Java. The new Persistence API realy looks good. I have one question. Does the Persistence API support Entity inheritance (Ie @Entity class Page {} + class CatalogPage extends Page{}) where also all the additional fields of CatalogPage are stored. And are the relations and indexes 'polymorphic'? If this is supported it would be great to see some example or have it mentioned in the docs. Thanks, Christian
  28. Re: Inheritance Mapping[ Go to top ]

    Congratulations and thanks for bringing BD to Java. The new Persistence API realy looks good.

    I have one question. Does the Persistence API support Entity inheritance (Ie @Entity class Page {} + class CatalogPage extends Page{}) where also all the additional fields of CatalogPage are stored. And are the relations and indexes 'polymorphic'?

    If this is supported it would be great to see some example or have it mentioned in the docs.

    Thanks,
    Christian
    Thanks! Yes, a subclass of an Entity class inherits its persistent fields. An entity class may also extend another class and inheritance works as usual in Java. Polymorphism is supported in this model. One of my favorite features is that a secondary index on an Entity subclass only indexes instances of the subclass. These features are described here, see the BaseClass, Pet and Cat classes: http://www.sleepycat.com/jedocs/java/com/sleepycat/persist/model/Entity.html Thanks for your comments, Mark
  29. BDB XML on Java Edition?[ Go to top ]

    Do plans exist to port BDB XML to run on top of the Java Edition ?