SereneDB icon

SereneDB

SereneDB 是一款搜索型 OLAP 数据库,将全文、向量、混合和地理空间搜索与分析 SQL 融于共享数据,兼容 PostgreSQL,支持单二进制查询本地或远程数据。

SereneDB

在一个数据库中实现搜索与分析

SereneDB 是一款搜索型 OLAP 数据库,可在同一份数据上运行搜索和分析工作负载。它将全文、模糊、地理空间、向量和混合搜索与列式存储及 SQL 执行相结合,为团队提供一个统一引擎,用于处理原本可能需要分别使用搜索、向量和分析系统的工作流。

该产品使用 PostgreSQL wire protocol,并以单二进制形式提供,因此可以通过 Linux 安装程序或 Docker 启动,并使用 psql 或其他兼容 PostgreSQL 的客户端访问。其文档所述工作流还可以读取远程 Parquet、CSV 和 JSON 数据,通过 SQL 生成嵌入,并在一次查询中应用搜索谓词、语义排序和聚合。

核心能力

统一搜索与分析

通过一个数据库引擎,针对分析数据执行全文、模糊、地理空间、向量和混合搜索。

向量化 SQL 执行

使用 SQL 执行连接、并集、聚合和大型分析查询,并借助 Velox 进行向量化执行。

混合存储

在混合存储设计中结合搜索索引、列式存储、远程表,以及由 RocksDB 支持的持久化更新。

全文与向量索引

创建结合文本分析与 IVF 向量索引的倒排索引,然后使用 @@、BM25 和向量距离等运算符与排序方法。

基于 SQL 生成嵌入

使用 ai_embed 从 SQL 生成嵌入,并配置兼容 OpenAI 的提供商,包括本地 Ollama 端点,无需单独的向量服务。

远程与外部数据访问

直接从对象存储、HTTP 或 Hugging Face Hub 读取 Parquet、CSV 和 JSON,并在 S3 或磁盘上的外部文件建立索引,实现零 ETL 搜索工作流。

实际应用场景

  • 搜索驱动的应用

    构建需要关键词匹配、语义排序以及结构化筛选或聚合的应用,而无需同步搜索集群、向量存储和数据仓库。

  • 语义与混合检索

    加载目录、文档集合或其他远程数据集,在 SQL 中生成嵌入,并针对同一张表支持词法检索和语义检索。

  • 搜索数据湖文件

    查询对象存储或外部文件中的 Parquet、CSV 或 JSON,然后应用搜索索引和分析查询,无需传统的批量导入步骤。

  • 搜索筛选分析

    对由文本或向量搜索谓词选出的记录运行仪表板或探索性 SQL 查询,例如按类别对匹配文档分组或计算平均值。

  • 本地开发与评估

    使用单二进制发行版和熟悉的 PostgreSQL 客户端,在本地或容器中构建搜索分析服务原型或进行评估。

Pros and Cons

Pros

  • 在一个引擎中结合全文、向量、混合、地理空间搜索和 SQL 分析。
  • 兼容 PostgreSQL 协议,因此可以通过 psql 以及现有的兼容 PostgreSQL 的客户端和驱动程序连接。
  • 单二进制分发简化了文档所述的本地设置,并提供 Linux 安装和 Docker 选项。
  • 可以查询远程文件和对象存储中的数据,包括 Parquet、CSV 和 JSON;按照文档所述工作流,无需单独的导入任务。
  • 支持在 SQL 端生成嵌入,并支持兼容 OpenAI 的端点,包括本地 Ollama。

Cons

  • 所提供的定价页面未展示方案名称、价格、许可条款或评估限制。
  • 公开的设置说明主要面向 Linux 和 Docker;所提供材料未详细介绍更广泛的部署目标和生产运维。
  • 除快速入门中关于本地示例默认无需凭据的说明外,所查阅文档未介绍身份验证。

FAQ

如何安装 SereneDB?

SereneDB 以单二进制形式分发。快速入门文档提供了 Linux 安装命令、Docker 镜像示例,以及直接下载和 GitHub 发布页面的链接。示例 Docker 运行命令会发布 7890 端口。

现有的 PostgreSQL 工具可以连接到 SereneDB 吗?

可以。SereneDB 使用 PostgreSQL wire protocol 并支持 SQL,因此用户可以通过 psql 或其他兼容 PostgreSQL 的客户端连接。快速入门示例连接到 localhost 的 7890 端口;在该示例中,默认无需凭据。

SereneDB 可以读取哪些数据源?

SereneDB 可以从对象存储、HTTP 和 Hugging Face Hub 读取 Parquet、CSV 和 JSON。文档还介绍了如何直接在 S3 或磁盘上的外部文件建立索引,从而无需为这些数据源单独执行导入流程即可支持搜索。

SereneDB 如何结合关键词、向量和分析查询?

文档所述工作流会在同一份数据上完成全文搜索、向量搜索、语义排序和 SQL 分析。可以在 SQL 中使用兼容 OpenAI 的端点通过 ai_embed 生成嵌入,包括本地 Ollama 服务器,随后通过倒排索引支持词法查询和向量查询。

Quick Facts

类别
搜索型 OLAP 数据库
接口
SQL 和 PostgreSQL wire protocol
分发方式
单二进制;文档提供 Linux 安装程序和 Docker 镜像
搜索类型
全文、模糊、地理空间、向量和混合搜索
外部数据
来自对象存储、HTTP 或 Hugging Face Hub 的 Parquet、CSV 和 JSON
主要工作流
在共享数据上进行搜索、语义排序和聚合
SereneDB - AI Tool, Features, Use Cases & Alternatives | UStack