ParadeDB 是什么?

ParadeDB 是一个基于 Postgres 构建的 Elasticsearch 替代品。我们正在对 Elasticsearch 的功能进行现代化改造,从实时搜索和分析开始。

ParadeDB 不是 Postgres 的分支,而是安装了自定义扩展的常规 Postgres。ParadeDB 自身附带了 Postgres 16。

为什么选择 ParadeDB

目前,需要搜索和分析引擎的 Postgres 用户面临两个选择:采用像 Elasticsearch 这样功能强大但运行、调整和同步起来很麻烦的外部服务,或者使用 Postgres 的原生搜索和聚合功能,这些功能缺乏关键功能,并且在处理大型数据集时性能较差。

ParadeDB 旨在成为两者的优势结合,为开发人员提供 Postgres 的熟悉度和专用搜索分析数据库的性能。

ParadeDB 非常适合以下情况:

  • 信任 Postgres 且不想操作非 Postgres 数据库/查询引擎的开发人员
  • 对大量操作数据进行全文、相似性或混合搜索
  • 由于 Postgres 在处理数亿或数十亿行数据时的分析性能不足而成为瓶颈的后端
  • 对外部对象存储(如 S3)和表格式(如 Delta Lake)的延迟敏感分析查询

开始使用

创建实例的最快方法是通过拉取 ParadeDB docker 镜像并在本地运行。

复制以下命令:

  1. docker run \
  2. --name paradedb \
  3. -e POSTGRESQL_USERNAME=<user> \
  4. -e POSTGRESQL_PASSWORD=<password> \
  5. -e POSTGRESQL_DATABASE=<dbname> \
  6. -e POSTGRESQL_POSTGRES_PASSWORD=<superuser_password> \
  7. -v paradedb_data:/bitnami/postgresql \
  8. -p 5432:5432 \
  9. -d \
  10. paradedb/paradedb:latest

您可以将 userpassworddbname 设置为您希望的任何值 —— 这些将作为您的数据库连接凭据。默认情况下,这将在 http://localhost:5432 启动 ParadeDB 实例。

要连接到 ParadeDB,请安装像 psql 这样的 Postgres 客户端并运行:

复制以下命令:

  1. psql -h <hostname> -U <user> -d <dbname> -p <port> -W