I'm looking for a database software package for a dictionary (like the hunk(s) of dead tree that you might have somewhere at home). I would like the database to

  1. scale well to a million key-value pairs. The pairs would normally be fewer than 20 characters, and the normally fewer than 1000 characters.
  2. have perfect UTF-8 support.
  3. deal with distributed version control. I would like it to deal well with having lots of branches and doing merges of branches. This could be built-in or provided independently by something like git.
  4. have a well-supported interop with Ruby. I plan to write a desktop program in Ruby that talks to the database. (Ruby would also work for writing the web part if it ever happens.)
  5. be fairly responsive (though I would like it to be fast).
  6. deal well with changes both while just on a desktop and while providing data for something on the web. (Hopefully this project will get to the web part.)
  7. be free software (as defined by RMS) and to be available at no charge.

All of this data would be entered by hand.

It wouldn't hurt if there were something like github for this database. I don't know if there is a database for which someone provides something like that, though.

No one's job, career, or company rides on this decision.

Any suggestions?

  • I'm so new to this that I don't even know what ORM stands for (though I can and will Google it).
    – compman
    May 25, 2011 at 1:16
  • Ah, so now we've gotten to what you wanted. And I think that your other question dovetails with this one, so I'm going to kill the other question. You are correct, this is not a "normal" database design, however, that doesn't mean that it's not a viable solution. It may be something that you end up coding yourself. That would not be non-ideal, even if it were the case. So what you need to know going forward is going to focus on how to maintain ACIDity in your structure. I have some further thoughts that belong in an answer.
    – jcolebrand
    May 26, 2011 at 14:35

1 Answer 1


For simple key/value storage, you might like to consider Berkeley DB, though I would not think Git would be the best for 'version control'. You can use Ruby bindings with BDB.

Since your edit, I'm left wondering If you want an open-source implementation of something like Amazon S3

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.