3 ms·
We had to learn this the hard way. We have many of the data/services the article mentions and while we still use them when ever it gets massive we actually will
by agentgt 10y ago
We had to learn this the hard way. We have many of the data/services the article mentions and while we still use them when ever it gets massive we actually will go back to Postgresql.
For example for our internal analytics/logs/metrics we use ELK and Druid but believe it or not these tools despite their purported scaling abilities are actually damn expensive. These new cloud "elastic" stuff cheat and use lots and lots of memory. For a bootstrapped solvent self-funded startup like us we do care about memory usage.
For customer analytics we use... yes Postgresql.
For counters and stream like things we don't use Redis we use Pipelinedb (Postgresql fork). For Cassandra like stuff we use Citus (Postgresql extension).
Some of our external search uses SOLR (for small fields) but Postgresql text search is used for big fields.
The only part of our platform we don't really leverage on Postgresql is the message queue and this because RabbitMQ so far has done a damn good job (that and the damn JDBC driver isn't asynchronous so LISTEN/NOTIFY isn't really useful).
- ledgerdev 10y agoHere's an async JDBC driver. https://impossibl.github.io/pgjdbc-ng/ https://impossibl.github.io/pgjdbc-ng/
- agentgt 10y agoInteresting. There was a project a while back that offered async through netty but it was trying to do everything async (ie not follow the JDBC spec). This project appears to follow the JDBC spec and thus is synchronous with the exception of the Listen/Notify (of which you have to work the driver directly as there is no JDBC analog).