Skip to content

Instantly share code, notes, and snippets.

@meathill
Last active October 23, 2022 03:56
Show Gist options
  • Select an option

  • Save meathill/32ca25112194965724913b34de76dafd to your computer and use it in GitHub Desktop.

Select an option

Save meathill/32ca25112194965724913b34de76dafd to your computer and use it in GitHub Desktop.
TiDB Hackathon 2022 RFC

项目介绍

我们希望将 NocoDB 的数据库嫁接到 TiDB。并提供多种自动化方案给普通用户:

  • Vercel 一键部署
  • Docker 自主部署
  • 自组架构版本

这样一来,普通用户初期可以低成本享受低代码平台的丰富功能;未来业务发展,需要更强大、更稳定的数据库后端时,又能借助 TiDB 的伸缩性,不管业务大小,都能集中精力在业务上,不需要操心扩容,也无需支付多余的成本。

背景&动机

Airtable.com 是国外非常流行的无代码工具,国内也有一些模仿者,比如飞书 Bitable。他们开创性的给表格增加了数据校验、多视图看板、行级权限等并不难理解的新特性,使得原本只能表达数据结构的表格,轻易拥有了健全的数据管理功能。AirTable 还提供完整的 SDK,可以结合自己熟悉的语言,当成普通数据库进行二次开发。

可惜的是,AirTable 的收费墙限制免费用户 row-based 权限控制,使得我这样的薅羊毛用户无的放矢。比如,用户需要制作一个表单收集客户信息,他们希望每个客户只能看到自己提交的信息;或者每个销售只能看到分配给自己的专有视图,以防泄漏客户信息;等。这些需求都需要 row-based 权限控制才能做到。

幸运的是,有人做出了 NocoDB,作为 AirTable 的开源替代品。他们会从产品层面不断追赶 AirTable,这方面我们可以放心交给社区来完成。但是 NocoDB 使用 MySQL 作为数据库。可以预见,在不远的未来,数据库会成为最大的瓶颈。因为几乎在任何 web 应用中,数据库都是最先出现问题的瓶颈。

通常来说,使用低代码工具的用户对技术很难很足够的掌控力。所以,他们既无法预知瓶颈,也很难在瓶颈出现时,及时解决。

我们觉得这恰恰是我们的机会。TiDB 拥有强大的 Scalable 特性、兼容 MySQL 协议、以及各种大后期工具,一定可以彻底释放低代码智能表格的潜力,让用户从弱到强后顾无忧。

项目设计

  • 尝试 NocoDB
    • 需要使用 npx 安装,git clone 默认使用 sqlite,会略过初始化的过程。
  • 尝试 TiDB developer service
  • 给 NocoDB 适配 TiDB 后端
    • 创建数据库 nocodb
    • 创建链接密码
    • 加入服务器 IP
    • pnpm create-nocodb-app nocodb
    • 填写数据库地址
    • 等待数据库初始化
    • 完成
  • 开放 NocoDB 的 row-based 权限控制能力
  • 给 NocoDB 添加 Vercel template 和 docker compose
  • 完成此项目的教学视频

NocoDB 体验

  • 列类型里没有用户?有点蠢
@benmaoer
Copy link
Copy Markdown

非常有新意的切入点,NocoDB 在过去一年中发展非常迅速,也很适合中小企业做内部的低代码管理工具

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment