We're handling 4m to 6m 1.5k log lines per second using Apache Kafka on a cluster of around 100 nodes.
We're handling 4m to 6m 1.5k log lines per second using Apache Kafka on a cluster of around 100 nodes.
These high level messaging frameworks attempt to provide some degree of reliability and easy clustering out of the box while keeping things simple. For specific domains where performance is paramount, you can always find light-weight solutions that outperform them. For instance, with market data it's almost always better to drop a quote if it's out-of-sequence or got dropped somewhere than to add latency waiting for a retransmission. This simplifies things since you no longer need durability.
Or, in other terms 700mbit/s per host with your kafka setup versus ~30mbit/s per host in the benchmark. Allthough your machines seem to be quite a bit beefier (I wonder if all that RAM is actually used?).
More details: https://blog.cloudflare.com/scaling-out-postgresql-for-cloud...
Sadly it does not give a figure/order of magnitude of the amount of data that's stored in citus after aggregation, but I guess it's just not public information. [I'm working on a system that is somewhat similar to CitusDB (eventql.io) and am always really interested in these numbers]
EDIT: I can't reply to your other comment for some reason but many thanks for digging that up, it's very interesting info to me!
2x Intel Broadwell E5-2630 v4 (10 core, 2.40 GHz)
128GB - 4X DDR4 32G ECC Registered 2133MHz DIMM
6 x 2.5" 240GB Intel SSD 540
x1 S2S 1G LAN/B W/OCP BRKT ASSY(1IN1)
x1 Solarflare 10G SFP+ SFN7002 PCIe card
TPM Module
Dual Power Supply 1100W each (x2 / chassis)
We have this stuff built by Quanta for us.Each log line (in JSON) is roughly 1.5kB.