
2026/09/11 0:43
ネキ
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
以下の改良版は、欠落していた具体的なアーキテクチャの詳細と機能セットを統合しつつ、明確さと流れを維持しています:
改善されたサマリー: PlanetScale は、現在プラットフォームプレビュー段階で利用可能なシャーディング PostgreSQL ソリューション「Neki」を導入しました。これは数秒間に数百万回のクエリを処理する Tier 0 ワークロードに対応するように設計されています。世界最大のシャーディング MySQL クラスタを 8 ヨ年管理した教訓に基づいて構築されており、Neki は組織にエンジンやアプリケーションコードを変更することなく、データベースを多数のマシンにスケールすることを可能にします。標準的な PostgreSQL ワヤプロトコルをルートアーを経由して利用することで、既存のドライバ、ORM、接続文字列との互換性を確保し、複雑なアプリケーションレベルのシャーディングや隠されたシャードキーの必要性を取り除きます。各シャードは 3 つの可用性ゾーンに分散配置され、標準的な Postgres を完全に実行する 1 つの主ノードと少なくとも 2 つのレプリカで構成されています。プラットフォームは、オンラインスキーマ変更、ゼロダウンタイムアップグレード、フェイルオーバー、インポート、リシャーディング、コネクションプーリングサイドカー、Insights、スキーマ推奨事項、ブランチング、および MCP 機能などの高度な機能をサポートします。これらの強力なツールにもかかわらず、PlanetScale はプレビュー期間中にプロダクションワークロードの実行は避けるよう勧告しており、これは潜在的な進化する機能と破壊的変更が予想されるためです。ユーザーはサインインしてプレビューに参加し、クラスタを作成したり、大規模なセットアップのプライベートデモをチームにリクエストしたりできます。究極的には、Neki は Postgres の原則に固執しつつ高スケーラビリティの操作を可能化することで、巨大なクラスター管理と現代のデータベースニーズとの間のギャップを埋めています。
本文
Neki: 大規模シャードされた Postgres プラットフォームの発表
PlanetScale が新サービス Neki をプラットフォームプレビューとして公開しました。世界中の最大規模のシャード MySQL クラスターから得た知見を基に構築され、以下の実績を持っています。
- 数千万ものクエリ/秒という膨大な生産環境ワークロードへの対応
- 数秒のダウンタイムすら許容できない社会インフラを支える企業の信頼獲得
- ティア 0 ワークロードの意味を深く理解した技術
なぜ Neki が生まれたのか?
約一年半前に PlanetScale Postgres をリリース後、多くの顧客が単一マシンの限界に直面する様子を observe してきました。
- 金属製のハードウェアは性能向上をもたらしましたが、単一マシンの上限を超えると解決策がありませんでした。
- 従来のアプローチ(大容量マシンへの移行など)は線形なスケールには向かず、何かを犠牲にするトレードオフがありました。
そこで定めた最も重要な原則は、
Postgres に固執し、回避策をとったり装うこともしない。
Neki のアーキテクチャと機能
Neki は「多数のマシンにわたって Postgres データベースをスケールさせつつ、各シャードに実際の Postgres を維持する」設計です。
基本構成
- 標準的な動作: アプリケーションは標準的な Postgres ワアプロトコルを通じて接続するため、既存のドライバ、ORM、接続文字列がそのまま利用可能です。
- 堅牢なクラスター: 各シャードは「1 つのプライマリ + 3 つの可用性ゾーンにまたがる少なくとも 2 つのリプレプリ」から構成される完全な Postgres クラスターです。
- 純粋な Postgres: 独自のストレージエンジンを使用しないため、拡張機能、SQL サポート、パフォーマンスは Postgres と同等です。
4 つの核心要素
Neki のアーキテクチャは以下の 4 つで構成されています。
- Neki ルーター
- アプリケーションからの入力を一元管理します。
- 完全な Postgres クエリパーサー、分散クエリオプティマイザ、クエリバッファリングを内蔵。
- 垂直・水平スケール可能であり、単一ルーターがボトルネックになることはありません。
- シャarding と シャードグループ
- ユーザーがシャードキーを選択し、JSON データトポロジーを通じてテーブルの分散方法とグループ化を制御できます。
- 各シャードは独立した構成プロファイル(インスタンスサイズ、ストレージ、パラメータなど)を持ちます。
- 接続プーリング
- シデカーによる高度な接続ハンドリングを実装。単なる PgBouncer の設置とは異なり、ルーター側と Postgres 側の両端を制御します。
- インスタンスが実際に処理できる能力に合わせて動的にプールサイズを調整可能です。
- コントロールプレーン
- すべてのノードの健全性を追跡し、計画されたフェイルオーバーやリシャード化などのワークフローを調整します。
データトポロジー
- 論理的なテーブルを物理的なシャードにマッピングする JSON 構成です。
- ルーターはこのトポロジーをキャッシュし、クエリ実行時に参照して最適なシャードへルーティングします。
全オンラインでの運用と管理
メンテナンスウィンドウやダウンタイムを最小限にしたワークフローをネイティブに提供します。
対応可能なワークフロー
以下の操作はすべて**全オンライン(Online)**で実行可能です。
- スキーマ変更:
など、通常はロックがかかる作業も可能。ALTER TABLE - バージョンアップグレード: ゼロダウンタイムでのマイグレーション。
- フェイルオーバー: 計画されたスイッチオーバーと unplanned のフェイルオーバー。
- インポート/エクスポート
- リシャード化(再シャード化): 既存クラスターに対するスケーリング操作。
シームレスな拡張
最初からシャード化する必要はありません。
- まず単一構成(プライマリ + リプレプリのみ)で運用を開始。
- 負荷増加時に、リシャード化というワークフローをワンクリックで実行。
- 既存の接続文字列を変更せず、自動的に対象テーブルが分散されます。
プラットフォームプレビューについて
現在は早期利用(プレビュー)期間であり、以下の点にご注意ください。
- 使用制限: プラットフォームプレビュー期間中は、Neki 上で生産環境のワークロードを実行しないでください。
- 変更の可能性: 製品機能は進化しており、仕様変更や不具合を招く修正が含まれる可能性があります。
- サポート: ご質問や問題が発生した際は、以下をご利用ください。
- サポートチケットの提出
- Discord コミュニティへの参加
今日からお試しください
- PlanetScale アカウントへログインし、プラットフォームプレビューに登録してください。
- Neki クラスターの作成から始められます。
さらに詳しいアーキテクチャやシャード化手法を知りたい場合は、Neki ドキュメント をご確認ください。大規模な Postgres クラスタを運用中で、Neki によるプライベートデモや具体的なシャード化提案をご希望の場合は、お気軽にご連絡ください。