4 ms·
I only have about a month experience but the real issue is you have to do a lot of things manually that are done automatically in other systems like Cassandra.
by agentgt 10y ago
I only have about a month experience but the real issue is you have to do a lot of things manually that are done automatically in other systems like Cassandra.
Particularly rollups and stream like things. That is you have to do the rollups (as well stream like things) either through postgres rules,triggers Listen/Notify, cron etc. With system like Druid (Cassandra), Elastic Search and other time series databases this is not needed (either the query ability is efficient enough because of compressed or it is automatically indexed or both).
For the stream like stuff we have been using Pipelinedb. Pipelinedb is annoying though in that it is a fork and not an extension. Pipelinedb has a similar problem. You have to create the streams apriori.
So both for Citus and Pipelinedb you have to do some planning of your schema where as the other guys you can do more exploratory/adhoc analysis and queries. The disadvantage to the NoSQL guys (besides maturity and literally no SQL) is that you pay a lot more in memory as most of them (IMO cheat) and rely heavily on available memory. Postgres is very memory friendly.
- rattray 10y agoHmm, interesting. Sounds like a problem with a Postgres, not Citus, but it still sounds like a disadvantage compared to competing products (RethinkDB also comes to mind). I haven't implemented anything for that before personally; would a tool like Bottled Water [0] be helpful for this usecase? [0] https://github.com/confluentinc/bottledwater-pg https://github.com/confluentinc/bottledwater-pg
- agentgt 10y agoYes Postgres has disadvantages (I accidentally posted my comment too soon so that might have caused some confusion) but like I said it is: 1. Mature, 2. SQL is damn powerful, 3. Memory friendly (aka cost). RethinkDB is cool. I just never got into it to know how well it actually works. As for bottledwater we use Postgres + AMQP aka Rabbit + Listen/Notify. I'm not really a big fan of kafka even though it does have amazing scaling ability.
- geoka9 10y agoHave you used PostgreSQL before using Citus? If yes, could you share any pain points compared to plain PG (joins, write performance, lack of full SQL support? anything that comes to mind).
- grammr 10y ago> Pipelinedb is annoying though in that it is a fork and not an extension. Hi, I'm one of the PipelineDB co-founders--thanks for using our product! Making PipelineDB an extension is the most consistent piece of feedback we've received from our users, and I promise we're listening: PipelineDB 1.0 will be a standard PostgreSQL extension, incrementally rolled out via versions 0.9.8, 0.9.9, and 1.0.0.
- merb 10y agowell sadly Listen/Notify on PG does not work with streaming replication. That would make it really really great tough.
- manigandham 10y agoMemory is there to be used. 99% CPU and RAM usage is perfect utilization.