Repolode
neondatabase

neondatabase/neon

ストレージとコンピュートを分離し、自動スケーリング、データベースのブランチ作成、スケール・トゥ・ゼロに対応するオープンソースのサーバーレスPostgres。

代替できる製品:Amazon Aurora

スター
23,248
フォーク
1,123
未解決の Issue
577
最終コミット
2 か月前

これは何?

NeonはサーバーレスのPostgresデータベースプラットフォームです。ストレージとコンピュートを分離しており、コンピュートノードはステートレスなPostgreSQLインスタンス、ストレージエンジンはpageserverとsafekeeperで構成され、データを保持します。safekeeperは冗長化されたWALサービスを形成し、pageserverが処理してクラウドストレージにアップロードするまで、write-ahead logを永続的に保存します。

この分離により、あるデータベースを別のデータベースのブランチとして作成し、親から独立して変更を加えられます。また、必要に応じてコンピュートを起動・停止できます。プロジェクトは、コントロールプレーンツールのcargo neonを使ってローカルで実行できます。このツールはpageserver、safekeeper、brokerを初期化し、tenant、timeline、endpointを作成します。Postgres 14以降をサポートしています。

コードベースの大部分はRustで書かれており、パッチを適用したPostgreSQLフォークも含まれています。ユニットテストにはcargo-nextest、統合テストにはpytestを使用します。

主な機能

  • 01コンピュートとストレージを分離し、コンピュートノードをステートレスなPostgreSQLインスタンスとして動作させます。
  • 02コードのブランチのようにデータベースをブランチ化でき、各ブランチは親から独立します。
  • 03コンピュートの自動スケーリングとスケール・トゥ・ゼロに対応します。
  • 04冗長化されたsafekeeperのWALサービスを使い、データをクラウドストレージにアップロードします。
  • 05ワークステーション上でフル構成を実行するためのローカルコントロールプレーンツールcargo neonを備えています。

ユースケース

  • スキーママイグレーションのテスト用に、本番データベースの独立したコピーを作成する。
  • 長時間アイドル状態になり、スケール・トゥ・ゼロが望ましいPostgresワークロードを実行する。
  • ローカルマシンでNeonのストレージエンジンの変更を開発・テストする。

クイックスタート

  1. 1

    Neon Free Tierに登録して、ホステッド型のサーバーレスPostgresインスタンスを利用します

  2. 2

    サブモジュールを含めてリポジトリをクローンします

    git clone --recursive https://github.com/neondatabase/neon.git
  3. 3

    neonディレクトリからNeonとパッチ適用済みのPostgresをビルドします

    make -j`nproc` -s

使う前に知っておきたいこと

  • ローカルで実行するには、多数のシステムパッケージ、Rust、protoc 3.15以降のインストールが必要です。
  • READMEに記載されているローカル環境のセットアップ手順はLinuxとmacOS向けのみで、macOSに関する説明はmacOS 12.3.1向けに書かれています。
  • ローカルでの利用は、小規模な実験やコード変更のテストを目的としており、本番環境での利用は想定されていません。

収録されている特集

トピック

よくある質問

neon とは?
ストレージとコンピュートを分離し、自動スケーリング、データベースのブランチ作成、スケール・トゥ・ゼロに対応するオープンソースのサーバーレスPostgres。 NeonはサーバーレスのPostgresデータベースプラットフォームです。ストレージとコンピュートを分離しており、コンピュートノードはステートレスなPostgreSQLインスタンス、ストレージエンジンはpageserverとsafekeeperで構成され、データを保持します。safekeeperは冗長化されたWALサービスを形成し、pageserverが処理してクラウドストレージにアップロードするまで、write-ahead logを永続的に保存します。
neon は無料で使えますか?ライセンスは?
neon は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
neon は今もメンテナンスされていますか?
半年以内に更新あり。neon の最終コミットは 2026年8月31日 です。
neon は何に使えますか?
スキーママイグレーションのテスト用に、本番データベースの独立したコピーを作成する。 長時間アイドル状態になり、スケール・トゥ・ゼロが望ましいPostgresワークロードを実行する。 ローカルマシンでNeonのストレージエンジンの変更を開発・テストする。
neon のインストール方法は?
Neon Free Tierに登録して、ホステッド型のサーバーレスPostgresインスタンスを利用します サブモジュールを含めてリポジトリをクローンします: git clone --recursive https://github.com/neondatabase/neon.git neonディレクトリからNeonとパッチ適用済みのPostgresをビルドします: make -j`nproc` -s
neon はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/neondatabase/neon

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト