写点什么

【介绍篇】Supabase 起源和演进过程

作者:张文平
  • 2023-09-18
    湖北
  • 本文字数:3882 字

    阅读完需:约 13 分钟

【介绍篇】Supabase起源和演进过程

Supabase 是一种开源的 Firebase 替代方案,由 Paul Copplestone 和 Ant Wilson 共同建立,用于帮助开发者构建和扩展应用程序的后端部分。接下来将介绍一下 Supabase 的起源和演进过程。

起源

Supabase 的故事始于保罗·科普莱斯顿(Paul Copplestone)。当时,Paul 是一家名为 Nimbus for Work 的初创公司的首席技术官,这是一个办公管理平台和服务提供商。为了简化开发,他使用 Firebase 构建了一个聊天应用程序,但很快就遇到了一个大问题--用户在刷新网页之前看不到回复消息。


结果发现,Firebase 的限制是每秒只能对每个文档进行一次查询。这并不是一个硬性限制,但 Paul 必须围绕这个限制重新设计一切。于是,他开始研究能否用 Postgres 来重建同样的产品。


Firebase 具备 Postgres 所没有的一项绝妙功能:实时系统。在一次采访中,Paul 提到:“使用 Firebase,你可以插入数据并让多个设备监听数据库,它们将即时收到这些消息。而 Postgres 并没有内置这一功能。所以我最终开发了一个实时引擎,将其开源并发布在 Hacker News 上。”


事实证明,其他开发者也遇到了同样的问题。Paul 的实时 Postgres 的 Hacker News 有 62 个投票和 21 个评论。更重要的是,即使在最初的 Hacker News 之后,Paul 的开源软件仓库也在不断获得关注。几个月后,他把这个创意告诉了好朋友安特·威尔逊(Ant Wilson)。于是,他们在 2020 年 1 月共同创立了 Supabase。

发展演进

起步阶段,寻找产品与市场契合点

在写下第一行代码的几个月内,Paul 和 Ant 就从天使投资人那里筹集到了约 10 万美元,并加入了全球最著名的创业孵化器 YC。


然而,Paul 早期在 Hacker News 上的成功和投资者的认可并没有转化为实际的使用。到 4 月底,Supabase 仍只有 8 个托管数据库。


不过,他们当时并没有意识到,他们与产品市场的契合度其实已经非常接近了。Paul 提议将网站上的标语从“实时 Postgres”更改为“开源的 Firebase 替代品”。Paul 和 Ant 都是 Firebase 的忠实粉丝。他们很欣赏 Firebase 如何赋能了一代开发者,使他们能在几小时内启动一个新项目,而不是几周。Supabase 团队希望效仿这种体验。因此,当 Paul 浏览 Hacker News 时,他萌生了尝试这种新定位的想法。"我知道人们对 Firebase 感到失望,而我们正在构建的大部分工具都是为了取代 Firebase。


这就是 Supabase 找到产品市场契合点( PMF)所需的推动力。


5 月底,一位用户在 Hacker News 上发布了 Supabase 的链接,标题是: "Supabase(YC S20)-An open source Firebase alternative."。这一次,该产品真正打动了开发人员。 超过 1120 人给这篇帖子进行点赞,它成为 HackerNews 历史上第二受欢迎的 Launch HN。


看到这样的反响,Supabase 团队决定利用这个机会向全世界发布产品。他们在 Product Hunt 上发布的产品以 818 票的高票数成为当天第三高票数的产品。从使用量来看,Supabase 在 3 天内从 8 个托管数据库增加到 800 个;从统计数据来看,他们的 GitHub 仓库星级从 4 月份的不到 500 颗跃升到 6 月份的超过 1500 颗。


事实证明,与 Firebase 竞争是明智之举。它为 Supabase 提供了起步所需的早期吸引力。更重要的是,Supabase 的成功让团队有信心拓宽视野,在 Postgres 的基础上构建更多的工具。最重要的是,Supabase 并没有按照社区的要求添加所有功能,而是继续专注于数据库层面的问题。团队没有开发网站托管等功能,而是着手开发即时 RESTful API 和自动文档等新功能。

发展阶段 1,开源的 Firebase 替代方案

在早期,Supabase 每天都会发布更新,每个月月底采用演示视频来展示新功能。以下是一些早期发布的功能/产品,当时团队只有 Paul、Ant 和 PostgREST 的维护者 Steve Chavez(史蒂夫·查韦斯):


2020 年 4 月(首次更新)

  • 在 2 分钟内启动 Postgres

  • 自动生成 API

  • 通过仪表板查询数据库


2020 年 5 月

  • 附带快速脚本的入门指南 + 示例启动项目

  • 全新的用户界面

  • 自动生成的 API 文档

  • 数据库的表视图,支持编辑、排序和过滤器


2020 年 6 月

  • 为数据库选择区域的能力

  • 从 DigitalOcean 迁移到 AWS

  • 关系数据库 UX

  • Json 编辑器 + 查看器

  • 数据库备份

  • Auth 早期版本


2020 年 7 月

  • 认证

  • 更新表视图 UI

  • 新的 Postgres 扩展


2020 年 8 月(建立 Supabase 6 个月)

  • 利用仪表盘中的数据创建表格

  • 电子邮件模板 + 用于身份验证的自定义 SMTP 服务器

  • Supabase 内部的团队协作

  • 由社区提供 TypeScript 支持


Supabase 团队在头 6 个月内完成的工作在广度和深度上都令人惊叹。在此期间,Paul 和 Ant 还经历了 YC S20(2020 年 6 月至 8 月),并在这一阶段主要专注于一项功能 - Auth(认证)。这是 Supadase 自推出以来最具特色的功能,提供了用户管理、PostgresSQL 的行级安全、SQL 规则策略,与实时 Postgres 数据库搭配使用。


YC 之后接下来的三个月里,SupaBase 全力冲刺跨越 Alpha 版,并于 2020 年 12 月官方宣布正式推出 Beta 版。跨越 Alpha 版本的关键指标:

  • 性能 - Supabase 的读写速度是 Firestore 的 3 倍

  • 安全性 - 全面渗透测试+与开源合作伙伴合作提高安全性

  • 可靠性 - 持续正常、稳定地运行了 4 个月,没有出现故障问题


2020 年 12 月,Supabase 已经拥有 3.1k 个托管数据库和近 5,500 个 GitHub Stars。 这与早期只有 8 个数据库的情况相比,简直是天壤之别。在启动 Beta 版的同时,Supabase 还宣布了由 Coatue 领投的 600 万美元种子轮融资。


在经历了如此长时间的冲刺后,Supabase 团队并没有放慢脚步,反而提出了一个问题:“在接下来的三个月里,我们最希望推出什么雄心勃勃的东西?” 在这个问题的启发下,Supabase 提出了用 3 个月时间打造产品,然后在为期一周的 "发布周"活动中每天发布多项功能/产品的理念。


在 2021 年 3 月 Supabase 的第一个发布周,发布内容如下:

  • 产品定价(在此之前,Supabase 完全免费)针对 Firebase 的定价--无限制的 API 调用,没有额外的授权费用等

  • 存储

  • CLI 命令行工具

  • 正式开源用户界面组件


2021 年 6 月,第二个发布周同样令人印象深刻,包括:

  • V2 版存储,支持公共存储桶、目录上传等

  • 无密码登录

  • WebHooks


Supabase 面临的挑战不是如何获取用户反馈,而是如何管理 GitHub 问题、Twitter 和 Discord 消息以及反馈电子邮件。Supabase 团队想出的解决方案是将所有反馈信息导入 Notion,并将其标记为相应的功能/团队。这样,进行产品规划时,就可根据用户需求的历史数据,衡量需求的数量和强度,而不是受近期反馈的影响。


其中一个最好的例子是用户一直要求提供函数服务。Supabase 团队从一开始就没打算提供这个功能,但社区的要求却不断堆积。于是,他们在 2021 年 3 月的第一个启动周开始逐步构建该产品。过了一年,Supabase 的 Edge Functions(边缘函数)才完全推出。


另一个例子是添加 GraphQL。这再次超出了 Supabase 的发展路线,并且团队不想在技术栈中添加另一个“重量级”服务,但是社区中的一些成员在反馈中坚持这一点。最终,Supabase 找到了一个非常优雅的解决方案,将 GraphQL 作为 Postgres 扩展来提供。HackerNews 社区对此表示赞同。

发展阶段 2,让 Postgres 更易于使用

在 2021 年 9 月,Supabase 又获得了由 Coatue 领投的 3000 万美元 A 轮融资。此时,Supabase 的发展势头迅猛,创建了 5 万个数据库,而 9 个月前只有 3 千个,增长了 16 倍。


在 2021 年 12 月,Supabase 收购了 Logflare,这标志着 Supabase 拥有了比替代 Firebase 更广阔愿景的初步迹象之一。他们在公告中表示:“对于 Supabase 来说,收购一个日志平台可能听起来有些奇怪,毕竟 Firebase 并没有类似的功能。然而,日志记录却是技术堆栈中被低估的部分之一...数据库调试者可以从中学到很多,因此我们将调试作为首要任务。”投资者和用户对此表示赞同。


Paul 在 Supabase 的 A 轮融资中写下了他们的愿景:

  • 从可扩展性入手--每个项目都是一个完整的 Postgres 数据库

  • 使其易于使用--Postgres 工具,如 API、认证和文件存储

  • 云原生 Postgres 可扩展存储分布式数据库短暂计算备份/快照


此时,Supabase 还处于第二阶段,即让 Postgres 更易于使用。 团队增加了对 GraphQL 的支持,为 Supabase Pro 和 Enterprise 版提供企业级功能,为开发人员提供 Edge Functions 以在靠近用户的位置执行 TypeScript 代码,以及供开发人员构建多人协作体验的 Supabase Realtime。

发展阶段 3,云原生 Postgres

2022 年 5 月,Supabase 获得了由 Felicis ventures 领投的 8000 万美元 B 轮融资。 他们创建的数据库数量从 8 个月前的 5 万个翻了一番,达到 10 万个;到了 2022 年 8 月,创建的数据库数量达到 15 万个。

Supabase B 轮融资后,Supabase 团队已规划好第三阶段各项功能。时至今日,Supabase 距离实现云原生 Posgres 的愿景又近了一步。使用 Supabase 的开发人员可以访问数据库、身份验证、存储、边缘函数、实时客户端状态,甚至是向量嵌入。


随着人工智能的兴起,Supabase 一直走在为开发人员提供入门工具的前沿。2023 年 5 月的专题综述包括 Supabase Vector(用于 Postgres 的开源向量工具包)、支持 Postgres 和 Supabase 的 ChatGPT 插件。


Paul 在一次采访中分享了最新的愿景: "我们希望成为世界上最具生产力的开发者平台。我们希望提供开发人员开始一个项目所需的所有东西。我们要确保,当你开始使用我们的服务时,你永远不会看到任何限制。我们的理念是,只要你认为是最好的技术,我们就会提供。因此,无论您的旅程处于哪个阶段,我们都会为您提供最好的工具。我们的终极目标是确保开发人员基本上可以在一个周末完成开发,然后将规模扩大到数十亿。


现在,Supabase 不仅正在成为一个数据库公司的路上稳步前进,还想为开发人员提供一套完整的工具,帮助他们做出最好的工作成果。


原文地址:https://www.basedash.com/blog/how-supabase-became-this-generations-database

作者:Max Musing

用户头像

张文平

关注

Supabase先行者 2020-08-24 加入

还未添加个人简介

评论

发布
暂无评论
【介绍篇】Supabase起源和演进过程_postgres_张文平_InfoQ写作社区