六维教程

EdgeOne Makers 数据库存储

上一篇 讲了 Blob 存储,适合放文件和大对象。但业务里还有很多”结构化数据”——用户信息、订单、文章内容,这些更适合用数据库。这篇讲在 EdgeOne Makers 上怎么选数据库、怎么在 Cloud Functions 里用它。

先选对存储类型

Makers 提供多种存储,别一上来就用数据库。按需选择:

数据类型 适合用什么 文章
配置、会话、计数器 KV 存储 KV 存储
图片、视频、文件 Blob 存储 Blob 存储
结构化业务数据 数据库(本篇)
向量、Embedding 向量数据库(见下文)

数据库的形态

在 Serverless 场景下,传统”自己装一个 MySQL”并不合适,因为函数实例是无状态的、随时启停。Makers 提供的是按需连接的数据库能力,常见两类:

类型 特点 适合
关系型(SQL) 支持事务、复杂查询 订单、账务等强一致场景
文档型 / 向量型 schema 灵活、擅存 Embedding 内容、AI 检索

连接数据库一般在 Cloud Functions 里完成,因为函数有稳定的运行环境和出站网络。

在 Cloud Functions 里连接

以 Node.js 函数为例,把连接信息放到环境变量(见 构建与环境变量),代码里读取并查询。

// 从环境变量读取连接串,不要写死在代码里
const connectionString = process.env.DB_URL;

export async function handler(request) {
  // 伪代码:建立连接 -> 查询 -> 返回
  const db = connect(connectionString);
  const users = await db.query("SELECT id, name FROM users LIMIT 10");
  return new Response(JSON.stringify(users), {
    headers: { "content-type": "application/json" },
  });
}

要点:

注意点 说明
连接串放环境变量 避免泄露,也方便多环境切换
连接池 复用连接,别每次请求都新建
超时与重试 函数有执行时限,慢查询要设超时
只读副本 读多写少时走只读,降低主库压力

向量检索与 AI

如果你在做 AI 应用(见 AI 模型概览),常需要”语义搜索”:把问题转成向量,再去库里找最相似的片段。这类需求要用到向量数据库或带向量能力的表。

步骤 说明
入库 把文档切片,调模型生成 Embedding,存入向量表
查询 把用户问题生成 Embedding,做相似度检索
拼接 把检索到的片段连同问题发给大模型生成答案

这正是 RAG(检索增强生成)的核心,EdgeOne Makers RAG 与知识库 会展开讲。

选择建议

场景 推荐
简单键值、高频读 KV
文件、媒体 Blob
业务结构化数据 关系型数据库
AI 语义检索 向量数据库

速查卡片

要点 说明
数据库在哪用 主要在 Cloud Functions 里连接
连接串 放环境变量,用连接池
SQL vs 文档 强一致用 SQL,灵活/AI 用文档或向量
AI 检索 向量数据库 + Embedding
选型 KV/Blob/SQL/向量 各司其职
上一篇
EdgeOne Makers Blob 存储
下一篇
EdgeOne Makers AI 模型概览