Outgrowing Postgres: Handling increased user concurrency

This page summarizes the projects mentioned and recommended in the original post on dev.to

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. scylla-javascript-driver

    A ScyllaDB Driver alternative for Nodejs, Javascript and Typescript written using Node API through Rust bindings

    NoSQL: For certain types of data and access patterns, a NoSQL database like MongoDB, ScyllaDB, or DynamoDB might be more suitable for high-concurrency scenarios, as long as your data makes more sense being denormalized.

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. RabbitMQ

    Open source RabbitMQ: core server and tier 1 (built-in) plugins

    Asynchronous processing can be implemented using queueing technologies like RabbitMQ or Apache Kafka. For Python applications, a popular go-to is Celery, a distributed task queue that integrates well with various web frameworks.

  4. pgbouncer

    lightweight connection pooler for PostgreSQL

    Connection pooling is usually the first and most effective fix to increase connection capacity. PgBouncer addresses two key scalability constraints in Postgres: per-connection memory overhead and context switching costs. Instead of Postgres maintaining separate processes and memory allocations, PgBouncer manages a small pool of actual Postgres connections that serve a larger number of client connections by assigning requests to available connections from the pool. This eliminates the overhead of repeatedly setting up and closing connections.

  5. MongoDB

    The MongoDB Database

    NoSQL: For certain types of data and access patterns, a NoSQL database like MongoDB, ScyllaDB, or DynamoDB might be more suitable for high-concurrency scenarios, as long as your data makes more sense being denormalized.

  6. cockroach

    CockroachDB — the cloud native, distributed SQL database designed for high availability, effortless scale, and control over data placement.

    Postgres-compatible DSQL solutions: Distributed SQL databases that are either Postgres or Postgres-compatible like Citus, Aurora DSQL, and CockroachDB might be the right approach for handling your scale without forcing you to change much of your code. They each have their strengths and weaknesses and the right one for you depends on your use cases and needs.

  7. citus

    Distributed PostgreSQL as an extension

    Postgres-compatible DSQL solutions: Distributed SQL databases that are either Postgres or Postgres-compatible like Citus, Aurora DSQL, and CockroachDB might be the right approach for handling your scale without forcing you to change much of your code. They each have their strengths and weaknesses and the right one for you depends on your use cases and needs.

  8. Sidekiq

    Simple, efficient background processing for Ruby

    If you’re developing in Node, BullMQ has been rising in popularity as a go-to solution. For Rails applications, you can use ActiveJob with backends like Sidekiq for efficient background job processing.

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. Redis

    Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.

    A caching layer using popular in-memory databases like Redis or Memcached can go a long way in addressing Postgres connection overload issues by being able to handle a much larger concurrent request load. Adding a cache lets you serve frequent reads from memory instead, taking pressure off Postgres.

  11. pinot

    Apache Pinot - A realtime distributed OLAP datastore

    Specialized databases: For analytical workloads, consider using a dedicated analytical database optimized for high-concurrency, low-latency queries on large datasets like Pinot, DuckDB, or ahem Tinybird.

  12. PostgreSQL

    PostgreSQL client for node.js.

    Here's a sample Typescript implementation using node-postgres, a popular collection of tools for working with Postgres in Node:

  13. Next.js

    The React Framework

    If you’re developing a web application, many popular frameworks make it easy to implement request and router caching, reducing the number of requests that hit your backend and subsequently, your Postgres instance(s). For NextJS developers, the Data Cache, Full Route Cache, and Router Cache are great options for caching across several layers of your application, abstracting away many of the underlying implementation details, allowing you to focus on your application logic.

  14. Memcached

    memcached development tree

    A caching layer using popular in-memory databases like Redis or Memcached can go a long way in addressing Postgres connection overload issues by being able to handle a much larger concurrent request load. Adding a cache lets you serve frequent reads from memory instead, taking pressure off Postgres.

  15. ApacheKafka

    A curated re-sources list for awesome Apache Kafka

    Asynchronous processing can be implemented using queueing technologies like RabbitMQ or Apache Kafka. For Python applications, a popular go-to is Celery, a distributed task queue that integrates well with various web frameworks.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Reliably Replicating Data Between PostgreSQL and ClickHouse

    4 projects | news.ycombinator.com | 22 Feb 2025
  • PostgREST v9.0.0

    9 projects | news.ycombinator.com | 29 Nov 2021
  • sqlc: Type-Safe Querying in Go

    1 project | dev.to | 16 Mar 2025
  • Goravel: A Go framework inspired by Laravel

    9 projects | news.ycombinator.com | 9 Mar 2025
  • RocksDB: Your Key-Value Store Powerhouse (and Why You Should Care)

    5 projects | dev.to | 16 Feb 2025

Did you know that C is
the 6th most popular programming language
based on number of references?