Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pg-sharding/spqr

Stateless Postgres Query Router.
https://github.com/pg-sharding/spqr

go pooler postgresql proxy sharding

Last synced: 2 months ago
JSON representation

Stateless Postgres Query Router.

Awesome Lists containing this project

README

        

[![Go](https://github.com/pg-sharding/spqr/actions/workflows/build.yaml/badge.svg)](https://github.com/pg-sharding/spqr/actions/workflows/build.yaml)
[![Go](https://github.com/pg-sharding/spqr/actions/workflows/tests.yaml/badge.svg)](https://github.com/pg-sharding/spqr/actions/workflows/tests.yaml)
[![Docs](https://img.shields.io/badge/docs-SPQR_dev-blue)](https://t.me/+jMGhyjwicpI3ZWQy)
[![Telegram Chat](https://img.shields.io/badge/telegram-SPQR_dev-blue)](https://t.me/+jMGhyjwicpI3ZWQy)



Stateless Postgres Query Router

Stateless Postgres Query Router is a production-ready system for horizontal scaling of PostgreSQL via sharding.

---

PostgreSQL is awesome, but it's hard to manage a single database with some terabytes of data and 105+ queries per second. Current sharding solutions focus on analytical and hybrid workloads (OLAP, HTAP). Moreover, most of those solutions do not provide a smooth path for monolith to sharded transitions, which is why Yandex Cloud's Data Platform team developed SPQR.

SPQR is a production-ready system for horizontal scaling of PostgreSQL via sharding. We appreciate any kind of feedback and contribution to the project.

To get started, please visit our [documentation](https://pg-sharding.tech). The full list of features is available [here](https://pg-sharding.tech/features/).

## Development

You can use `make run` for a quick example using Docker. For local development, you need [the latest Go version](https://go.dev/dl/).

How to build:
```
make
make build
```

How to run:
```
spqr-router run --config path-to-router-config.yaml
```

## Tests

SPQR has all types of tests: unit, regress, and end-to-end. These tests require Docker Compose, and can be run using `make`. For more information on testing, please see `unittest`, `regress`, and `feature` sections in [Makefile](./Makefile).

## Support

We have a [Telegram chat](https://t.me/+jMGhyjwicpI3ZWQy) to discuss SPQR usage and development. If you're missing a feature or have found a bug, please open a [GitHub Issue](https://github.com/pg-sharding/spqr/issues/new/choose). We appreciate any kind of feedback and contribution to the project.

## License

The SPQR source code is distributed under the PostgreSQL Global Development Group License.