I created a table that is partitioned (by date) and splayed and saved to disk using .Q.dpft . The documentation says the following: “The table cannot be keyed at present”. Does this mean you can’t add a the grouped attribute (`g#) to one or more of the columns? Is there another way of doing the partitioning and splaying such that this can be accomplished?
Bob,keying and setting attributes are two different thingsyou can’t key the splayed tablebut you can set p, g or s attributes wherever the data allows itnote that a p attribute takes -far- less space than a gand kdb+ is not like many other databases where you have to indexevery which way to get decent performanceyou may get acceptable speed without any attributesSimonOn Aug 11, 3:37?pm, "Bob Pisani" <bob.pis...> wrote:> I created a table that is partitioned (by date) and splayed and saved to> disk using .Q.dpft . The documentation says the following: "The table cannot> be keyed at present". Does this mean you can't add a the grouped attribute> (g#) to one or more of the columns? Is there another way of doing the> partitioning and splaying such that this can be accomplished?>> Thanks,> Bob</bob.pis…>
I’m trying to understand how to most effectively warehouse and data mine using kdb+. I’ve loaded several fact tables from one of our other databases. These tables range in size from 50m records to 400m. I partitioned and splayed all of them. As you stated, you can’t key a splayed table. In reading the q-sql and joins documentation, it seems like keys are very important and crucial to doing most sql like queries. I did load some smaller dimension tables that are keyed. But something we do quite often is to join fact tables together across common dimensions. Without keys, how would I do this?
I’m also not clear on when splaying and partitioning should be used based on size of table, i.e. < 1m, < 100m, < 1b, >1b etc… I ask because the data I loaded is only for 1 year. So one of those fact tables would go from 400m to 1.5b+ very easily as an example.
Thanks for the response. But what about my question regarding no keys on splayed tables. How do you effectively join splayed tables, i.e. 2 fact tables such as trade order data with market data?