News for hackers. Stuff that matters.
Re:1.1B Taxi Rides with 20 Nvidia Tesla P100s and BrytlytDB by georgewfraser on Wednesday December 13, 2017 @10:22AM (#15914759)
This is not a good benchmark. There are two problems:

1. It’s a simple GROUP BY on a single table. You’re basically just measuring the scan speed. Real queries are dominated by shuffles and the probe side of joins; these aren’t even present in this benchmark.

2. He runs the query repeatedly and takes the fastest time. This is far too cache-friendly. In this example, the intermediate stages of the query or even the result are probably just sitting in memory on the nodes after the first couple runs.

If you want to measure the performance of a data warehouse, you need to use more complex queries and not run the exact same query repeatedly.

edit: Coincidentally, I am giving a talk about data warehouse benchmarking TONIGHT in NYC. If you’re in NY and interested in this subject, please come! https://www.meetup.com/mysqlnyc/

Re:1.1B Taxi Rides with 20 Nvidia Tesla P100s and BrytlytDB by ruw1090 on Wednesday December 13, 2017 @10:48AM (#15914950)
The other thing that is misleading about this benchmark is that the comparison page shows results for many different DBs on vastly different hardware without any mention of price. It would be much more valuable if it attempted to normalize performance results by hardware cost.
Re:1.1B Taxi Rides with 20 Nvidia Tesla P100s and BrytlytDB by srcmap on Wednesday December 13, 2017 @11:37AM (#15915304)
"There is half a terabyte of DDR4 RAM on each machine."

I also wonder how much of the speed up is due to the GPU parallelization vs the DB size seem to fit within the size of DDR4.

   " 0.005 	0.011 	0.103 	0.188 	BrytlytDB 2.1 & 5-node IBM Minsky cluster" NVME 

    "1.034 	3.058 	5.354 	12.748 	ClickHouse, Intel Core i5 4670K"  SSD

The core i5 system only has 16GB of RAM. I love to see what that number would looks like if it also has 512GB or more of DDR4 with NVME drive.

Also one can also try increase to data size from 1.1 B -> 1000B and see how it scale on Minsky cluster.

Re:1.1B Taxi Rides with 20 Nvidia Tesla P100s and BrytlytDB by azureel on Wednesday December 13, 2017 @11:50AM (#15915404)
I agree, single node Vertica vs $50k cluster Brytlyt is not really a meaningful versus.

http://tech.marksblogg.com/billion-nyc-taxi-vertica.html

Re:1.1B Taxi Rides with 20 Nvidia Tesla P100s and BrytlytDB by marklit on Wednesday December 13, 2017 @10:54AM (#15914996)
I've avoided going down this rabbit hole. Staff costs can outweigh software and hardware in some cases. Hiring someone that knows kdb+/q could cost a fair bit more than someone who only has some PostgreSQL experience.
Re:1.1B Taxi Rides with 20 Nvidia Tesla P100s and BrytlytDB by marklit on Wednesday December 13, 2017 @10:28AM (#15914795)
The benchmarks are aimed at OLAP not OLTP workloads.

If I had a large query set to run on each vendor I'd be more likely to hit compatibility issues which could mean fewer benchmarks going out. As it is I spend a lot of time getting hardware and software vendors together for these benchmarks.

If caches were being hit I'd expect a lot more DBs hitting single millisecond times in my benchmarks but as far as I can see, there is a clear delta between the various setups I've tested:

http://tech.marksblogg.com/benchmarks.html

Re:1.1B Taxi Rides with 20 Nvidia Tesla P100s and BrytlytDB by georgewfraser on Wednesday December 13, 2017 @10:35AM (#15914842)
My criticisms are specifically about OLAP use cases. Real OLAP queries have joins and subqueries.

I hear you about compatibility. I think this benchmark would be greatly improved by rewriting the query to include a subquery and a fact-to-fact join using the same table. For example, you could do a subquery where you find the longest and shortest ride for each driver each day, and then join that back to the full table and calculate something. That would do a much better job of exercising the key features of the query planner, while still being simple and compatible.

Re:1.1B Taxi Rides with 20 Nvidia Tesla P100s and BrytlytDB by buremba on Wednesday December 13, 2017 @11:02AM (#15915055)
Real OLAP queries usually don't have JOINs. Instead, the data is denormalized at ingestion nad WINDOW, CTE ans subqueries are used at query time.
Re:1.1B Taxi Rides with 20 Nvidia Tesla P100s and BrytlytDB by georgewfraser on Wednesday December 13, 2017 @11:09AM (#15915095)
This was true 10 years ago. Many people building data warehouses today just use a normalized schema and write views with lots of joins. It’s a much simpler workflow and data warehouses have gotten so fast that this actually works.
Re:1.1B Taxi Rides with 20 Nvidia Tesla P100s and BrytlytDB by buremba on Wednesday December 13, 2017 @12:01PM (#15915481)
I don't know any technology that makes the JOINs efficient enough for low latency queries. If you're joining two tables that have billions of rows, you need too much memory and CPU resources in order to be able to map them. Do you know any DBMS that focuses on OLAP systems and suggest normalization?
Re:1.1B Taxi Rides with 20 Nvidia Tesla P100s and BrytlytDB by StreamBright on Wednesday December 13, 2017 @11:46AM (#15915383)
I can just second that. Most DWHs arr denormalized because columnar storage formats love repetition.
Re:1.1B Taxi Rides with 20 Nvidia Tesla P100s and BrytlytDB by pbecotte on Wednesday December 13, 2017 @10:34AM (#15914829)
This is true, but there are steps between the two. It would certainly be possible to, for each query, record both the first time and the fastest time. You could also add a couple queries that are a little harder- a query with a self-join and a window function would certainly be interesting- without getting too far down the road of building a query set that will be hard to run on different systems.

Even without those though, this is a good read, thanks for it!

Re:1.1B Taxi Rides with 20 Nvidia Tesla P100s and BrytlytDB by richard_heyns on Wednesday December 13, 2017 @10:53AM (#15914992)
Hi George, these are valid points. I can confirm we don't employ result caching in Brytlyt, if we did; 1) all run times would be identical regardless of query 2) the run times would be an order of magnitude faster

I agree there is quite a bit more to a data warehouse performance than table scan speed. There are queries where scan speed is important and in the retail industry, COUNT DISTINCT is one of them.

I agree the queries in this benchmark is simple, that doesn't mean they're not significant.