tags:

views:

504

answers:

6

Hi all,

Recently I have found that there are many new databases popping up all around my radar, and I would like to make a list of what they do and perhaps what their advantages/disadvantages are. I'll seed the list with some names and perhaps someone with more knowledge can chip in with some information about each and how they stack up. I hope this will fast become a comprehensive list of all the available database so that developers can leverage the right one for the job at hand!

Relational Databases:

Established:

New:

Key-value stores:

Document oriented Stores:

+1  A: 

The SQLite database engine

With library for most popular languages

  • .Net
  • perl
  • Feel free to edit this and add more links
Nifle
Drew Hall
...thanks, Nifle!
Drew Hall
This is a wiki, you can edit this answer yourself if you want to add anything else.
Nifle
A: 

What about CassandraDB, Project Voldemort, TokyoCabinet?

Julien Genestoux
A: 

To file under both 'established' and 'key-value store': Berkeley DB.

Has transactions and replication. Usually linked as a lib (no standalone server, although you may write one). Values and keys are just binary strings, you can provide a custom sorting function for them (where applicable).

Does not prevent from shooting yourself in the foot. Switch off locking/transaction support, access the db from two threads at once, end up with a corrupt file.

Rafał Dowgird
+1  A: 

Martin Fowler did an interesting blog post last year about non-relational databases starting to gain traction. He mentions:

  • Drizzle (a "bare bones" relational database)
  • CouchDB (a document-oriented database)
  • GemStone (an object-oriented database)

There is also Google's BigTable which is described as "a sparse, distributed multi-dimensional sorted map".

I have been working with GemStone for a number of years now and the productivity gains is amazing - having the database store your objects directly removes the need to constantly marshall back and forth between tables and objects.

Dawie Strauss
+1  A: 

There are graph databases like:

A graph database stores data as nodes and relationships/edges.This is a good fit for semi-structured data, interconnected information and domains with deep relationships/traversal, for example social networks and knowledge representation. The data model is highly flexible and "whiteboard friendly". The underlying data model of the semantic web, RDF, is also a (labeled, directed multi-)graph.

Other stackoverflow threads with information on graph databases:

nawroth
A: 

I doubt I'd use it in a mission-critical system, but Derby has always been very interesting to me.

AlexCuse