Replenysh 用 Supabase 不到 24 小时实现短信 OTP 登录
Replenysh 借助 Supabase Auth 在不到 24 小时内完成短信 OTP 登录实现,并在几周后把应用部署到应用商店。团队此前用 Haskell 服务端加 Heroku 上的 Postgres 自建 OTP 系统,因需要 Postgres 与 Row Level Security 而放弃 Firebase,最终从 Hacker News 了解到 Supabase 后完成迁移。
Replenysh 借助 Supabase Auth 在不到 24 小时内完成短信 OTP 登录实现,并在几周后把应用部署到应用商店。团队此前用 Haskell 服务端加 Heroku 上的 Postgres 自建 OTP 系统,因需要 Postgres 与 Row Level Security 而放弃 Firebase,最终从 Hacker News 了解到 Supabase 后完成迁移。
Supabase 发布 2021 年 9 月 Beta 更新,Dashboard 现支持自定义列类型、唯一约束和批量编辑列,并更新了网格以支持跨多个 schema 的关系。JavaScript 库新增 AbortController 支持,可中止长时间运行的查询。Auth 文档拆分为认证与授权两部分,Discord 社区已超 3500 名开发者,Twitter 粉丝达 16.5k。
Supabase 完成 3000 万美元 A 轮融资,并发布 8 月 Beta 更新。新增首尔区域后可选区域达 12 个,推出面向 Postgres 订阅的行级安全方案 WALRUS(尚未上生产,以 RFC 形式公开征求意见),Auth v2 的短信登录支持自定义短信内容。GitHub 星标数达到 18,000。
Supabase 在 7 月举办第二次 Launch Week,上线基于短信的移动端登录(Twilio 集成),并新增 Twitch 登录及通过 API 生成邀请、恢复、确认和 magic link 的能力。
Supabase 宣布 Database Webhooks(原 Function Hooks)以 Alpha 形式向所有新项目开放,可监听表的 INSERT、UPDATE、DELETE 事件并异步触发外部 HTTP 函数,同时 Dashboard 新增原生 PostgreSQL Functions 编辑器和触发器管理界面。
推荐理由:Supabase 把 Database Webhooks 和 Postgres Functions 编辑器放进所有新项目的 Alpha,想接数据库变更触发外部 HTTP 的可以现在试,但别用在关键路径上。
Supabase 在 Dashboard 新增 Reports 板块,可查看一个月内的 Database、Auth、Storage API 请求量以及 CPU、内存两项实例健康指标,每个项目支持一份可配置报告。
Supabase Auth 发布 v2,新增手机号登录能力,用户可用短信一次性密码(OTP)登录,也可用手机号加密码组合登录,该功能对所有新建和已有的 Supabase 项目开放。
推荐理由:Supabase Auth 上线手机号 OTP 登录,用 Twilio 即可接入,做移动端登录的可以省掉自建短信验证流程。
Mobbin 从 Firebase 迁移到 Supabase,为其 20 万创作者用户解决认证问题。Firebase Authentication 无法自动合并同一邮箱的重复账号,用户难以升级付费账户,且每月 500 万次 API 请求带来的账单和性能问题日益突出。迁移后 Mobbin 借助基于 GoTrue 的认证和 Postgres 关系型数据库,显著降低了月度支出并提升了性能。
Supabase Storage 从 Alpha 进入 Beta,新增音视频流式传输支持,客户端可通过 Content-Range 请求头按需下载视频片段。公开 Bucket 功能上线,Bucket 默认私有、设为公开时 Dashboard 会给出醒目警告,公开 Bucket 内对象无需 Authorization 令牌即可通过 URL 访问。
美国 Y Combinator 初创公司 Epsilon3 采用自托管 Supabase 方案,用 AWS 搭配自托管 Supabase API 驱动 RDS Postgres 实例,为太空行业客户提供实时协作的测试与运营流程软件。该方案兼顾快速开发、低 DevOps 负担与灵活托管,满足 ITAR 合规及本地部署需求,客户已成功发射卫星并即将用于火箭发射运营。
Supabase 在 Community Day 宣布,从今天起所有新建 Supabase 项目都将运行 PostgreSQL 13.3,同时发布 PostgREST 8.0 稳定版,其 GET 请求吞吐量据基准测试最高提升 50%,并实现 schema cache 零停机重载。社区还推出 Flutter 和 Dart 客户端库 Beta,Supabase 团队正式加入社区运营的 Discord。
Supabase 新项目现已运行在 Postgres 13.3 上,其 Postgres 仓库版本从 0.15.0 跳至 13.3.0,此后主次版本号将跟随 PostgreSQL。新版本带来原生 UUID 生成、并行索引清理、增量排序等改进,底层系统从 Ubuntu 18.04 升级到 20.04,并新增 pgRouting、wal2json 扩展及 fail2ban 防暴力破解保护。
Supabase 公布 Launch Week II: The SQL 日程,7 月 26 日至 30 日每天发布一项更新。
Supabase 通过自研 SupaUtils 扩展,用 PostgreSQL 的 ProcessUtility_hook 拦截 ALTER ROLE、DROP ROLE 等语句,在授予客户 CREATEROLE 权限的同时保护自家角色不被删除或修改。
Supabase 在 3 月上线 Storage,可存图片、音频和视频,底层基于 S3 和用 Fastify 与 TypeScript 写的开源存储 API;同时开源内部 UI 组件库,并推出可在终端用 supabase start 本地运行的 Supabase CLI。
Supabase 宣布即日起所有新项目都内置 PgBouncer 连接池,控制台 Database 区域可查看连接信息并修改 Pool Mode。官方推荐 Serverless 函数使用 Transaction 模式,该模式下连接仅在事务期间占用,但 prepared statements 等会话级功能不可用;Pool Size 目前固定为 15,暂不向老项目开放。
推荐理由:Supabase 新项目默认带上 PgBouncer 连接池,用 Serverless 直连 Postgres 的可以少踩连接被打满的坑。
Supabase 正在开发 Workflows,一个深度集成 Postgres 的开源编排引擎,用 Elixir 构建,采用 Amazon States Language 定义流程,可协调 AWS、GCP、Azure、OpenFaas 及 Postgres 上已有的函数。
Supabase 在 Launch Week 第 3 天发布 CLI,开发者可用 Docker Compose 在本地运行与生产环境完全一致的 Supabase 服务,并通过 supabase init、supabase start 启动本地后端。
推荐理由:Supabase 发布 CLI,可在本地用 Docker Compose 跑完整后端,并新增 supabase eject 导出自托管所需文件。
Supabase 发布 Storage,用户注册后除 Postgres 数据库、实时订阅、用户管理和自动生成 API 外,还直接获得一个可扩展的对象存储,不必再单独注册存储服务。
推荐理由:Supabase 把对象存储并入现有项目,用 Postgres 行级安全写访问策略,省掉再接一个存储服务。
Supabase 发布 Beta 定价,分为 Free、Pro、Team、Enterprise 四档。
推荐理由:Supabase 公布 Beta 版四档定价与各档免费额度,正在选型的项目可据此估算数据库、存储和 MAU 超量后的月成本。
Supabase 从 3 月 29 日起举行为期一周的 Launch Week,首日公布定价方案,保留免费档位,并把用量计费集中在存储等更可预测的项目上,不对 API 请求计费,免费档位每天可发起数百万次请求,未来会在最高档位引入用量上限,且采用软性档位避免用户被意外升级。
推荐理由:Supabase 公布免费档位与按存储计费的定价思路,并在一周内连发 Storage、CLI、UI 库等多项能力,自托管用户可据此评估迁移与成本。
Supabase 发布教程,介绍如何在浏览器 IDE Replit 中通过 supabase-js 连接其托管的关系型数据库。用户新建 Node.js repl 后导入 createClient 方法,填入项目 URL 和 anon key 即可查询数据,Supabase 提供免费档位。
Supabase 博客介绍了 Toad,一款为低代码开发者提供简单 API 的链接缩短工具。该工具面向希望快速集成链接缩短能力、又不想编写复杂后端代码的开发者。
Supabase 官方给出一种做法:在 Postgres 里启用 pg_cron 和 pgsql-http 两个扩展,就能按 cron 语法定时调用外部 HTTP 接口,例如每分钟向 webhook 发一次 POST。
推荐理由:用 pg_cron 加 pgsql-http 两个扩展,就能在 Postgres 里定时调外部接口,省掉一台跑 cron 的机器。
Supabase 发布 2021 年 2 月 Beta 更新,为 SQL 编辑器加入表和列建议的自动补全,并支持在 signIn() 和 signUp() 时把用户重定向到站内指定路由。数据库板块新增 Postgres Replication 管理页面,可管理 realtime API 的表和事件;同时上线南非新区域、Docker Compose 本地运行文件,GitHub 星标达到 6000。
Roboflow 创始人 Brad Dwyer 与 Erik Dunteman 用一个周末做出 Paint.wtf,把用户手绘图像交给 OpenAI 的 CLIP 模型打分并登上排行榜,后端选用 Supabase 而非 Firebase,因为 PostgreSQL 原生支持集合计数。
Supabase 2021 年 1 月 Beta 更新为客户端库加入 PostgREST 的 exact、planned、estimated 计数功能,并新增 Facebook 和 Azure 两个 Auth 登录方式。数据库可部署到伦敦或悉尼,SQL 结果支持复制为 Markdown,迁移至 Route53 后读取基准测试快了 12%。
Supabase 在历经 10 个月开发后正式进入 Beta,并完成 600 万美元种子轮融资,投资方包括 Y Combinator、Mozilla 和 Coatue。
TAYFA 用七天时间基于 Supabase 做出了一款无代码网站搭建工具。该案例收录在 Supabase 的客户案例库中,同期案例还包括 Xendit 用 Supabase 在不到一周内将完整方案交付上线。
Monitoro 基于 Supabase 构建了一个网页爬虫,可处理数百万次 API 请求。该案例被 Supabase 收录为全球用户案例研究之一,展示其如何被用于快速构建产品。
Supabase 发布 supabase-js 1.0,为 Beta 上线做准备,带来多项开发者体验改进。SQL Editor 新增标签页与全屏模式,Auth 支持 Magic Links 登录,Dashboard 路由性能大幅优化。团队正从 Alpha 迈向 Beta,并已建立 Benchmarks 仓库用于测量所用开源工具的性能。
Supabase 发布 supabase-js 1.0,因存在多项破坏性改动而提升主版本号:signup() 改为 signUp() 且 email/password 以对象传入,logout() 改为 signOut(),login() 改为 signIn(),ova() 与 ovr() 合并为 ov(),返回的 body 字段改为 data。
推荐理由:supabase-js 1.0 有破坏性改动,用旧版的项目要按 release notes 把 body 改 data、signup 改 signUp 再升级。
Supabase 发布 9 月 Alpha 更新,新增 Bitbucket、GitHub、GitLab、Google 的第三方 OAuth 登录,支持像电子表格一样克隆表格,并可在控制台一键启用 Postgres 扩展。
Supabase 公布 Alpha 阶段八月更新,新增在表格视图中直接创建表和列、邀请团队成员加入组织,以及可为新用户开启邮箱确认并支持在 dashboard 编辑邮件模板。
Vercel 发布 Monorepo 指南,介绍 Turborepo 这一面向 JavaScript 和 TypeScript 代码库的高性能构建系统,支持零配置远程缓存和增量构建。
Supabase 发布 Auth,提供用户注册登录、PostgreSQL 行级安全和策略规则等后端鉴权服务,现已免费开放使用。该功能基于 fork 自 Netlify 的 GoTrue 服务器,配合 PostgreSQL 与 PostgREST 实现授权。官方表示下月将加入自定义邮件模板和第三方 OAuth 提供商,并简化策略界面。
推荐理由:Supabase 上线 Auth,用 GoTrue 加 PostgreSQL 行级安全做鉴权,想换掉 Firebase 的可以现在试。
Supabase 发布教程,介绍如何用开源持续归档工具 WAL-G 为 PostgreSQL 12 搭建物理备份与 WAL 归档,备份可存入 AWS S3。
Supabase 在构建 5 个月后发布 Supabase Auth,并配套一个示例和视频教程,演示如何用 PostgreSQL 的 Row Level Security 实现基础认证系统,完整更新将在接下来几天单独发布。
推荐理由:Supabase 上线 Auth,并给新项目开放 pgsql-http、pgjwt 等 Postgres 扩展,自建后端的可以少写一层认证代码。
Supabase 复盘 5 月 27 日登上 Hacker News 首页超 24 小时后的 Alpha 上线经历:一周内 supabase.io 新增 3 万访客、1400 多个注册,数据库规模突破 1000 个。
PostgreSQL 备份分为逻辑备份和物理备份两类,前者通过 pg_dump 或 pg_dumpall 将数据导出为 SQL 文件,适合快速备份、跨大版本迁移(如 Postgres 11 到 12)和备份单个数据库;后者直接复制数据文件,更适合数 GB 级的大型数据库,并配合 WAL 文件实现时间点恢复(PITR)。两种方式各有用途,没有优劣之分。