Today I will write about the GPU based databases.
For this topic I selected a picture about one of our server, which has 8 NVIDIA K80 GPU.
The most important factor is not the core numbers which also amazing, more the memory size.
In this machine we have 192GB GDDR5 memory.
This gives total 3840GB/s memory bandwidth, and 39.936 GPU cores
You can imagine, how this works with a GPU based in memory database.
First thing which I found around 10 years ago was an analytical tool which first used the GPU
It was the JEDOX GPU Accelerator
It was a good tool, but not a general use solution.
Later I found an interesting OpenSource project which was Alenka
What was the most interesting ?
It made far better result on a mid range notebook GPU compared to an Oracle T4-4 server with standard DB benchmark.
This was in 2012!!! Than no one talked about this, and most of my colleagues think I'm crazy.
After a few years I found a commercial product, which made available, and was the first which has regular support.
It was MAPD
This year this project made opensource, so now anyone able to test it. I can describe it with one word: Amazing!
Originally it is for x86, but immediately after Open Source release, I compiled to our Power8 server.
With one billion record if had the same performance like regular databases with hundreds.
The most powerful feature of this platform, it is not only DB it also has some visualisation, which show immediately the query results. If you put a lots of diagrams, it still has the amazing speed.
For those who interested after this introduction:
There is now a competitor, who is Kinetica.
This DB used at USPS, and OIL and Gas companies. The speed compared to other in-memory databases killer.
I think this will be the future of the databases. What could change this dominance is the FPGA boards, which has far more processing unit, than GPUs. But we need to wait until these will be mainstream at Enterprises.
Anyone has also experience with this toys ? Write comments!