I'm Claudius, author of the tests. I've been asked to include a lot of different databases into the test runs. The most requested databases were Postgres/JSON and RethinkDB. I started with Postgres. The Postgres manual states that JSONB might be faster, but some StackOverflow answers indicate that it takes more space than JSON, while JSON might be slightly more compatible with legacy code. I've shown the queries and…
> For instance, we do not use special indexes apart from the primary one by choice.
For instance, we didn't use the index that makes the database go fast to make our own database look good.
And despite that Postgres destroys all the other solutions at everything other than the non-sync (lol) single write case and graph traversal. If anything it just proves even after almost a decade of these "NoSQL" solutions being around they still can't compete even on basic queries with Postgres which is a fairly conservative SQL solution.
I think this is a classical case of "use the right tool for the right purpose". If you want to do "classic database" stuff, use a classic SQL database. But if e.g. graph traversal is a cruicial operation for your application, then looking at NoSQL solution seems to be quite interesting. In other words: I wouldn't call a screw driver a bad tool, just because it's not as good at driving nails into wood as a hammer.
I think the issue is how many NoSQL solutions over recent years have billed themselves as the default start-with-us data store, and SQL as the more complicated niche product...when it's really the other way around.
I wonder why there's not the equivalent to the Frameworks Benchmark[1] for databases. It seems we could all really benefit from that. Ideally it would get to a place where they would be able to simulate real-world worst case scenarios and test for problems. Each database would likely want multiple entries with different configs, but if you have some engineered failure scenarios and tests in the results it becomes obv…
Having benchmarks for different storage models : Relational/Document/Graph/Object/XML, would be a better solution.
Would like to see - Titan with Cassandra backend here.
or with http://www.scylladb.com/ backend. "ScyllaDB: world's fastest NoSQL column store database; Fully compatible with Apache Cassandra at 10x the throughput and jaw dropping low latency"