I love the idea of citus. An abstraction on top of sharding sounds amazing. The docs are clear. Their learning material is solid and actually gave me plenty of ideas.
I was really excited about citus... until I saw the price! Hosted citus is expensive. The estimator estimated thousands of dollars per month, splitting to just two small Db machines with limited ram and CPU.
For now, just spending all that money on a huge vertically scaled rds box with lots of ram and CPU made way more sense. Hopefully native Postgres eventually ties more parallel ability to take advantage of bigger and bigger rds boxes.
If we scaled past 1 big box, I'm guessing we would just do classical sharding instead.
What we've seen is that it's not an apples to apples comparison of single node Postgres to a Citus cluster. Often times customers that migrate over can use less resources because of the sharding and parallelism under the covers than they do on a single node Postgres and get better performance.
Our plans do absolutely start at a higher level than say a really small RDS, but if you have a very small amount of data then that's absolutely the right place to start there is no need to invest in sharding your data at that time. Later when you start to get to larger instances is very much our sweet spot and we have some tools that make migration a smoother process without requiring dump/restore to address the questions that come up there.
Anybody here had experience using Citus Community version? Is it hard to maintain? I was trying to use it on my multi-tenant project but don't really know the maintenance implications.
If you're looking to use Citus Community edition for your multi-tenant project, one thing to keep in mind is how you set up replication.
Citus comes with two replication methods: streaming and statement replication. The streaming replication method is more suitable for multi-tenant apps. In the Citus Community version (if you need replication), you will need to set this up yourself.
There are definitely people that use the community version, unfortunately we don't have a perfect count or record of all the people, cause well open source :)
As far as maintaining it, there are of course a number of benefits to the managed service side and then the enterprise version if you want to run on your own hardware and self-manage. If you're comfortable running and managing your own Postgres then the community version could absolutely work for you, here's actually a recent write-up from Hipmunk who is using the community version - https://hipmunk.github.io/posts/2017/Aug/16/a-fare-cache-in-...
I don't have an app big enough but to necessitate the product yet but I've been following Citus' progress for a long time and I'm always impressed. Today is no exception! Can't wait to have a reason to use it.
I was really excited about citus... until I saw the price! Hosted citus is expensive. The estimator estimated thousands of dollars per month, splitting to just two small Db machines with limited ram and CPU.
For now, just spending all that money on a huge vertically scaled rds box with lots of ram and CPU made way more sense. Hopefully native Postgres eventually ties more parallel ability to take advantage of bigger and bigger rds boxes.
If we scaled past 1 big box, I'm guessing we would just do classical sharding instead.