Search code examples
f#gpukdb

F# GPU programing vs KDB for crunching data, what is the fastest?


Hi I would like to ask for anyone's experience on what is the most cost effective and efficient way of crunching huge amounts of data with either F# GPU (using a C Nivida GPU api typeprovider for example) programing vs KDB for crunching data.

I know both are quite different approaches but just want some advice from people who have worked in both before investing in one or both technologies.

For the GPU side of things I planning to work with wither a relational DB or NoSQL DB like mongodb using single tables and simple joins of 2-3 other tables.

Does anyone know of any metrics or comparisons (speed mostly) between both approaches?


Solution

  • As others have said, too much depends on your use case as to which is faster. I previously helped create a testing framework of 15 queries and some algorithmic strategies against a few different databases of stock data:

    • postgreSQL
    • mysql - in memory version
    • mongodb - for queries it supported
    • kdb
    • plus a few other newer nosql and column oriented databases

    kdb database was significantly faster than those mentioned above on most queries. One database was close in terms of performance but it was significantly more difficult to get it to perform the calculations I wanted.

    No I can't give hard numbers because that is against the terms of some of the database vendors. But I would emphasize if your going to build a system, the skills your team have should influence the choice. Plus your ability to quickly change the system and it's programming.