Ask HN: Why don't most NoSQL DBMSs have “pointers”?

4 points by nnq ↗ HN
Why don't most NoSQL storage solutions have some kind of "pointers" for ultra-efficient joins, like the pre-relational DBMSs had? I mean, I partially understand the theoretical reasons for why classical RDBMSs have ditched pointers (need to update them and double sync them for storage and disk solutions, no "disks" with fast enough to be treatable like random-access for some use cases, like modern SSDs can, etc.).

But of the many NoSQL solutions out there, why do just so few of them realize that this model would be awesome (exception I know of would be OrientDB and Neo4j) for many practical cases, not only ones that need graph traversals. I mean, when you need things like multi-joins, you need to ping pong Mongo and do N queries instead of one.

Isn't the use case NoSQL document-db enough overallaping with the one of graph DBs that such a feature would make sense and would just provide all the practical features of SQL-joins to the NoSQL solutions with not much extra cost, and for most queries would make indexes useless, and take up much less space for huge datasets?

(...and as a bonus any NoSQL solution would be ready to use as a graph db, and doing a ~100 nodes path length traversal of a graph stored in Mongo would just automagically work fast enough)

1 comment

[ 4.0 ms ] story [ 11.4 ms ] thread
I don't have answer for you, but I find it quite interesting that the generic purpose NoSQL databases are basically going through the same evolution that databases went for past 40 years and are having the same issues databases of the time had and effectively are becoming more like RDBMS.

IMO the whole idea behind NoSQL was to gain horizontal scaling, by scarifying some nice guarantees. There's no silver bullet, if you want to gain performance for a very specific workload, you use one of hundreds NoSQL databases that fits your data. If you want a general purpose database you will be better off just using RDBMS.

General purpose NoSQL databases are snake oil. For example Mongo doesn't scale well both vertically[1] and horizontally[2].

[1] http://blogs.enterprisedb.com/2014/09/24/postgres-outperform...

[2] http://www.datastax.com/wp-content/uploads/2013/02/WP-Benchm...