We have been writing user’s feed data to both Cassandra 3.3 and PostgreSQL 9.5 for the past couple weeks as the first step in transitioning fully to Cassandra as the primary data store for feed data. We will still be using Postgres as our primary database for relational data, but it should be much easier to scale Cassandra horizontally as the large amount of logged data increases.

Here’s the current write performance data from Cassandra’s nodetool tablestats:

Write Count: 59051081
Write Latency: 0.012758596713919598 ms.

That’s a little over 59 million writes in the past ~17 days, with the load on a m4.large barely ever passing 0.05.

load average: 0.01, 0.01, 0.05

Today, we have also started testing read performance in production. For now users are still receiving their data from Postgres, but we are also hitting Cassandra to see if our configuration can handle production loads. We’ll post an update once we have more info about how reads are performing.

Here’s some early info after the deploy:

Read Count: 314
Read Latency: 0.6644044585987261 ms.