﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Ayende Rahien commented on Observations on Embedded databases</title><description>http://ayende.com/Blog/archive/2008/07/07/Why-I-dont-like-FireBird-Part-II.aspx
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment48</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment48</guid><pubDate>Wed, 06 Aug 2008 00:06:36 GMT</pubDate></item><item><title>Ayende Rahien commented on Observations on Embedded databases</title><description>Darrell,
  
What part of embedded database does PostgresSQL Has?
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment47</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment47</guid><pubDate>Tue, 05 Aug 2008 23:35:03 GMT</pubDate></item><item><title>Darrell commented on Observations on Embedded databases</title><description>May want to check out Postgresql:
  
  
http://www.postgresql.org/
  
  
You will like their license!
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment46</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment46</guid><pubDate>Tue, 05 Aug 2008 13:50:04 GMT</pubDate></item><item><title>Jan Persson commented on Observations on Embedded databases</title><description>I'm sorry to say that I neither have the time nor the competence to understand the problems you experienced by looking through your code. Could you instead please (in a few words) explain what kind of problems you had with Firebird?
  
  
Since Firebird is using MVCC it doesn't behave in the same way as other databases when it comes to locking and isolation, but that is not the same thing as to say that it is not handling transaction isolation.
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment45</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment45</guid><pubDate>Tue, 05 Aug 2008 09:42:37 GMT</pubDate></item><item><title>Ayende Rahien commented on Observations on Embedded databases</title><description>Run the throughput sample here, you'll see the problem:
  
  
https://rhino-tools.svn.sourceforge.net/svnroot/rhino-tools/branches/rhino-queues-firebird
  
  
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment44</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment44</guid><pubDate>Mon, 04 Aug 2008 19:33:43 GMT</pubDate></item><item><title>Jan Persson commented on Observations on Embedded databases</title><description>What do you mean when you say that Firebird does not handle transaction isolation? Actually it handles multiple transactions very well and we have been using it embedded in a multi-threaded application for almost two years now.
  
  
http://www.firebirdsql.org/dotnetfirebird/blog/2005/02/transaction-isolation-levels-in.html
  
  
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment43</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment43</guid><pubDate>Mon, 04 Aug 2008 08:24:58 GMT</pubDate></item><item><title>Ayende Rahien commented on Observations on Embedded databases</title><description>I am using the System.Data.Sqlite version, which has embedded version of the native DLL.
  
No idea what that version is, though. I _think_ that I might have an earlier version.
  
I'll have to try that.
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment42</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment42</guid><pubDate>Mon, 21 Jul 2008 16:51:51 GMT</pubDate></item><item><title>Eric Hauser commented on Observations on Embedded databases</title><description>I was browsing through the SQLite documentation.  According to it in versions greater than 3.4, the whole database does not lock:
  
  
http://www.sqlite.org/34to35.html (Section 4.0)
  
  
Based on your experiences, Is this inaccurate?
  
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment41</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment41</guid><pubDate>Mon, 21 Jul 2008 16:34:26 GMT</pubDate></item><item><title>Gunnar Liljas commented on Observations on Embedded databases</title><description>db4o doesn't exactly have a "free license that allow commercial use" does it?
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment40</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment40</guid><pubDate>Wed, 16 Jul 2008 11:45:44 GMT</pubDate></item><item><title>Pierre Meyer commented on Observations on Embedded databases</title><description>intersting blog !!
  
  
for my AVS scm project, I tried at first OneDollarDB, which performances were quite great, but I had issues with indexes, which caused database crashes, so I dropped it out.
  
  
now I am using DerbyDB, which also provides an embedded database, very stable product. Did you spend some time on this one ?
  
  
Pierre
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment39</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment39</guid><pubDate>Wed, 16 Jul 2008 10:09:11 GMT</pubDate></item><item><title>Ayende Rahien commented on Observations on Embedded databases</title><description>I did, and we had this issue.
  
But note that I am not using this in an ASP.Net system
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment38</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment38</guid><pubDate>Wed, 16 Jul 2008 09:12:39 GMT</pubDate></item><item><title>Marc commented on Observations on Embedded databases</title><description>Perhaps I'im mission something, but did you try to enable Sql CE for ASP.Net environment ?
  
  
AppDomain.CurrentDomain.SetData(&amp;quot;SQLServerCompactEditionUnderWebHosting&amp;quot;, true) 
  
  
See http://blogs.msdn.com/stevelasker/archive/2006/11/27/sql-server-compact-edition-under-asp-net-and-iis.aspx for full explanation.
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment37</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment37</guid><pubDate>Wed, 16 Jul 2008 08:47:26 GMT</pubDate></item><item><title>Ayende Rahien commented on Observations on Embedded databases</title><description>It is based on me not liking limitations on what I can do with a piece of software I write.
  
If I am basing myself on a certain platform, I want to know what I can do with it. Having limitations on that is counter to what I would like to have.
  
  
Paying for something is not an issue, but in this case, I am working on a hobby project. As such, I would like to be able to use it in any circumstance.
  
Just to give you an idea, Rhino Mocks was a hobby project.
  
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment36</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment36</guid><pubDate>Mon, 14 Jul 2008 17:50:58 GMT</pubDate></item><item><title>ecards commented on Observations on Embedded databases</title><description>Just wondering about your reluctance to use a commercial db (vistadb) in a commercial product.
  
  
Is it based on philosophy or just affordability of the license?
  
  
Of course I understand wanting to use open source for non-commercial projects, and also for commercial projects where there is a clearly proven and ready solution.
  
  
But no doubt your time to research this was worth more than the cost of a license, so I'm curious about the motivation.
  
  
best regards,
  
lee
  
  
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment35</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment35</guid><pubDate>Mon, 14 Jul 2008 15:02:59 GMT</pubDate></item><item><title>blater commented on Observations on Embedded databases</title><description>you have my sympathies - we spent a lot of time investigating embedded databases, and settled on derby/hsqldb... before getting burned by it's lack of proper support for some of the more "difficult" parts of sql 92.
  
  
h2 (h2database.com) did the trick though.  Recommended. if you need an embedded java database that won't turn round and bite you.
  
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment34</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment34</guid><pubDate>Mon, 14 Jul 2008 10:38:33 GMT</pubDate></item><item><title>Ayende Rahien commented on Observations on Embedded databases</title><description>The issue is different, here you have redistribution vs. commercial
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment33</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment33</guid><pubDate>Mon, 14 Jul 2008 06:36:54 GMT</pubDate></item><item><title>Justin Rudd commented on Observations on Embedded databases</title><description>&lt;quote&gt;The inability to use in a commercial version is a reason to reject it.
  
I do intend to make use of this in a commercial applications. &lt;/quote&gt;
  
  
Be careful with Oracle BDB (i.e. Sleepycat) with regard to their open source license - http://www.oracle.com/technology/software/products/berkeley-db/htdocs/licensing.html - if you plan on distributing what you are working on under a commercial license, you'll need the commercial BDB license unless you are going to give away all the code.  But then it would be a dual license...hm...I dunno.  I just know that I had plans to use BDB in a little app that I wanted to be able to take commercial later on.  The language in the OSI license was vague enough to make me rethink it.  Now if you've got a lawyer that says otherwise...
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment32</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment32</guid><pubDate>Mon, 14 Jul 2008 06:29:04 GMT</pubDate></item><item><title>Ayende Rahien commented on Observations on Embedded databases</title><description>I didn't miss the patch at all. And I am grateful for the quick responses in the forums.
  
The problem that I have is that the cost of using BDB has risen to the point where I need to invest too much for a side project, which is what Iam using it for now.
  
  
I am _very_ happy to hear that you are working on a .NET API, just making a 1:1 mapping between the languages would be incredibly valuable. Is there any beta program that would allow me to use this API right now?
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment31</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment31</guid><pubDate>Mon, 14 Jul 2008 02:37:36 GMT</pubDate></item><item><title>Gregory Burd commented on Observations on Embedded databases</title><description>Hello,
  
  
    Thanks for checking into Berkeley DB and using our forums to try to address your issues.  I think you missed the part where we posted you a fix as a patch to 4.5, did you try that?  Also, 4.7.x is the latest release, and as always it is a bit better than its predecessors.  Finally, you're looking for a .NET/C# API.  Guess what?  You're not alone.  You ended up using someone's .NET API, but not one from Oracle.  We're working on one that we will support.  We're also working to make our C++ API more STL friendly.  The .NET/C# API will evolve over time, we hope to be able to provide Direct Persistence Layer (DPL) style features (automatic object-&gt;database mappings) soon.  In general, I think we need to better support Windows developers like you.  Please keep going to our forums, or email me directly.
  
  
regards,
  
  
-greg
  
  
Gregory Burd | Senior Product Manager | Berkeley DB, Oracle Corp
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment30</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment30</guid><pubDate>Mon, 14 Jul 2008 01:49:05 GMT</pubDate></item><item><title>lg commented on Observations on Embedded databases</title><description>derby http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html
  
http://www.hsqldb.org/ hsqldb
  
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment29</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment29</guid><pubDate>Sun, 13 Jul 2008 19:03:52 GMT</pubDate></item><item><title>Tuna Toksoz commented on Observations on Embedded databases</title><description>I'm with James Arendt, It suports embedded server mode.
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment28</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment28</guid><pubDate>Sat, 12 Jul 2008 16:16:42 GMT</pubDate></item><item><title>Ayende Rahien commented on Observations on Embedded databases</title><description>I know.
  
The inability to use in a commercial version is a reason to reject it.
  
I do intend to make use of this in a commercial applications.
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment27</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment27</guid><pubDate>Sat, 12 Jul 2008 09:34:39 GMT</pubDate></item><item><title>Sean Kearon commented on Observations on Embedded databases</title><description>Ayende, VistaDB _does_ have an express version that allows what you need.  You can use as long as you are not using it commercially, display the VistaDB logo, are not writing integration with VS, etc.  Pretty straight forward and definitely allows open source projects to use it freely.
  
  
There are a couple of feature restrictions too - no VS GUI support, no isolated storage, no in-memory support.  But hey, can't have everything ;)
  
  
They have a blog about it here:
  
http://www.vistadb.net/blog/vistadb-news/vistadb-express-release/
  
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment26</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment26</guid><pubDate>Sat, 12 Jul 2008 09:32:09 GMT</pubDate></item><item><title>Ayende Rahien commented on Observations on Embedded databases</title><description>If _I_ need to lock a DB, that is a problem with the DB.
  
A DB should be thread safe.
  
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment25</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment25</guid><pubDate>Sat, 12 Jul 2008 03:10:08 GMT</pubDate></item><item><title>Joshka commented on Observations on Embedded databases</title><description>but what makes any of the above db's not thread safe if you wrap them with locking...
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment24</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment24</guid><pubDate>Fri, 11 Jul 2008 19:25:39 GMT</pubDate></item><item><title>Stiiifff commented on Observations on Embedded databases</title><description>Check out ServiceModelEx lib from Juval Lowy ... it contains System.Transaction-aware collections. Or maybe that's you've implemented already ;o)
  
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment23</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment23</guid><pubDate>Fri, 11 Jul 2008 14:32:22 GMT</pubDate></item><item><title>pete w commented on Observations on Embedded databases</title><description>"Conclusion
  
  
I start using Dictionary as my data store. Just don't restart the server."
  
  
Reading that one made me laugh out loud :)
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment22</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment22</guid><pubDate>Fri, 11 Jul 2008 14:04:39 GMT</pubDate></item><item><title>Casey Duplantis commented on Observations on Embedded databases</title><description>I agree - this is a missing part of the open.net approach.  Have you tried hsqldb .net? (http://hsqldb.cvs.sourceforge.net/hsqldb/Dot.NET/Org.Hsqldb/)
  
I've used the java version for Java/Groovy/Grails work - especially handy for unit tests. The downside? It looks like the .NET version runs on IKVM (might not be the best option for you) and has no recent activity.
  
  
  
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment21</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment21</guid><pubDate>Fri, 11 Jul 2008 14:03:24 GMT</pubDate></item><item><title>Ayende Rahien commented on Observations on Embedded databases</title><description>vbandrade,
  
Try to several hundred thousand items in it from multi threads, and it breaks down.
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment20</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment20</guid><pubDate>Fri, 11 Jul 2008 12:23:36 GMT</pubDate></item><item><title>Ayende Rahien commented on Observations on Embedded databases</title><description>Joshka,
  
It is thread safe if you wrap it with locking
</description><link>http://ayende.com/3411/observations-on-embedded-databases#comment19</link><guid>http://ayende.com/3411/observations-on-embedded-databases#comment19</guid><pubDate>Fri, 11 Jul 2008 12:22:15 GMT</pubDate></item></channel></rss>