xunfeng1980 / paradedb

PostgreSQL for Search

Home Page:https://paradedb.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ParadeDB

PostgreSQL for Search


Benchmark ParadeDB Publish ParadeDB codecov Artifact Hub

ParadeDB is an ElasticSearch alternative built on PostgreSQL, engineered for lightning-fast full text, similarity, and hybrid search.

It offers the most comprehensive, Postgres-native search features of any Postgres database, so you don't need to glue cumbersome services like a search engine or vector database on top.

Key Benefits

  • Speed: ParadeDB is built in Rust on top of PostgreSQL and Tantivy, a Rust-based implementation of Apache Lucene. See our benchmarks here.

  • 🌿 Simplicity: Consolidate your database and search engine into a single system, so you don't need to worry about keeping separate services in sync.

  • 🐘 SQL First: Write search queries in SQL with ACID transactions.

  • 🚀 Scalability: Scale to millions of rows with support for distributed search, high availability, backups, and point-in-time-recovery.

Roadmap

  • Search
    • Full-text search with BM25 with pg_bm25
    • Similarity search with pgvector
    • Sparse vector similarity search with pg_sparse
    • Hybrid search
    • Real-time search
    • Faceted search
    • Distributed search (horizontal scaling/sharding)
    • Generative search
    • Multimodal search
  • Self-hosting
  • Cloud Database
    • Managed cloud
    • Self-serve cloud
    • Public Cloud (AWS, GCP, Azure) Marketplace Images
    • High availability
  • Web-based SQL Editor

Creating a ParadeDB Instance

ParadeDB Cloud

Try ParadeDB Cloud to get started with a free, managed ParadeDB instance. Then connect to it with any Postgres client.

Self-Hosted

ParadeDB Docker Image

To install ParadeDB locally or on-premise, simply pull and run the latest Docker image:

docker run \
  -e POSTGRES_USER=<user> \
  -e POSTGRES_PASSWORD=<password> \
  -e POSTGRES_DB=<dbname> \
  -p 5432:5432 \
  -d \
  paradedb/paradedb:latest

Alternatively, you can clone this repo and run our docker-compose.yml file. By default, this will start the ParadeDB database at http://localhost:5432. Use psql to connect:

psql -h <hostname> -U <user> -d <dbname> -p 5432 -W

ParadeDB collects anonymous telemetry to help us understand how many people are using the project. You can opt-out of telemetry by adding -e TELEMETRY=false (or unsetting the variable) to your docker run command, or by setting TELEMETRY: false in the docker-compose.yml file.

ParadeDB Helm Chart

ParadeDB is also available for Kubernetes via our Helm chart. You can find our Helm chart in the ParadeDB Helm Chart GitHub repository or download it directly from Artifact Hub.

ParadeDB Extension(s)

To install the ParadeDB extension(s) manually within an existing self-hosted Postgres, see the extension(s)' README. We strongly recommend using the ParadeDB Docker image, which is optimized for running search in Postgres.

If you are self-hosting Postgres and are interested in ParadeDB, please contact the ParadeDB team and we'll be happy to help!

Getting Started

To get started using ParadeDB, please follow the quickstart guide!

Documentation

You can find the complete documentation for ParadeDB at docs.paradedb.com.

Support

If you're missing a feature or have found a bug, please open a GitHub Issue.

To get community support, you can:

If you need commercial support, please contact the ParadeDB team.

Contributing

We welcome community contributions, big or small, and are here to guide you along the way. To get started contributing, check our first timer issues or message us in the ParadeDB Community Slack. Once you contribute, ping us in Slack and we'll send you some ParadeDB swag!

For more information on how to contribute, please see our Contributing Guide.

This project is released with a Contributor Code of Conduct. By participating in this project, you agree to follow its terms.

Thank you for helping us make ParadeDB better for everyone ❤️.

License

ParadeDB is licensed under the GNU Affero General Public License v3.0, except for pg_sparse which is licensed under the PostgreSQL License.

About

PostgreSQL for Search

https://paradedb.com

License:GNU Affero General Public License v3.0


Languages

Language:Rust 43.4%Language:C 29.2%Language:Shell 12.3%Language:PLpgSQL 10.2%Language:Dockerfile 3.8%Language:Python 0.6%Language:Makefile 0.4%