Live data from Hacker News

Citus 6.2: Concurrent index creation and complex queries for multi-tenant dbs

citusdata.com

1–10 of 17 posts

Re: Citus 6.2: Concurrent index creation and complex queries for multi-tenant dbs

#2
This is a pretty impressive set of new features and fixes (i.e. things that worked in Postgres, but not with CitusDB).

In particular, the added ability to run `CREATE INDEX CONCURRENTLY` [1] for distributed tables is an important addition. I've run a pretty big Postgres database before, and this feature is absolutely _critical_ for bringing new indexes online for large tables without affecting users or other operations (without it, `CREATE INDEX` needs a lock that blocks other modifications in the table).

Its reverse, `DROP INDEX CONCURRENTLY` is a relatively newer addition to Postgres and also pretty key. While running on pre-9.2 (when it was added), we had to stop dropping indexes from large tables because the operation would block long enough that we'd start timing out user requests while it was running.

[1] https://www.postgresql.org/docs/current/static/sql-createind...

Re: Citus 6.2: Concurrent index creation and complex queries for multi-tenant dbs

#6
Offtopic, but the mention of elegant lightsabers reminds me of a scene from one of my favourite TV series, StarGate SG-1:

https://www.youtube.com/watch?v=NjlCVW_ouL8

Money quote at 02:25:

    [O'Neill demonstrating a staff weapon]
    This is a weapon of terror. It's made to... intimidate the enemy.
    THIS...
    [O'Neill shows a P-90]
    ... is a weapon of _war_. It's made to _kill_ your enemy.
I.e. effective beats elegant :).

Re: Citus 6.2: Concurrent index creation and complex queries for multi-tenant dbs

#9
Just a quick comment on this:

> Good software never stops evolving

I think I would translate this as: "our software is so large in scope, it must never stop evolving if it is to remain good enough."

Small software, with a single, focused goal, can evolve to a steady state which is still good.

Often we need to build things whose scope is too large for that, and must constantly churn. That's ok. But ideally you are finding parts of your work which can be sent in the opposite direction: towards God; or the oneness of all things.

If none of your work ever seems to find a path towards simplicity and oneness, it's possible you are pathologically mixing concerns, which, if true, is probably slowing you down.

Re: Citus 6.2: Concurrent index creation and complex queries for multi-tenant dbs

#10
post #8

I wonder how they'll compete with Cockroach down the road. Looks like both projects are doing great work around ACID in multi-tenant environments.

I'm really inclined to say that Citus is better suited for the vast majority of companies, since You Are Not Google [1]. For example, forcing everyone to synchronously replicate using Raft all the time seems like overkill, and incurs a huge latency cost.

Furthermore, I think Citus has a head start on being a mature project, since it builds upon the back of the already-mature Postgres for things like query planning.

[1] https://blog.bradfieldcs.com/you-are-not-google-84912cf44afb

Post reply on HN