用 Neon 和 Materialize 实现变更数据捕获(CDC)
Neon 现已支持逻辑复制,可结合 Materialize 实现变更数据捕获(CDC),把数据库变更实时推送到下游应用。文章围绕这一新能力展开,探讨如何借此构建交互式数据应用、改善客户体验等依赖新鲜数据的场景,并讨论是否需要重新设计架构。
Neon 现已支持逻辑复制,可结合 Materialize 实现变更数据捕获(CDC),把数据库变更实时推送到下游应用。文章围绕这一新能力展开,探讨如何借此构建交互式数据应用、改善客户体验等依赖新鲜数据的场景,并讨论是否需要重新设计架构。
Neon 发布博客介绍如何在无服务器 Postgres 上实现变更数据捕获(CDC),用于在松耦合的服务之间复制、处理和分析持续产生的数据流。文章聚焦于把数据从一个数据存储迁移到另一个数据存储时面临的挑战。
Neon 上线 IP Allow 功能,可通过 IP 白名单限制对 Neon 数据库的访问。Neon 提供全托管 PostgreSQL 实例,具备分支和自动扩缩容能力,此前仅靠连接串和密码访问。该功能为数据库增加一层网络安全防护。
PolyScale 与 Neon 完成集成,前者是全自主数据库缓存,后者是分离存储与计算的 serverless Postgres,支持自动扩缩容、分支和无上限存储。文章深入解析了 PolyScale 的架构设计。
一份用 Neon、Keycloak 和 Koyeb 组合搭建认证系统的教程。Keycloak 是开源身份与访问管理方案,集中管理认证与授权,支持单点登录(SSO)、双因素认证、社交登录,以及通过 LDAP 或 Active Directory 做用户联邦。
Supabase 将全部客户端库统一到 v2 版本号,Swift、Kotlin、C#、Python 现已稳定,并新增 React Native 与 Expo 支持。Flutter v2 侧重稳定性与开发体验,查询和 Realtime 增加类型安全,初始化时间缩短、包体积减小;supabase-js 新增表与枚举简写、QueryResult/QueryData 辅助类型及表关系类型推导。
Neon 推出 Branch Reset 功能,可将数据库分支重置回其父分支的状态。该功能基于 Neon 的 serverless 架构与 copy-on-write 分支能力,让开发者无需重建分支即可丢弃子分支上的改动。
Supabase 为 Auth 发布四项新功能:Identity Linking 允许开发者用 linkIdentity() 和 unlinkIdentity() 手动关联两个身份。
推荐理由:Supabase Auth 新增身份手动关联、会话控制与 Auth Hooks,自托管今天可用,平台版下月上线,需要自定义 JWT 或会话策略的可以提前准备。
Supabase Wrappers v0.2 已在 Supabase 平台上线,新增查询下推(Query Pushdown)、远程子查询和用量统计三项能力。查询下推把过滤、排序、limit 等逻辑直接下推到数据源执行,减少数据传输;远程子查询支持静态与动态参数化视图,目前由 ClickHouse FDW 和 BigQuery FDW 支持。
PostgREST 12 发布,新增 JWT 缓存,首次请求后按 exp 声明设置缓存有效期,示例中服务端 JWT 解码耗时从 147.7ms 降到 14.1ms。
推荐理由:PostgREST 12 把 JWT 校验结果缓存下来,单次请求服务端耗时从 147.7ms 降到 14.1ms,自托管项目可以直接升级。
Supabase 宣布 Branching 开始向已注册早期访问的付费组织分批开放,按注册先后顺序发放。
Supabase 宣布 Edge Functions 现在原生支持 npm 模块和 Node 内置 API,可直接在源码里 import 数百万个常用 npm 模块,例如 `npm:drizzle-orm/node-postgres`,现有 Node 应用迁移改动很小。
推荐理由:Edge Functions 现在能直接 import npm 模块和 Node 内置 API,用 Express、Drizzle 写的 Node 应用可以低成本迁过来。
Supabase GraphQL(pg_graphql)1.4+ 新增对 Postgres 函数(UDF)的支持,可自动将 SQL 函数反射为 GraphQL 字段。
Supabase 11 月更新为 Pro 计划所有项目开放断点续传,单文件上传上限提升至 50GB。CLI 新增 `supabase login` 浏览器登录,Edge Functions 连接 Postgres 默认启用 SSL,Pro 项目可配置限时会话与非活跃超时。Shotgun 借助 Supabase 将数据库基础设施成本降低 83%。
Neon 推出与 PolyScale 的新集成,可全球分发并缓存数据,让读取查询在任何地区都保持低延迟,且无需跨区域复制。该集成面向 Serverless Postgres,目前已在 Neon 上线。
Supabase CLI 从 1.114.0 起支持自动登录,输入 supabase login 后会自动打开浏览器完成认证,无需再手动生成并粘贴 token。
Neon 发布教程,介绍如何用 Neon、Kubernetes 和 Argo CD 搭建预览环境。开发者通常在本地环境编码后把代码推送到 GitHub 等平台,该方案将这一流程延伸到预览环境部署。
Neon 在 All Things Open 2023 上被反复问到“什么是 Serverless”,于是撰文解释这一概念。文章从 2014 年发布的 AWS Lambda 谈起,说明 Serverless 并非没有服务器,而是由云厂商按需分配和计费。
Neon 工程师 George 基于开发 Neon serverless driver 的经验,介绍了如何让原本依赖 Node.js 的 NPM 包在 Vercel Edge Functions 等非 Node 环境中运行。许多 NPM 库默认假设运行在 Node.js 中,在其他环境会直接报错。
Hugging Face 为 Enterprise Hub 推出 Storage Regions,组织可自选模型与数据集的存储区域,目前支持 US 和 EU,Asia-Pacific 即将上线。非默认区域的仓库会直接显示 Region 标签,便于成员查看存放位置。官方称欧洲用户将仓库放在 EU 区域,上传和下载速度约比存放在 US 快 4-5 倍,并可用于满足 GDPR 合规要求。
Supabase 用 dbpedia 数据集(100 万条 OpenAI 1536 维 embedding)对比 pgvector 与 Pinecone,在约 480 美元/月的同等预算下,pgvector 的 HNSW 索引比 Pinecone s1 方案多处理 1185% 的每秒查询数,且每月便宜 70 美元。
推荐理由:Supabase 用同一数据集和预算对比 pgvector 与 Pinecone,做向量检索选型或想省下托管费的可以看这份实测数字。
用 Expo、WatermelonDB 和 Supabase 可以搭建离线优先的 React Native 应用:WatermelonDB 基于 SQLite 做本地数据存储,通过 Supabase RPC 调用 Postgres 的 push/pull 两个函数完成同步,并用 Supabase Realtime 触发其他设备同步。
Postgres 16 的 psql 客户端新增连接字符串选项 ?sslrootcert=system,可简化与 Neon 数据库建立安全交互会话的流程。该选项让 psql 16 即使面对仍运行旧版本的 Neon 数据库也能使用,从而降低中间人(MITM)攻击风险。
Supabase 宣布自 2024 年 1 月 15 日起弃用 pgbouncer,新项目已默认使用自研连接池 Supavisor,旧项目仍可并行使用但需在此之前迁移。
推荐理由:pgbouncer 将于 2024 年 1 月 15 日弃用,直连数据库的项目也要在那之前确认网络支持 IPv6 或改用 Supavisor。
一份示例仓库展示了如何用 Astro 构建站点、部署到 Vercel,并结合 Vercel Edge Functions 与 Neon 实现自建分析。作者用同样方案运行自己的站点 paulie.dev,并说明如何用这些数据搭建仪表盘可视化。
Supabase 分享了一种 Postgres 动态表分区方法,用于解决单表存储 5 亿条聊天消息后查询变慢的问题,可在不阻塞查询、不宕机的前提下创建分区并迁移存量数据。文章以模拟聊天应用为例,演示了从建表、生成数据到动态分区的完整流程,并指出大表会导致 SELECT、INSERT 变慢,以及 vacuum 难以完成、数据相关性下降等问题。
Neon 宣布停用 pg_embedding,转而支持 pgvector。pg_embedding 曾把 HNSW 索引引入 Postgres,让向量检索在 Postgres 中可扩展;随着 pgvector 0.5.0 加入 HNSW,Neon 认为让社区在两个向量检索扩展之间做选择已没有多少好处。
推荐理由:Neon 停用 pg_embedding 并建议迁到 pgvector 0.5.0,用该扩展的向量检索项目需要安排迁移。
Hugging Face 发布教程,演示非工程师如何零代码训练并部署 LLaMA 2 聊天机器人。流程分三步:在 Spaces 创建 AutoTrain Space,用 AutoTrain 对 Meta 的 Llama 2 7b 基础模型做指令微调(示例用 Alpaca 数据集,A10G Large 即可),再用 ChatUI 部署成可分享的聊天应用。
Neon 推出适用于 Vercel Edge Functions 的无服务器驱动,并演示了如何配合 Next.js 和免费的 Neon 无服务器 Postgres 数据库使用。作者创建了一个名为 Ping Thing 的演示项目来展示具体用法。
Neon 现已支持 Postgres 16,该版本带来多项性能与开发者体验改进,其中最受期待的是对 SQL/JSON 语法的扩展支持。
Neon 发布指南,介绍如何用其只读副本扩展 Prisma 应用。只读副本是主数据库的只读同步副本,可把读流量从主库卸载下来。指南涵盖只读副本的原理、在 Neon 中的工作方式,以及如何借此扩展 Prisma 应用。
这份指南介绍如何为每个 Qovery 预览环境创建对应的 Neon 分支,让开发者并行开发新功能而互不影响,并支持频繁的小版本发布。
Supabase 发布自研 Postgres 连接池 Supavisor,用 20 台 AWS EC2 实例压测到 1,003,200 个并发连接、20,000 QPS,单台 64 核实例可承载约 50 万连接。
推荐理由:Supabase 自研连接池 Supavisor 已全量上线,压测到 100 万并发连接,用 Postgres 的可以联系支持切换。
Supabase 为其 Integrations Marketplace 新增 OAuth2.0 应用支持,目前该市场上已有超过 60 个集成。首批合作伙伴包括 Cloudflare、Resend、Snaplet、Trigger.dev、Vercel 和 Windmill,用户可在数分钟内将低代码工具、DevTools、缓存、短信邮件服务等接入 Supabase 项目。
Supabase 推出新的 Vercel 集成,支持把多个 Vercel 项目连接到同一个 Supabase 项目,并自动管理环境变量与 Auth Redirect URIs。
推荐理由:Supabase 官方发布 Vercel 集成与 Next.js App Router 支持,用 Vercel 部署的开发者可以按新方式配置 cookie 鉴权和环境变量。
Supabase 发布 Studio 3.0,把 Supabase AI 直接集成进 SQL Editor,可识别编辑器中的 SQL 片段并按提示修改,改动以类似 Git diff 的视图呈现,可逐条接受或拒绝。
推荐理由:Supabase Studio 3.0 把 AI 写进 SQL 编辑器并支持 diff 接受或拒绝,用 Postgres 做后端的项目可以少写一部分 SQL。
Supabase 为本地开发体验发布一批新功能,包括 supabase inspect db 提供的 19 个调试命令、supabase db dump 备份迁移、supabase test 测试脚手架,以及本地 Dashboard 查看日志。
推荐理由:本地开发链路一次性补齐迁移、分支预览与可观测命令,用 Supabase CLI 的团队可以照着升级工作流。
Zama 展示了如何借助 Hugging Face transformers 库,用全同态加密(FHE)让 GPT2 的部分推理直接在加密数据上运行,从而同时保护用户数据隐私与模型 IP。
Neon 发布指南,介绍如何用 Neon 分支以编程方式把数据恢复到之前的某个状态。Neon 是全托管的 serverless Postgres,无需预先选定数据库规格,会自动分配资源。
Neon 工程团队经过数月优化,大幅降低了空闲计算资源被激活时的冷启动时间。该文章解释了冷启动问题的成因,以及团队如何着手解决这一问题。