GitHub - neondatabase/neon: Neon:无服务器 Postgres。我们将存储和计算分离,以提供自动缩放、类似代码的数据库分支以及缩放到零的功能。

主要观点:Neon 是 AWS Aurora Postgres 的开源无服务器替代品,分离存储和计算,通过在节点集群中重新分配数据来替代 PostgreSQL 存储层。提供快速开始、架构概述、本地开发环境运行、测试、文档等方面的内容。
关键信息

  • 可通过 Neon Free Tier 创建无服务器 Postgres 实例,用偏好的客户端连接或使用在线 SQL 编辑器,也可本地编译运行项目。
  • 架构由计算节点和 Neon 存储引擎组成,包含 Pageserver 和 Safekeepers 组件。
  • 本地开发环境安装依赖(Linux、macOS),可构建并运行 neon 数据库,包括启动 pageserver、postgres 等,还可创建分支和运行 postgres。
  • cargo-nextest 运行 Rust 单元测试,确保依赖安装后用特定命令运行集成测试。
  • 可使用 flamegraph-rsflamegraph.pl 生成火焰图,通过 make cleanmake distclean 清理源树,文档涵盖多个方面。
    重要细节
  • 在不同系统(Ubuntu/Debian、Fedora、Arch 等)上安装依赖的具体包名及版本要求。
  • Rust 版本通过 rust-toolchain.toml 定义,rustup 用户可使用 rustup override 命令设置特定工具链,非 rustup 用户需手动验证工具链版本。
  • 运行测试时要注意默认运行的模式和版本,本地测试可指定运行某一组排列。
  • 清理时要注意 make distclean 会删除更多构建和配置相关的文件及 .neon 目录中的数据库。
  • 加入开发需阅读 CONTRIBUTING.md 了解项目代码风格等,通过 sourcetree.md 熟悉源树布局,学习 PostgreSQL 内部可查看相关网站。
阅读 31
0 条评论