I have been reading about static column and have a question which will impact my design. I will have a column which will store quite a long string. This column will be part of a table which will a few hundred million rows. My question then is there only 1 copy of this static column in storage or does it still store multiple copies. I assume there is only one copy as in Java, but I cannot find a definitive answer anywhere. The one column I want to declare static will be quite big so I do not want to duplicate this data inside of storage.
2 Answers
A static column will be stored on disk once per SSTABLE
. However, do not assume it will be written to the disk only one time before you answer the following:
- How many tables will have the static column?
- What is the replication factor?
An example, you are following the one table per query data design methodology and have two queries that will request the static column. You should store that in two separate tables which means it is written to disk twice. If that is replicated 3 times amongst the nodes then it will be written 2*3 times total.
If you would like to learn to estimate disk space usage, check out Datastax DS220 unit Physical Partition Size.

- 3,082
- 1
- 27
- 42
As you would hope and expect, the static column is only stored once on disk.
Check out this question which, while marked as off-topic, contains a conclusive answer to this question by directly looking into how the data is stored in the Cassandra SSTables:

- 1
- 1

- 1,483
- 8
- 9