Can I create an unsegmented table/projection on one node in a K-1 safe cluster?

Here is the problem I am trying to solve - we have an application that may join a lot of small tables. So I want to create those tables as "unsegmented". It seems in a K-1 safe cluster, I have to say "unsegmented all nodes". But when that happens, loading those tables takes much longer (e.g. 8 minutes vs. 26 min). I understand why it takes longer but wonder if there is way I can put unsegmented data on a few nodes and still maintains K-1 safe.

For example, if an account has a very small amount of data (meaning both fact and dimension types of tables), I'd rather they stay within a couple of nodes, instead of having them spread across the whole 16-node cluster

Is this achieveable? After all, one can create a Segmented table/projection with the "nodes a,b,c" option. What is the reason why Unsegmented clause doesn't have that?

I have been hoping there is a way around that. The documentation stated:

"The default for this parameter is to create an UNSEGMENTED projection on the initiator node. "

What does that mean? It seems I have to give a Node name after the "node" keyword in the "unsegment" clause. If so, where is that default coming from? For my purpose, if I can get away with it, I'd rather take the default option and create an unsegmented table on the initiator only.




  • Options
    >> Is this achieveable?
    I don't think so, may be with temporary tables, but it has it own limitation
    Temp tables are not recoverable, so the superprojection is not K-Safe (K-SAFE=0), and you cannot make it so.

  • Options
    Thanks for pointing that out, Daniel. In our case, temporary table is not the desirable solution.

    I am still wondering why "Segmented" clause allows designated nodes (short of "all nodes"), while "Unsegmented" does not?


Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file