A columnstore replica is similar to a read-only replica. It does not participate in leader election or log voting and consists of an SSTable, commit logs (clogs), and a MemTable. In a columnstore replica, the baseline data of the user table is stored in columnar storage mode. Here, the user table can be a replicated table, but not an index table, internal table, or system table.
A columnstore replica has the following characteristics:
Contains full logs, a MemTable, and an SSTable.
Cannot join a Paxos group or participate in log voting as a member of the Paxos group. Instead, it works as a listener that synchronizes logs from the Paxos group members and then locally replays the logs. It does not act as a voting member and therefore causes no latency in transaction commits.
Provides read-only services if an application does not require strong-consistency reads.
Stores user tables in the same log stream in columnar storage mode at the major SSTable layer.
Cannot be converted into a replica of another type.
The following table describes more features of such a replica.
| Feature | Description |
|---|---|
| Replica name and abbreviation | COLUMNSTORE (C) |
| Whether logs are contained | It has asynchronous logs. It is only a listener instead of a member of the Paxos group (ASYNC_CLOG). |
| Whether a MemTable is contained | Yes (WITH_MEMSTORE) |
| Whether an SSTable is contained | Yes (WITH_SSSTORE) |
| Data security | Medium |
| Time to become the leader | Not supported |
| Resource cost | High |
| Service | Supports non-consistent read. |
| Limitations on replica type conversion | Cannot be converted into a replica of another type |