# 数据库概述
扣子编程支持使用扣子编程官方数据库和火山数据库([云数据库 MySQL 版](https://www.volcengine.com/docs/6313/74502))。数据库功能提供了一种简单、高效的方式来管理和处理结构化数据,开发者和用户可通过自然语言插入、查询、修改或删除数据库中的数据。同时,也支持开发者开启多用户模式,支持更灵活的读写控制。
## 功能介绍
扣子编程的数据库功能适用于组织和管理结构化数据,例如客户信息、产品列表、订单记录等。目前,扣子编程支持使用扣子数据库和火山数据库。
* 扣子数据库:扣子编程官方数据库,提供了类似传统软件开发中数据库的功能,允许用户以表格结构存储数据。
* 火山数据库:火山数据库是指[云数据库 MySQL 版](https://www.volcengine.com/docs/6313/74502),它是火山引擎基于开源数据库 MySQL 打造的弹性、可靠的在线关系型数据库服务。MySQL 实例使用云原生方式部署,结合本地 SSD 存储类型,提供高性能读写能力;完全兼容 MySQL 引擎,并提供实例管理、备份恢复、日志管理、监控告警、数据迁移等全套解决方案,帮助企业简化繁杂的数据库管理和运维任务,使企业有更多的时间与资源聚焦于自己的核心业务。
## 查询模式
扣子数据库表支持单用户和多用户两种查询模式,火山数据库表仅支持多用户模式。
* 开发者指创建数据表的开发人员;用户指智能体的使用者。
* 多用户模式仅在工作流的数据库节点中生效。
| **对比项** | **单用户模式** | **多用户模式** |
| --- | --- | --- |
| 读写模式 | 有限读写模式 | 完整读写模式 |
| 读写权限 | 开发者和用户都可以添加记录,但仅能读/修改/删除自己创建的来自同渠道的数据。 | 开发者和用户都可读/写/修改/删除表中来自同渠道的任何数据,由业务逻辑控制读写权限。 |
| 生效方式 | 在创建表格时,选择单用户模式。 | 在创建表格时,选择多用户模式。 |
| 调用方式 | * 支持在 Prompt、Query 中通过 NL2SQL 方式及代码方式调用。
* 支持在工作流中通过 NL2SQL 方式及代码方式调用。 | * 支持在 Prompt、Query 中通过 NL2SQL 方式及代码方式调用。
* 支持在工作流中通过 NL2SQL 方式及代码方式调用。 |
| 应用场景示例 | * 一个记账智能体,每个用户/开发者,自己记录账单,自己查看。
* 一个金融分析智能体,开发者导入上市公司近三年财报到数据表用于做金融分析,所有用户都可以读这份数据用于金融分析。 | * 一个漂流瓶智能体,用户可以发布漂流瓶,也可以随机读取别人的漂流瓶。
* 一个联网游戏智能体,游戏结束后,可以查看排行榜。 |
## 权限说明
* 扣子数据库:仅数据库的所有者支持编辑、删除自己创建的数据库,工作空间所有者、管理员、普通成员都不能编辑、删除其他成员创建的数据库。
* 火山数据库:仅允许关联**空间所有者**对应火山账号(包括主账号、子账号)中的火山数据库。
## 使用限制
使用数据库前,请了解以下限制:
| **分类** | **限制项** | **扣子数据库** |
| --- | --- | --- |
| 扣子数据库 | 低代码智能体 | 每个低代码智能体最多可添加 3 个数据表。 |
| | 低代码工作流数据库节点 | 每个低代码工作流数据库节点最多可添加 1 个数据表。 |
| | 数据表字段 | 每个数据表最多可添加 20 个字段。 |
| | 数据表行数 | 每个数据表建议最多添加 10 万行数据。 |
| | 数据表大小 | 每个数据表最大为 500MB。 |
| | 数据表存储时长 | 暂无限制。 |
| 火山数据库 | 低代码智能体 | 暂不支持在低代码智能体中添加火山数据库表。 |
| | 低代码工作流数据库节点 | 每个低代码工作流数据库节点最多可添加 1 个数据表。 |
## 扣子数据库和火山数据库的对比
扣子数据库和火山数据库在功能上无明显差异,均能满足数据的存储与分析需求。扣子数据库免费且易于使用,适合轻量级数据存储与分析场景,你可以先通过扣子数据库体验数据库功能;而火山数据库作为企业级云数据库,提供高性能和高扩展性,但会产生成本,当涉及企业级大规模、复杂的数据处理和分析时,你可以选择火山数据库。以下是两者的主要区别:
| **对比维度** | **扣子数据库** | **火山数据库** |
| --- | --- | --- |
| 产品定位 | 扣子编程官方数据库,适合轻量数据存储与分析场景。 | 火山引擎提供的企业级数据库服务,支持处理与分析大规模、复杂的数据,适合于企业客户场景。 |
| 性能与扩展性 | 轻量级数据存储与分析操作。 | 高性能、高可用,支持海量数据存储和高效读写操作;可根据业务增长灵活扩展。 |
| 数据隔离 | * 线上数据和测试数据隔离。
* 支持配置数据隔离策略。
* 各个发布渠道数据隔离。
* 各个发布渠道数据互通,无隔离。
* 扣子站内渠道共享,其他渠道隔离。 | * 仅存储线上数据,无测试数据。
* 各个发布渠道数据互通,无隔离。 |
| 操作难度 | 操作流程简单便捷,用户可以轻松上手。 | 配置相对复杂、繁琐。 |
## 费用说明
数据库费用说明如下:
| **类型** | **说明** |
| --- | --- |
| 扣子数据库 | 扣子数据库免费。 |
| 火山数据库 | 在火山引擎侧创建云数据库 MySQL 版后,将产生相应费用,包括云数据库 MySQL 版产品费用和公网 IP 费用,由各个产品收取。
* 云数据库 MySQL 版根据实例规格、数据存储空间、备份存储空间、数据库代理服务、备份外网下载流量和外网流量等计费项进行收费,详情请参考[云数据库 MySQL 版计费说明](https://www.volcengine.com/docs/6313/78083)。
* 公网 IP 支持按照实际流量或带宽收费,详情请参考[公网 IP 计费说明](https://www.volcengine.com/docs/6402/68415)。 |