JetBrains/youtrackdb

YouTrackDB is a general-use object-oriented graph database with storage format native to handle graph relations. YouTrackDB supports Gremlin queries and ACID transactions. YTDB supports both embedded and client-server deployment models.

解決する問題

YouTrackDB は、従来の JOIN のパフォーマンスコストなしで、接続データ(ソーシャルネットワーク、レコメンデーションエンジン、依存関係グラフなど)を処理する汎用グラフデータベースです。オブジェクトと関係としてデータを保存およびクエリでき、高速なリンクトラバーサルと強力な一貫性保証を提供します。

仕組み

YouTrackDB は、オブジェクト間の関係を一定時間(O(1))でトラバースするグラフとしてデータを保存し、高価な実行時 JOIN を使用しません。組み込み(アプリケーション内で実行)とクライアント・サーバー(スタンドアロンデータベースサーバー)の両方のデプロイメントをサポートします。トランザクションはスナップショット分離で実行されるため、各トランザクションは開始時点のデータベースの安定したビューを参照し、ダーティリードや関連する問題を回避します。TinkerPop API と Gremlin クエリ言語、または MATCH ステートメントなどのグラフパターン拡張を備えた SQL ベースの YQL 言語を使用してクエリできます。また、スキーマレス、スキーマ混合、スキーマフルのモードを提供し、さまざまな開発ワークフローに対応します。

対象読者

YouTrackDB は、複雑な関係とグラフクエリを処理する必要があるアプリケーションを構築する開発者とチーム向けです。JetBrains で本番環境に使用されているため、要求の厳しい環境に適しています。Docker コンソールで試したり、Maven または Gradle で Java プロジェクトに組み込んだり、Docker コンテナとして完全なサーバーを実行したりできます。JDK 21 以降が必要です。

ハイライト

  • リンクトラバーサルの O(1) 複雑性、高価な JOIN を回避
  • すべてのトランザクションでデフォルトのスナップショット分離
  • TinkerPop API と Gremlin クエリ言語をすぐにサポート
  • SQL スタイルの構文とグラフ拡張を備えた YQL クエリ言語
  • スキーマレス、スキーマ混合、スキーマフルのモードで動作
  • ユーザー、ロール、述語ベースのポリシーによる強力なセキュリティ
  • 保存データのオプションの暗号化
  • 最小限の一時停止でオンラインの増分バックアップと完全バックアップ
  • インスタンスごとに複数の独立したデータベース
  • 簡単に始められる:コンソールとサーバー用の Docker イメージ、組み込み用の Maven/Gradle 依存関係

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト