Search code examples
databasetimeschemakdb+questdb

Is symbol type compressed or indexed in Kdb+?


The official doc already showed that symbol is an atomic, but does this feature utilized for compressing or indexing ?

What we can know is that, in QuestDB, the symbol type is compressed and indexed, "Reduced complexity of database schemas by removing the need for explicit additional tables or joins", but what about in Kdb+ ?


Solution

  • Symbols, which are int mappings to distinct tokens (characters/strings), in q share many of the same properties you've listed from QuestDB, including indexing and compression.

    Here is an indexing example:

    q)words:`the`cat`in`the`hat
    q)words 1
    `cat
    

    For compression, as an example check out parted attributes and this whitepaper "Working with sym files"