views:

38

answers:

3

I am trying to work out the best database(s) considering the following requirements:

The bulk of the data is "document" style, with specific common fields that will be indexed. There needs to be joining across these indexed fields.

However, the data in the indexes is heavily hierarchical, i.e., graph. A specific example is the hierarchy of geographical location. To think with this, consider the question "where is a product available?" Local, city, region, state, national, or international level? I know Neo4J will handle this part with ease.

Data also needs to be queried geospacially, and analytics needs to be performed.

I am looking for an open source solution.

Any suggestions?

+2  A: 

You can try PostgresSQL and also install its plugin PostGIS in order to manage geospacial data!! (OpenSource database).

PostGIS

PostgresSQL

Nervo Verdezoto
PostgresSQL looks very interesting. At first glance, it seems to be a traditional relational DB design, not a document design (or am I missing a feature?)
IanC
What has "document" got to do with it ? A doc is just a BLOB, a single column in a RDBMS.
PerformanceDBA
Document adds fields that can be queried, whereas BLOBs cannot be queried.
IanC
However, the more I read about this DB, the more it seems to be what I am looking for.
IanC
Yeah, I used Postgres with geospacial data before in some GIS applications. I hope that you can use it and fill your needs!!
Nervo Verdezoto
@Nervo thanks. I have downloaded it and am playing with it. It is looking very promising! Thanks much for the suggestion.
IanC
+1  A: 

I'd suggest mongodb. It is an opensource document-based db that has all the requirements you listed, including native built-in support for geospacial indexes.

http://www.mongodb.org/

Ben Lee
IanC
Yes, the D is lacking, but the D is lacking and the C is commonly lacking in all $free DBMS. You always get what you pay for.
PerformanceDBA
A: 

You'll probably know if this is a good fit or not, but have you considered an object database such as db4o?

Solution Evangelist
I tried DB4O and found its speed shocking. I was able to commit one simple record per second on good hardware. Batch was ok, but in the real world, things are often done in 1's. Also, its price (for commercial use) is also high.
IanC