Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/pg-sharding/spqr
- Owner: pg-sharding
- License: other
- Created: 2021-08-20T08:07:20.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-11-01T11:43:48.000Z (2 months ago)
- Last Synced: 2024-11-01T12:26:42.577Z (2 months ago)
- Topics: go, pooler, postgresql, proxy, sharding
- Language: Go
- Homepage: https://pg-sharding.tech
- Size: 25.4 MB
- Stars: 917
- Watchers: 9
- Forks: 46
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - pg-sharding/spqr - Stateless Postgres Query Router. (Go)
- my-awesome - pg-sharding/spqr - 01 star:1.0k fork:0.0k Stateless Postgres Query Router. (Go)
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 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.