ParadeDB

ParadeDB is an open-source database designed as an alternative to Elasticsearch, built on PostgreSQL. It modernizes Elasticsearch's features, focusing on real-time search and analytics. With ParadeDB, you can leverage the power of PostgreSQL while gaining advanced search and analytical capabilities.

Key Features

  • Full-Text Search: Utilize BM25 ranking for efficient full-text searches with pg_search.
  • Vector Search: Perform dense and sparse vector searches with pgvector and pgvectorscale.
  • Hybrid Search: Combine full-text and vector searches for comprehensive querying.
  • Analytical Query Engine: Execute analytical queries over various data formats and storage solutions with pg_lakehouse.
  • Geospatial Data Support: Manage and query geospatial data with PostGIS.
  • Cron Jobs: Schedule and manage periodic tasks with pg_cron.
  • Real-Time Analytics: Fast and efficient querying for high-volume data.

Status

ParadeDB is currently in Public Beta. Star and watch the repository to stay updated with the latest developments.

Roadmap

  • Search:
    • Full-text search with BM25.
    • Dense and sparse vector search.
    • Hybrid search.
  • Analytics:
    • Analytical query engine over object stores or table formats.
    • Column-oriented table access method.
    • High-volume data/Kafka ingest.
  • Self-Hosted ParadeDB:
    • Docker image for easy deployment.
    • Kubernetes Helm chart for scalable deployments.
  • Specialized Workloads:
    • Geospatial data support.
    • Cron job scheduling.

Getting Started

To get started with ParadeDB, visit the documentation.

Deploying ParadeDB

ParadeDB can be deployed on self-hosted Postgres instances using Docker or Kubernetes. It also offers extensions for enhanced functionality.

Docker Deployment

To quickly deploy ParadeDB using Docker, run the following command:

docker run --name paradedb paradedb/paradedb

This starts a ParadeDB instance with the default user postgres and password postgres. Connect to the database using psql:

docker exec -it paradedb psql -U postgres

For a custom setup, use the following docker run command:

docker run \
  --name paradedb \
  -e POSTGRESQL_USERNAME=<user> \
  -e POSTGRESQL_PASSWORD=<password> \
  -e POSTGRESQL_DATABASE=<dbname> \
  -e POSTGRESQL_POSTGRES_PASSWORD=<superuser_password> \
  -v paradedb_data:/bitnami/postgresql \
  -p 5432:5432 \
  -d \
  paradedb/paradedb:latest

This command starts a ParadeDB instance with a custom user and password. The -v flag ensures data persistence across restarts.

Helm Chart

ParadeDB is available for Kubernetes via Helm. Find the Helm chart in the ParadeDB Helm Chart GitHub repository or on Artifact Hub.

Support

For community support, join the ParadeDB Slack Community or participate in our GitHub Discussions.

For commercial support, contact the ParadeDB team at [email protected].

Similar Projects