top of page
line_background_63_edited.jpg

【3日でマスター!ScalarDB】1-4. ScalarDB Cluster

2025年4月30日




ScalarDB Clusterは、分散トランザクションを効率的に処理するためのクラスタリングソリューションです。複数のノード間でトランザクションを分散しながら、整合性とスケーラビリティを確保します。 アプリケーションはClient SDK等を通じてScalarDB Clusterと通信します。 アプリケーションとScalarDB Clusterとの通信にはgRPC (HTTP2) を使用し、ScalarDB Clusterとデータベースとの通信には各データベース固有のプロトコルを使用します。

ScalarDBクラスタノードは、負荷状況に応じてノードを追加することで、処理能力をスケールアウト可能です。

ScalarDB Clusterは、ノードに障害が発生すると、障害が発生したノードを切り離し、利用可能なノードでシステムを再構成します。 障害を検知したアプリケーションは、再構成されたノードでトランザクションを再実行できます。 Kubernetesの自己修復機能によりノードが復元されると、ScalarDB Clusterは利用可能なノードが自動的に再構成します。

ScalarDB Clusterは、SQL、GraphQL、gRPCなど、さまざまなエンタープライズ向けのインターフェースを提供しております。 .NET SDKも利用可能です。 認証・認可機能、データ格納時の暗号化、属性ベースのアクセス制御機構を備えております。 ベクトルストアへのアクセスもサポートしています。

ScalarDB Clusterは、DockerやKubernetesといった様々な環境にデプロイ可能です。 開発時にはDockerのスタンドアロンモードが便利です。 本番環境ではKubernetesを利用し、可用性とパフォーマンスを高めることができます。 利用目的に合わせて適切なデプロイメント環境を選択できます。

スタンドアロンモードは、ローカルマシン上のDocker上でScalarDB Clusterが動作します。 開発時や検証用途での利用を想定しています。 設定ファイルである`scalardb-cluster-node.properties`と`docker-compose.yaml`を準備し、`docker compose` コマンドでScalarDB Clusterを起動できます。

ScalarDB ClusterはKubernetes Pod内のコンテナとして提供されます。 Kubernetes環境には、Helm Chartを利用して簡単にデプロイできます。 カスタム値ファイル(YAML)を用意することで、環境に合わせた設定が可能です。

次回:1-5. ScalarDBのインターフェース

bottom of page