Splaying / Partitioning

75 views
Skip to first unread message

Mike Thompson

unread,
Feb 17, 2012, 11:31:09 PM2/17/12
to personal...@googlegroups.com
I've been reading KDB+ for Mortals, Chapter 1 which covers building databases, and I have a question ...

If I partition my database on, say, date, can I then choose to NOT splay the tables (within each partition)?   Just to be clear ...

Let's say I create a partitioned database like this: 

t:   ([] a:09:30u 09:30u; b: 1 2) 
`:/db1/2009.01.01/t set t
`:/db1/2009.01.02/t set t

Then I try to load my database:

\l  /db1

I get an error because it tried to load a non-existent file:  ./2009.01.02/t/.d

And as far as I can tell that's the file which would contain information about splayed columns, if the "t" was splayed (which it isn't).

So, have I done anything wrong here in building my database, or is it just not possible to partition without splaying also?

Thanks in advance.  Mike.

Charles Skelton

unread,
Feb 18, 2012, 3:18:48 AM2/18/12
to personal...@googlegroups.com
> can I then choose to NOT splay the tables (within each partition)

no. Partitioning reduces memory load through mapping on demand, hence the tables must be splayed.

If you have small amounts of data for each partition, you could put it in the root of the db,
e.g.

`:/db1/t
`:/db1/2009.01.01/...
`:/db1/2009.01.02/...

here, t can be splayed or not.
Reply all
Reply to author
Forward
0 new messages