There will be two different flavors of replication:
- TCP-based replication for WAN
- UDP-based replication for LAN and high traffic environments
We are currently building foundation elements of this replication, such as column-first and parallel writes. These will go into
and always be part of QuestDB. TCP-replication will go on top of this foundation and also part of QuestDB. UDP-based replication will be
a part of a different product we are building that will be named Pulsar.
Eventually both. We are starting with baby steps, e.g. get data from A to B quickly and reliably. Replication/HA will be first of course. Then we want to scale queries across multiple hosts. Since all nodes have the same data - they may as well all participate. Sharding will be last. We are thinking of taking a route of virtualizing tables. Each shard can be its own table and SQL optimiser can use them as partitions of single virtual table. We already take single table and partition it for execution. Sharding seems almost like a natural fit.
- TCP-based replication for WAN - UDP-based replication for LAN and high traffic environments
We are currently building foundation elements of this replication, such as column-first and parallel writes. These will go into and always be part of QuestDB. TCP-replication will go on top of this foundation and also part of QuestDB. UDP-based replication will be a part of a different product we are building that will be named Pulsar.