jump to navigation

Db4o Object database - cool, and fast as lightning December 7, 2007

Posted by Wille in .Net, Java, Software Development.
1 comment so far

I’ve been playing around a little with Db4o, an Object database for Java and .Net for a couple of evenings. From just a couple of hours, I’m getting the feeling that it is very intuitive to use - it beats the crap out of Hibernate and JPA! It also seems extremely fast compared to a traditional relational database.

However, I have a few questions I’m hoping any reader of this blog might be able to answer:

  • Any experience of object databases in general and Db4o in particular?
    • Is Db4o suited for high concurrency environments, or is it mostly a “stand-alone plaything”?
    • Are there any gotchas in terms of managing transactions, concurrency or fail-over/replication?
    • On the last point, is it viable to scale Db4o up to run over several nodes?
    • I seem to get a lot of “OutOfMemoryExceptions” when trying to create large amounts of data, or find Objects from large amounts of data. Is there any way of getting the server to “swap out” to disk or something? It is rather annoying to get OutOfMemoryExceptions when you do a search for an Object (and might pose a few problems if you’re working with terrabytes of data rather than megabytes..)..

So far I’ve pretty much relied on running an embedded server, then using server.openClient() to open clients, where I have assumed that the client connections are transactional in a similar way to the way SQL transactions are used.

Thoughts and feedback would be very much appreciated - I’m very curious about object databases, if you’re working with objects, why not store them as such? Only thing is, jumping from the mindset that comes with storing in relational databases to object databases is quite a shift in thinking that probably doesn’t happen overnight.

One of the best but least appreciated open source projects around June 7, 2007

Posted by Wille in .Net, Java, Software Development.
add a comment

..is definitely BouncyCastle. They are actually so under-appreciated that I personally forget about them from time to time when I embark on something crypto-related. I am amazed that I don’t hear more about them in the media, on blogs or where ever.

They’ve been around forever, providing high quality open source crypto-libraries in both Java (including J2ME) and .Net (C#).

No particular reason for this post, other than me just looking around for crypto-libraries and suddenly remembering Bouncycastle. If I can put in my 5 cents to raise their profile and awareness about them, I’m happy to do it. They certainly deserve it.

Microsoft Windows SDK - how not to create an installer May 24, 2007

Posted by Wille in .Net, Software Development.
add a comment

I’ve tried installing Microsofts Windows SDK today, which is basically documentation and developer tools/add-ons to the .Net framework. Microsoft has managed to create a textbook example of how not to do an installer, with one of their flagship developer downloads, nice going.

First of, the installer will fail each and every time if you don’t have a blazing fast network: on preparation for installation, the setup will download some files remotely, and the timeout of this is not based on download progress, whether or not the setup is actually doing anything or downloading anything. No, the timeout is based on.. a fixed time out value in minutes by the look of it. My network, which downloaded at approximately 50kb/s was too slow for this timeout.
The fix/workaround? Check the installation log (in a temp-directory), see which file causes the timeout and download it manually into the directory structure that the installer wants it in.

Ok, so I got past that, now what? Well, from now on the timeouts seem a bit more sane, but the installers progress indicator doesn’t give you much to go on. I know I’m supposed to download approximately 900mb of files, but I only get a single progress-bar for the whole install, with no indication of how much has been downloaded, or how much is to be downloaded in total. Again, my only recourse for knowing if the installer is working or has frozen is to tail the same setup-log I checked earlier.

The Windows SDK is easily one of the crappier installers I have come across in recent years. As we speak, it is still running, all I have to do now is leave the computer on over the night, and pray that the installer doesn’t freeze or that my network doesn’t go down at any point..