Greetings Overflowers,
I need to query against objects with many/complex spacial conditions.
In relational databases that is translated to many joins (possibly 10+).
I’m new to this business and wondering whether to go with MS SQL Server 2008 R2 or Oracle 11g or document-based solutions such as RavenDB or simply go with some spacial database (GIS)…
Any thoughts ?
Regards
UPDATE: Thank you all for your answers. Would anybody opt for document/spatial databases ? My database would consist of tens of millions to few billion records. Mostly read-only. Almost no updates unless in case of mistakes in input. Overnight inserts and not that frequent. The join tables are predicted beforehand but the number of self joins (tables joining themselves multiple times) is not. Small pages of results from such queries are going to be viewed on an highly interactive website so response time is critical. Any predictions on how this can perform on MS SQL Server 2008 R2 or Oracle 11g ? I’m also concerned about boosting performance by adding more servers, which one scales better ? How about PostgresQL ?
Build and test.
That’s the only way to know whether your idea is going to work. There are free versions of Oracle, SQL Server, and Teradata available for downloading. PostgreSQL is free, period.
Database design help might not be free. SQL performance suffers from bad design more than any other single cause.
I did a test (proof of concept) yesterday (?? days are running together in my head) on 20 tables of 50 million rows, natural keys (no id numbers), 20 left joins, median access time of 40 milliseconds. Using a commodity desktop computer with slow disks and 2 gigs of RAM.
Edit: It seems there’s also a free, single-server version of Greenplum that’s only constrained to two CPU sockets, no limitation on CPU cores. No limitation on database size, either. I’m feelin’ the need to play with a couple of terabytes.