YugabyteDB は、PostgreSQL と互換性のある、高性能、クラウドネイティブの分散 SQL データベースです。従来のリレーショナル データベースの利点と NoSQL システムのスケーラビリティを組み合わせており、トランザクションの一貫性と大量のデータを処理する機能の両方を必要とするアプリケーションに適しています。これは、絶対的なデータの正確性を必要とし、スケーラビリティ、障害に対する高い耐性、またはグローバルに分散された展開の少なくとも 1 つを必要とするクラウド ネイティブ OLTP (つまり、リアルタイムでビジネス クリティカルな) アプリケーションに最適です。
コア機能
始めましょう
アプリを構築する
現在のロードマップ
最近の機能
建築
助けが必要ですか?
貢献する
ライセンス
続きを読む
強力な RDBMS 機能Yugabyte SQL (略してYSQL ) は、PostgreSQL クエリ層 (Amazon Aurora PostgreSQL と同様) を再利用することで、ほとんどの機能 (データ型、クエリ、式、演算子と関数、ストアド プロシージャ、トリガー、拡張機能など) をサポートします。 )。
分散トランザクショントランザクション設計は、Google Spanner アーキテクチャに基づいています。書き込みの強力な一貫性は、ハイブリッド論理クロックを使用したレプリケーションおよびクラスター全体の分散 ACID トランザクションに Raft コンセンサスを使用することによって実現されます。スナップショット、シリアル化可能、および読み取りコミット分離レベルがサポートされています。読み取り (クエリ) はデフォルトで強い整合性を持っていますが、フォロワーやリードレプリカから読み取るように動的に調整できます。
継続的な可用性YugabyteDB は、ネイティブ フェイルオーバーと修復により、一般的な停止に対して非常に回復力があります。 YugabyteDB は、ディスク、ラック、ノード、ゾーン、リージョン、およびクラウドの障害を自動的に許容するように構成できます。 YugabyteDB クラスターがパブリック クラウド上の複数のゾーンにわたる 1 つのリージョンにデプロイされる一般的なデプロイメントの場合、RPO は 0 (障害時にデータが失われないことを意味します)、RTO は 3 秒です (障害が発生したノードによってデータが提供されることを意味します)。 3秒で利用可能になります)。
水平スケーラビリティYugabyteDB クラスターをスケーリングして、より多くの IOPS またはデータ ストレージを実現することは、クラスターにノードを追加するのと同じくらい簡単です。
地理的に分散されたマルチクラウドYugabyteDB は、パブリック クラウドや Kubernetes 内にネイティブにデプロイできます。マルチゾーン、マルチラック、マルチリージョン、マルチクラウド展開など、3 つ以上の障害ドメインにまたがる展開をサポートします。また、2 リージョン展開における単方向マスター/スレーブ構成および双方向マルチマスター構成による xCluster 非同期レプリケーションもサポートします。リードレプリカは、低遅延で (古い) データを提供するためにもサポートされています。
マルチ API 設計YugabyteDB クエリ層は拡張可能に構築されています。現在、YugabyteDB は 2 つの分散 SQL API をサポートしています。PostgreSQL クエリ レイヤーを再利用する完全なリレーショナル API である Yugabyte SQL (YSQL) と、ドキュメント/インデックス作成をサポートする半リレーショナル SQL のような API である Yugabyte Cloud QL (YCQL) です。 Apache Cassandra QL のルーツ。
100% オープンソースYugabyteDB は、Apache 2.0 ライセンスの下で完全にオープンソースです。オープンソース バージョンには、分散バックアップ、保存データの暗号化、インフライト TLS 暗号化、変更データ キャプチャ、リード レプリカなどの強力なエンタープライズ機能が含まれています。
YugabyteDB は、従来のリレーショナル データベースの使いやすさと強力さを維持しながら、最新のクラウド ネイティブ アプリケーションが直面する課題に対処することを目的として、いくつかの主要な設計目標を念頭に置いて作成されました。これらについて詳しくは、設計目標をご覧ください。
クイックスタート
実際のデモ アプリケーションを実行してみてください。
マイクロサービス指向の e コマース アプリ
Kafka と Spark Streaming を使用したストリーミング IoT アプリ
探しているものが見つかりませんか?質問がありますか?質問やコメントはコミュニティ Slack またはフォーラムに投稿してください。
YugabyteDB は、Java、Go、NodeJS、Python などを含む多くの言語とクライアント ドライバーをサポートしています。例を含む完全なリストについては、「ドライバーと ORM」を参照してください。
以下は、今後のリリースに向けて開発中の主要な機能の一部のリストです。
特徴 | 詳細 |
---|---|
PostgreSQL 15 の互換性 | 最新の機能、新しい PostgreSQL 拡張機能、パフォーマンス、コミュニティの修正については。 |
CDC の PostgreSQL パブリケーション/レプリケーション スロット API | PostgreSQL には、データベースの変更を設定して使用するために PG 互換の API を必要とする巨大なコミュニティがあります。 |
ビットマップスキャン | インデックス スキャン、リモート フィルター、および強化されたコスト モデルを使用するためのビットマップ スキャンのサポート。 |
コストベースのオプティマイザー(CBO) | 統計 (テーブル サイズ、行数など) とデータ分散に基づいた効率的なクエリ プラン。 |
クエリの並列実行 | 単一のクエリを分割して異なる CPU コアで実行することにより、クエリのパフォーマンスが向上します。 |
pgvector 拡張子 | ベクトル データ型のサポートにより、高次元ベクトルの効率的な保存とクエリが可能になります。 |
接続管理 | サーバー側の接続管理により、ノードあたり最大 30,000 の接続が可能になります |
現在のロードマップのすべての項目のリストについては、ロードマップ トラッカーを参照してください。
v2.23 は現在のプレビュー リリースです。これには現在開発中の機能が含まれており、開発とテストのみに推奨されます。このリリースの機能と改善点の完全なリストについては、「リリース ノート - v2.23」を参照してください。代表的な機能をいくつか紹介します。
データのリカバリ、開発、テストのためにデータベースの独立したコピーをすばやく作成します。
pg_cron を使用すると、使い慣れた cron 構文を使用して YSQL コマンドをスケジュールできます。これには、秒単位の間隔でジョブが含まれます。
テーブル レベルではなくデータベース レベルで動作することにより、YSQL トランザクション xCluster レプリケーションの管理が簡素化されました。
逆方向スキャンのパフォーマンスが向上したことにより、このようなクエリがすぐに 10 倍高速になるようになりました。
v2024.1 が現在の安定版リリースです。安定版リリースは、長期間にわたる厳格なテストを経て、実稼働環境で使用できるようになります。このリリースの機能と改善点の完全なリストについては、「リリース ノート - v2024.1」を参照してください。代表的な機能をいくつか紹介します。
PostgreSQL の互換性とパフォーマンスの同等性の両方における多くの新しい改善点を活用できるようになり、アプリケーションを PostgreSQL から YugabyteDB にリフト アンド シフトすることがさらに簡単になります。このモードがオンになっている場合、YugabyteDB は Read-Committed 分離モード、予測可能な P99 レイテンシーのための Wait-on-Conflict 同時実行モード、および新しいコストベースのオプティマイザーを使用します。
アップグレードされたバージョンに満足できない場合は、アップグレード前のバージョンにシームレスにロールバックできます。
個々の外部テーブルのタプルごとに 1 回ではなく、外部テーブルのタプルのバッチごとに 1 つのリクエストを内部テーブルに送信することで、ネストされたループ結合を改善する結合実行戦略。
Explain Analyze を DIST オプションとともに使用すると、ストレージ層から読み取られた行も表示され、クエリのパフォーマンスの診断に役立ちます。
詳細なアーキテクチャをドキュメントで確認してください。
コミュニティ Slack、フォーラム、スタック オーバーフロー、Twitter @Yugabyte で質問したり、答えを見つけたり、他の人を助けることができます。
GitHub の問題を使用して、問題を報告したり、新機能をリクエストしたりできます。
YugabyteDB およびクラスター/ノードレベルの問題をトラブルシューティングするには、トラブルシューティングのドキュメントを参照してください。
ユーザー コミュニティに重点を置いたオープンソース プロジェクトとして、GitHub プル リクエストとしての貢献を歓迎します。始めるには、寄稿者ガイドを参照してください。機能に関するディスカッションと RFC は、フォーラムの設計ディスカッション セクションで行われます。
このリポジトリのソース コードは、Apache License 2.0 および Polyform Free Trial License 1.0.0 に基づいてさまざまなライセンスが付与されています。各ライセンスのコピーは、ライセンス ディレクトリにあります。
ビルドでは 2 つのバイナリ セットが生成されます。
すべての機能 (エンタープライズ機能を含む) を備えたデータベース全体は、Apache License 2.0 に基づいてライセンスされています。
アーティファクトに-managed
含まれており、マネージド サービスの実行に役立つバイナリは、Polyform Free Trial License 1.0.0 に基づいてライセンスされています。
デフォルトでは、ビルド オプションは Apache License 2.0 バイナリのみを生成します。
最新情報を確認するには、分散 SQL ブログにアクセスしてください。
設計とアーキテクチャの詳細については、設計仕様を参照してください。
技術的な講演とビデオ。
YugabyteDB が他のデータベースとどのように比較されるかをご覧ください。