kuby-core icon indicating copy to clipboard operation
kuby-core copied to clipboard

[Feature Request] Add support for Citus

Open kirantpatil opened this issue 3 years ago • 3 comments

Hi,

Since Citus is opensource now.

Citus Open Source : Scale from a single node to a distributed Postgres cluster with the Citus database, an extension to Postgres. 100% open source. Plus, PG15 support in the latest Citus release.

Distributed Postgres goes full open source with Citus: why, what & how : https://www.citusdata.com/blog/2022/09/12/distributed-postgres-goes-full-open-source-with-citus/

Why don't we integrate it ?

Regards, Kiran.

kirantpatil avatar Nov 07 '22 13:11 kirantpatil

Hey @kirantpatil, thanks for letting me know about Citus, it looks really cool! Unfortunately there doesn't appear to be a standard way to use it within a Kubernetes cluster. Usually I look for an operator like cockroach-operator or CrunchyData's postgres-operator. The problem I ran into with Postgres is that it's really not designed to run in the cloud. Of course there are ways to make it fit, but they all sort of feel hacky.

Is there a reason CockroachDB doesn't suit your needs?

I'm also really interested in integrating LiteFS, but it's still in beta (and requires you to run your own Consul instance).

camertron avatar Nov 12 '22 06:11 camertron

The reason is multitenancy.

https://www.citusdata.com/blog/2017/01/05/easily-scale-out-multi-tenant-apps/

I have no issue of using cockroachdb, If we have multitenancy active record support for CockroachDB with tenant based sharding.

kirantpatil avatar Nov 12 '22 06:11 kirantpatil

That's pretty cool 😎 Since Rails supports sharding natively as of 6.0, it's possible to achieve tenant-based sharding with vanilla Rails. It sounds like Citus would make doing so easier/better, which is great.

I have no philosophical problem with adding Citus support to Kuby, but I don't have the time or expertise to implement it right now. As I said earlier, there also doesn't appear to be an operator for Citus, so it will take a lot of additional work to build an implementation for Kuby. If you're interested in taking this on yourself, I'd be happy to provide guidance, code review, etc 😄

camertron avatar Nov 12 '22 22:11 camertron