グラフ指向DBMS Nebula Graph 3.2のリリース

オープン DBMS Nebula Graph 3.2 のリリースが公開されました。これは、数十億のノードと数兆の接続を数えるグラフを形成する、相互接続された大規模なデータ セットを効率的に保存するように設計されています。 このプロジェクトは C++ で書かれており、Apache 2.0 ライセンスに基づいて配布されています。 DBMS にアクセスするためのクライアント ライブラリは Go、Python、Java 言語用に用意されています。

DBMS は、リソースを共有しない分散アーキテクチャ (シェアードナッシング) を使用します。これは、独立した自給自足のグラフ クエリ処理プロセスとストレージ ストレージ プロセスの起動を意味します。 メタサービスはデータの移動を調整し、グラフに関するメタ情報を提供します。 データの一貫性を確保するために、RAFT アルゴリズムに基づくプロトコルが使用されます。

ネビュラ グラフの主な機能:

  • ロールベースのアクセス制御 (RBAC) システムを通じて権限が設定されている認証されたユーザーのみにアクセスを制限することで、セキュリティを確保します。
  • さまざまなタイプのストレージ エンジンを接続する機能。 新しいアルゴリズムによるクエリ生成言語の拡張のサポート。
  • データの読み取りまたは書き込み時の遅延を最小限に抑え、高いスループットを維持します。 632 つのグラフ ノードと 1.2 つのストレージ ノードのクラスター、8.4 億の頂点と 140 億のエッジのグラフを含む XNUMX GB のデータベースでテストした場合、レイテンシは数ミリ秒で、スループットは XNUMX 秒あたり最大 XNUMX 万リクエストでした。
  • 線形スケーラビリティ。
  • 強力で理解しやすい SQL に似たクエリ言語。 サポートされる操作には、GO (グラフ頂点の双方向走査)、GROUP BY、ORDER BY、LIMIT、UNION、UNION DISTINCT、INTERSECT、MINUS、PIPE (前のクエリの結果を使用) が含まれます。 インデックスとユーザー定義変数がサポートされています。
  • 高可用性と障害に対する回復力を確保します。
  • データベース状態のスライスを使用したスナップショットの作成をサポートし、バックアップ コピーの作成を簡素化します。
  • 産業利用の準備ができています (JD、Meituan、Xiaohongshu のインフラストラクチャですでに使用されています)。
  • 進行中の操作を停止したり影響を与えたりすることなく、データ ストレージ スキームを変更して更新する機能。
  • データの有効期間を制限するための TTL サポート。
  • 設定とストレージホストを管理するためのコマンド。
  • 作業を管理し、作業の起動をスケジュールするためのツール (現在サポートされている作業は COMPACT と FLUSH)。
  • 指定された頂点間の完全なパスと最短パスを見つける操作。
  • サードパーティの分析プラットフォームと統合するための OLAP インターフェイス。
  • CSV ファイルまたは Spark からデータをインポートするためのユーティリティ。
  • Prometheus と Grafana を使用してモニタリング用のメトリクスをエクスポートします。
  • Nebula Graph Studio Web インターフェイスは、グラフ操作の視覚化、グラフ ナビゲーション、データ ストレージの設計、スキームのロードを行います。

新しいリリースでは:

  • 指定された式に一致する部分文字列を抽出するための extract() 関数のサポートが追加されました。
  • 構成ファイルの設定が最適化されました。
  • 不要な AppendVertices オペレーターを削除し、エッジ フィルターと頂点フィルターの適用を無効にする最適化ルールを追加しました。
  • JOIN 操作、および Traverse および AppendVertices オペレーターでコピーされるデータの量が削減されました。
  • SHORTEST PATH と SUBGRAPH のパフォーマンスの最適化
  • メモリ割り当てが改善されました (Arena Allocator が有効)。

出所: オープンネット.ru

コメントを追加します