Hi,

I was wondering if you can give me some ideas on how to retrieve data from MonetDB at very high throughput.  The query will be very simple, issued against a single table.  This table contains billions of records and I'd like to retrieve the data at a rate of at least one million records per second.  From my naive tests with mclient running on the same 16-core machine as mserver5, I am only able to extract the data at about 20,000 records per second with the Feb2010 release.

As a baseline case, with the same data in compressed (gzip'd) ASCII form stored in a regular file on the same (SAN) file system as MonetDB, I am able to read at the desired speed of one million records per second.

I understand that there is communication overhead between mserver5 and mclient (or whatever client I use).  Therefore, one possibility is to embed my application within mserver5.  The embedded application basically just needs to be able to issue a SQL (or even MAL) query against the enclosing mserver5 and process the result set.  If this is a viable approach, I'd like some guidance on where the hooks are.

Thanks.
Hering Cheng