nocoDB 初体验

December 8, 2023

主要特性

NocoDB是一款开源的无代码数据库平台,可以进行数据管理和应用开发。它支持多种数据源,包括MySQL、PostgreSQL、SQL Server、SQLite等主流关系型数据库,也能连接Airtable、Google表格等SaaS服务。

本地安装体验了一把nocoDB,总体感觉功能挺丰富。既适合作为headerless CMS使用,也适合作为数据展示、编辑终端,官网描述的主要特点:

丰富的电子表格界面

  • ⚡ 基本操作:创建、读取、更新和删除表、列和行
  • ⚡ 字段操作:排序、过滤、隐藏/取消隐藏列
  • ⚡ 多种视图类型:网格(默认)、图库、表单视图和看板视图
  • ⚡ 查看权限类型:协作视图和锁定视图
  • ⚡ 共享基础/视图:公共或私有(受密码保护)
  • ⚡ 变体单元格类型:ID、LinkToAnotherRecord、Lookup、Rollup、SingleLineText、附件、货币、公式等
  • ⚡ 角色访问控制:不同级别的细粒度访问控制

用于工作流程自动化的 App Store

我们在三个主要类别中提供不同的集成。详情请参阅应用商店。

  • ⚡ 聊天:Slack、Discord、Mattermost 等等
  • ⚡ 电子邮件:AWS SES、SMTP、MailerSend 等
  • ⚡ 存储:AWS S3、Google Cloud Storage、Minio 等

接口访问

我们提供以下方法让用户以编程方式调用操作。您可以使用令牌(JWT 或社交身份验证)来签署 NocoDB 授权请求。

  • ⚡ REST API
  • ⚡ NocoDB SDK

同步架构

如果您在 NocoDB GUI 之外进行了更改,我们允许您同步架构更改。但是,必须注意的是,您将必须进行自己的架构迁移才能从一种环境迁移到另一种环境。有关详细信息,请参阅同步架构

审计

我们将所有用户操作日志保存在一处。详情请参阅审计。

表格展示&编辑

NocoDB的本质是将db中的数据以在线Excel或者接口的方式开放出来,提供本地部署和云托管两种模式。

主要特点

  • NocoDB有自己的meta信息数据库表。如果是外部db源,NocoDB除了操作对应的记录外,不会新增、修改其他外部数据源表结构。即虽然使用了NocoDB,但是数据并没有深入的跟NocoDB绑定,使用方随时可以切换,甚至跳过NocoDB直接访问数据源。但是多种访问方式也要考虑到与NocoDB的数据同步。
  • 只要在页面上配置好外部db源,则可以直接展示、编辑db中已有的数据,功能定位类似各种db客户端,但是不支持直接写sql,仅支持设置筛选、排序条件等。
  • 支持多种field type,并使用不同的方式展示。与db中的field字段类型会一一对应。

备注:部分field类型NocoDB自己实现了一层封装,比如Attachment附件。NocoDB将数据存储到服务后端后会将资源链接写入对应的Field字段。在拉取会也会提供相关链接给到终端下载。比如上面的image:

Loading...

多种视图类型

同一个table支持以多种展示形态(view),这个功能与notion的表格非常类似。

  1. Grid View

    类似Excle的方式展示各行、列原始数据。

  2. Form View

    生成一个类似调查问卷的页面,指定输入的字段及规则,提交后会写入db。这个页面可以单独分享给到外部单独使用。类似腾讯的wuji也有此类独立的功能。

  3. Gallery View

    类似相册的方式展示,可以指定相册封面字段。适合展示类似专辑比较炫的场景使用。

  4. Kanban View

    看板视图,支持按分类展示记录。适合比如按项目状态展示详细任务信息。

API访问接口

无需集成SDK,可以使用URL直接访问数据。

权限控制

  1. 支持多层级按权限访问。按照base(base下包含多个table)、用户身份来设置访问权限。
  2. 支持记录级别的评论、审计功能。用于追踪记录变更非常有用。
  3. 支持webhook。可以定制化增删改

其他

还有不少功能没来得及深入体验,后续有使用场景时再研究。包括工作流自动化之类的能力。

另外在本地部署时偶尔会报错,不确定是本地环境导致的问题还是bug。如果正式环境使用还需要深入研究,毕竟相对竞品其开源产品的时间还不算长。但是在产品功能定位上感觉非常丰富,既能作为headerless CMS支撑后端开发,也能给到运营直接操作数据。还支撑了Form等比较通用的产品能力直接生成页面。值得后续继续观察。

See all postsSee all posts