Hacker News new | ask | show | jobs
by syastrov 2781 days ago
Indeed. They admit that it could be done with an traditional relational database but argue that it wouldn’t be able to scale in the same way as with Cloud Spanner. But they are making it sound as though Cloud Spanner has some graph data model.

My interpretation is that they are arguing that they would have to sacrifice the ability to fully model all connections in the system or answer any kind of query (they talk about doing some things “per-user”) because they would have scalability issues or would have to do manual sharding of data. They are considering the full model with all connections as a “graph database”. This terminology is confusing and seems to ascribe extra capabilities to Cloud Spanner.

1 comments

(I'm the author of the post - just woke up and saw this discussion. Hi!)

The intention wasn't to hold out Spanner as a purpose-built graph database, but rather to talk about using it for a graph-y database use case. Will put together a follow-up with some more information, but in summary: * yeah, no built-ins other than relational SQL for graphs * the key thing that make this work are the ability to easily construct global indexes that aren't sharded by the primary key and reasonably fast joins between them * it's also helpful that Spanner does a reasonable job of parallelizing queries (e.g. a lot of times we'll get a 15x increase in speed vs. a sequential plan) * we then do the fan-out across the graph in our Java client