网易首页 > 网易号 > 正文 申请入驻

每个学员一个可搞坏的数据库:DevOps Daily Pro 的 Neon 分支架构复盘

0
分享至

想象一下,你正在教别人用 Postgres。给学员扔一段代码,让他盯着屏幕看,是浪费时间。他们真正需要的,是一个可以随便折腾、搞坏了也不心疼的数据库。

这就是 DevOps Daily Pro 付费学习平台背后最重要的设计逻辑:每个学员拿到一个真实可用的 PostgreSQL 数据库,在上面跑真实 SQL,练完就扔。


产品要的三样东西

一个托管 Postgres 实例给不了他们想要的东西。平台需要的基础能力有三条:

第一,廉价、快速、互相隔离的数据库。一个 lab 就是一个只活二十分钟的数据库。每次练习都给学员开一个新实例,太慢也太贵。Neon 的分支功能(branching)可以基于一个预置好数据的父库,做写时复制(copy-on-write)克隆,几秒钟内就能给学员开出一个独立库。

第二,不能压在我们 Web 服务器上的慢任务。AI 生成内容要花几十秒。Neon Functions 可以把这类计算放在数据库旁边跑,平台自己不用再运维一套消息队列和 worker 集群。

第三,不用再引入一家 AI 厂商。Neon 的 AI Gateway 提供 OpenAI 兼容端点,调用模型只需要改一个 base URL 和一把 key,不需要做新的集成。

诚实版本

这些话听着像在吹 Neon,但团队也承认:这套系统用普通 Postgres 加一个消息队列再加容器平台,也能搭出来。只是要花更长时间,而且之后要自己运维更多组件。Stripe 在这个架构里是并排存在的,不嵌在核心链路中,后面会单独说。

代码库里最重要的一条规则

整个项目里最值钱的一条规矩是:学习者的进度数据,永远不存放在即将被删除的东西里。

一个 lab 分支里放的是电商风格的 schema,供学员查询。但它不存放"学员完成了第四课"这样的记录。那条记录是主 Postgres 数据库里的一行数据,通过 Prisma 写入,即使三十秒后分支被销毁,进度依旧还在。

这条规则写下来显得理所当然,但做错很容易。当学员面前已经摆着一个数据库时,最省事的做法就是顺手把进度也记在里面——这正是团队刻意避开的坑。

其他数据全都放在一个关系库里

除了进度之外的东西,全部是关系型数据,集中存放在一个地方:从 Auth 镜像过来的用户数据、订阅、生成的试题集和问题、测验结果、面试会话与作答记录、XP 和经验成就、证书、lab 会话元数据、后台审计记录。

团队有意不把这些数据拆到各种专用存储里。学习者的进度天然充满 join:这个用户看过哪些问题,哪些问题到了复习时间,哪些作答记录属于某个会话、某个学习路径——这些关联本身就是产品的全部价值。而 Postgres 恰恰擅长 join。

身份认证怎么处理

Neon Auth 是身份的唯一事实来源。Next.js 应用通过一个 catch-all 路由,把所有认证调用(登录、注册、会话、登出等)代理转发给 Neon Auth,应用层不直接持有认证逻辑。

这套架构谈不上多惊艳,但它的取舍很清楚:把"会消失的练习环境"和"不能消失的学习记录"彻底分开,用分支解决成本问题,用主库解决数据问题,剩下的交给 Postgres 的 join。教学平台上最贵的工程投入,也正好花在了学员真正需要的东西上——一个可以放心搞坏的数据库。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
争议发酵!继“身世造假”后,刘亦菲更多黑料被扒,迪丽热巴不无辜

争议发酵!继“身世造假”后,刘亦菲更多黑料被扒,迪丽热巴不无辜

李侽在北漂
2026-08-10 21:47:16
当青春期孩子陷入“仇亲期”,变成“白眼狼”,改变他们最好的方法:不是小心忍,也不是使劲打,做好这3件事,就够了

当青春期孩子陷入“仇亲期”,变成“白眼狼”,改变他们最好的方法:不是小心忍,也不是使劲打,做好这3件事,就够了

青春期父母成长学堂
2026-07-15 06:11:40
提高社保夯实率是好事,问题是最后谁来买单?

提高社保夯实率是好事,问题是最后谁来买单?

大何日拱一卒
2026-08-11 21:12:56
国内存款超过200万的家庭,究竟有多少?答案或吓你一跳?

国内存款超过200万的家庭,究竟有多少?答案或吓你一跳?

落梅如雪乱飞
2026-07-26 06:02:20
血脂高不高,看头就知道,血脂高的人,会有这3个表现

血脂高不高,看头就知道,血脂高的人,会有这3个表现

芹姐说生活
2026-08-06 13:31:35
难怪遗产一分不要,73岁迟重瑞近况曝光,原来他已过上另一种人生

难怪遗产一分不要,73岁迟重瑞近况曝光,原来他已过上另一种人生

历史点行
2026-08-07 10:30:40
白海豚泼下历史级暴雨:江浙沪六站破极值,这场雨比登陆时还猛

白海豚泼下历史级暴雨:江浙沪六站破极值,这场雨比登陆时还猛

沧海一粟1155
2026-08-11 12:00:37
江苏天气大反转!超强台风白海豚逼近,狂风暴雨即将来袭

江苏天气大反转!超强台风白海豚逼近,狂风暴雨即将来袭

云崖听松
2026-08-12 01:19:50
十年催生彻底失效!国家终于醒悟:年轻人不生孩子,根本不是懒

十年催生彻底失效!国家终于醒悟:年轻人不生孩子,根本不是懒

花小猫的美食日常
2026-07-19 11:20:35
莫言:永远不要期望一个没有血缘关系的人,能站在你的角度替你考虑|成年人最大的清醒

莫言:永远不要期望一个没有血缘关系的人,能站在你的角度替你考虑|成年人最大的清醒

杏花烟雨江南的碧园
2026-07-27 11:15:03
杀青8年终过审!周星驰《美人鱼2》或2027春节上映,星爷还在等

杀青8年终过审!周星驰《美人鱼2》或2027春节上映,星爷还在等

易象君
2026-08-10 20:38:24
中国裁军大使严正驳斥美方无端指责

中国裁军大使严正驳斥美方无端指责

澎湃新闻
2026-08-12 00:01:18
GDP会骗人,所得税不会:从31省人均个税榜,撕开富裕的真底色

GDP会骗人,所得税不会:从31省人均个税榜,撕开富裕的真底色

坠入二次元的海洋
2026-07-30 08:17:18
注意了!东莞全市持续严查!已有多人当场被抓!

注意了!东莞全市持续严查!已有多人当场被抓!

东莞纪实
2026-08-11 22:02:28
“山旮旯”17岁广东球员地域歧视贵州+挑衅 惹众怒道歉:无地自容

“山旮旯”17岁广东球员地域歧视贵州+挑衅 惹众怒道歉:无地自容

念洲
2026-08-11 08:11:20
贝克汉姆15岁女儿穿露背泳装,爱马仕包显眼,走成熟名媛风惹争议

贝克汉姆15岁女儿穿露背泳装,爱马仕包显眼,走成熟名媛风惹争议

译言
2026-08-08 08:45:09
王曼昱16分钟速胜!休整41天爆发力终于回归 退出乒超养伤值了

王曼昱16分钟速胜!休整41天爆发力终于回归 退出乒超养伤值了

颜小白的篮球梦
2026-08-11 19:20:44
我国每天增加1万癌症患者,罪魁祸首是青菜?4种青菜别再多吃

我国每天增加1万癌症患者,罪魁祸首是青菜?4种青菜别再多吃

岐黄传人孙大夫
2026-04-05 18:30:03
马云拿下苹果,震动全网!

马云拿下苹果,震动全网!

大佬灼见
2026-08-09 13:52:50
王楚钦伤情基本确定

王楚钦伤情基本确定

乒乓乐园
2026-08-12 01:20:03
2026-08-12 03:20:49
算力游侠
算力游侠
游走在API与报错之间,用魔法(AI)打败魔法的非硬核玩家。
286文章数 84关注度
往期回顾 全部

科技要闻

AI大战变天:扎克伯格突然回头

头条要闻

网红"雅典娜"失踪3年 好友:她被李姓女网友诱骗至境外

头条要闻

网红"雅典娜"失踪3年 好友:她被李姓女网友诱骗至境外

体育要闻

NBA老顽童,抽着大麻喝着小酒告别了

娱乐要闻

“雅典娜”确认被害 细节令人发指!

财经要闻

AI泡沫的剧本,是2008年的次贷危机?

汽车要闻

闪充/天神之眼B/云辇-C 2027款海豹06售9.99万元起

态度原创

时尚
本地
亲子
数码
军事航空

时速60公里,“慢”车去南非

本地新闻

黄州一夜,苏轼写给普通人的月光

亲子要闻

一定要让孩子知道,朋友是流动的!

数码要闻

苹果Apple Arcade下月新增两款益智游戏

军事要闻

乌克兰袭击俄罗斯炼油厂 已致13死78伤

无障碍浏览 进入关怀版