db4o Blogs

db4o News

PowerShell podcast to feature db4o

The next Powerscripting podcast (http://powerscripting.wordpress.com/) hosted by Hal Rottenberg will feature db4o's Powershell sample by Adriano Verona.
You can check the live video stream as they record the show! It'll air this Thursday at 9pm EST (GMT-5), unless otherwise noted on the blog.

Come and join us in the Powershell community!

Newsletter #49: db4o Now Even Simpler with Free Object Manager Enterprise Plugins

db4o by Versant is pushing more value for developers by open sourcing OME plugins for both Eclipse and Visual Studio Also striving for simplification, configuration interfaces have been partitioned into distinct usage categories New Caching optimizations in v7.8 lets you choose the right caching algorithm for your application Development release 7.8 now support .NET "enums" as value type rather than reference type 7.8 Release emphasizes consistency of queries across all architectures and db4o query mechanisms, and adds performance optimization along the way db4o v7.8 has been enhanced to be usable in .NET PowerShell popular CLI db4o 7.8 Release is available for immediate download! For more details please check the release notes. Highlighted Contributionsfrom the community projects blog Solving class loading issues with db4o and OSGi: Lukas Neukom kindly contributed a proof of concept (source code included) where he shows two ways to solve class loading issues with db4o and OSGi (by either ...

Read the rest of entry »

Object Manager Enterprise Now Free To All Developers

I have great news for db4o developers - starting from version 7.8 db4o release will be completed with a new product: Object Manager Enterprise (OME). Those of you, who were following db4o events, should remember that 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 db4o acquisition by Versant and a new accent was put on simplicity and value to the community. It was agreed that a tool providing a graphical interface to db4o database is undoubtedly important both to new and experienced developers and open-source customers, therefore should be a part of the product and free for all db4o users. Object Manager Enterprise - what is it? Database browsing tool is not a new concept for db4o. Earlier we provided a java-based standalone application (Object Manager) for browsing db4o databases, however it was not equally convenient for .NET users and without integration into the development environment did n ...

Read the rest of entry »

New caches for db4o

Looking for ways to make db4o faster, we recently invested some work into better caching. We found a nice paper here and decided to implement a LRU/2Q cache for db4o. Our new cache implementations can now be found in the classes LRU2QCache, LRU2QXCache and LRUCache. Feel free to use them anywhere the GPL allows you to. As the best testing ground for the new caches we identified our IoAdapters. Driven by the requirement to make the caching layer pluggable, we first refactored IoAdapters from their old factory-and-implementation-in-a-single-class approach to a clean factory concept. The roots of the new class hierarchy:Storage - a factory class that knows how to open a BinBin - a representation of a container for storage of dataIf you are interested in details of the implementation, it's probably easiest if you browse the sources and open the type hierarchy for Storage and Bin from your favourite IDE. The existing old IoAdapter interface still continues to work, wrapped by an IoAdapterStorage. After we had th ...

Read the rest of entry »

Consistent Queries

At our recent developers conference in December in Munich we had a discussion about Transparent Persistence. We came up with a list of expectations: Our four query interfaces (LINQ, Native Queries, Query-by-Example, SODA) must produce the same results. db4o must produce the same results in client/server mode as it does in embedded mode. When an object is explicitely stored with ObjectContainer#store(), modified uncommitted objects must be visible with their changed state for queries with the same transaction. When Transparent Persistence is used, modified uncommitted objects must be visible with their changed state for queries with the same transaction. Deleted objects must not be visible for queries with the same transaction. Uncommitted changes must not be visible for other transactions. Since we were not absolutely sure if we satisfy all these requirements, we wrote a couple of test cases. These tests can now be found in db4oj.tests in two versions of QueryConsistencyTestCase, one for our explicit ...

Read the rest of entry »

Db4o first class citizens: .Net enums!

Hi, Until recently .Net enums had no special handling in db4o, i.e, they were seem as any other object and were handled as such. The issue with this approach is that enums are not reference types; enums are value types and so object behavior don't hold for them (for instance, there's no such thing as an enum identity). In the practice this caused some strange behaviors when storing / querying enums fields: COR-1476: 0 (zero) was handled as a special value meaning "match any value". COR-1028: Enums where handled as references instead of value types. You can see issue #1 manifestation by constraining a query using an enum field with value 0; instead of getting back only objects matching the enum field value (zero) you'll get all objects (no matter the value of the enum). Since, by default, .Net enums starts with 0 (zero) this was really annoying. A possible workaround (which is,IMHO, suboptimal) requires that you change your enums definitions to start with 1 (instead of zero). In the second issue, a ne ...

Read the rest of entry »

New db4o sample app: BookStore.NET

BookStore.NET (by Mihnea Radulescu) is a digital book management application using db4o v7.4 and C# 2.0, targeting the .NET Framework 2.0. It allows the user to manage all of its digital books and articles (pdf, chm, html, doc, rtf, etc.) on the computer in an elegant and effective way. Go ahead and check it out because it's cool and even useful. If you want to contribute to the project please check this thread. Thanks Mihnea!

Solving class loading issues with db4o and OSGi

Lukas Neukom kindly contributed a proof of concept (source code included) where he shows two ways to solve class loading issues with db4o and OSGi (by either using fragments or by implementing a bundle extender). The idea behind this is very similar to the OSGiDemo but instead of having to register the classes yourself they can be declared in the manifest. Enjoy! (thx Lukas!!).
http://projects.db4o.com/OSGiClassLoading

db4o v7.4 binaries available for Mono

Arne Claassen has contributed a tar.gz package with db4o v7.4 binaries for Mono. You can download it from the db4o Mono project page.
More info about the package in Arne's blog post. Thanks Arne!

New podcast about object databases and db4o

Alt.NET Podcast just featured db4o in Episode 14 entitled "Object Databases".
Guests to the podcast are Rob Conery and James Avery.
Topics discussed in the show:

Enjoy! =D

Pages: 12NextReturn Top