メインコンテンツまでスキップ
バージョン: 3.18

ScalarDB の要件

注記

このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。

このページでは、各 ScalarDB コンポーネントの使用要件 (プログラミング言語とそのバージョン、サポートされているデータベースとそのバージョン、必要な設定など) について説明します。

Core​

ScalarDB Core は ScalarDB の主要コンポーネントであり、基盤となるデータベースを抽象化する抽象化レイヤーを備えたデータベースマネージャーを提供します。詳細については、ScalarDB 設計を参照してください。

言語とランタイム​

ScalarDB Core は、ScalarDB と対話するための Java Client SDK を提供しています。また、Java Virtual Machine (JVM) 上で動作する Schema Loader や Data Loader などのツールも含まれています。

Java​

ScalarDB Core ライブラリは Maven Central Repository で利用できます。Gradle または Maven を使用して、アプリケーションのビルド依存関係としてライブラリを追加できます。詳細については、ビルドに ScalarDB を追加するを参照してください。

ライブラリを利用したアプリケーションの構築には、以下の Java Development Kit (JDK) がサポートされています。

これらの JDK の Java Runtime Environment (JRE) も、ツールの実行でサポートされています。

データベース​

ScalarDB は、以下のデータベースとそのバージョン上で動作します。

リレーショナルデータベース​

バージョンDb2 12.1Db2 11.5
ScalarDB 3.18✅✅
ScalarDB 3.17✅✅
ScalarDB 3.16✅✅
ScalarDB 3.15❌❌
注記

Db2 は Linux、UNIX、Windows 版のみがサポートされています。z/OS 版は現在サポートされていません。

NewSQL データベース​

バージョンAlloyDB 16AlloyDB 15
ScalarDB 3.18✅✅
ScalarDB 3.17✅✅
ScalarDB 3.16❌❌
ScalarDB 3.15❌❌

NoSQL データベース​

バージョンDynamoDB
ScalarDB 3.18✅
ScalarDB 3.17✅
ScalarDB 3.16✅
ScalarDB 3.15✅
注記

各データベースの設定方法の詳細については、ScalarDB の基盤となるデータベースの設定を参照してください。

Object Storage​

注記

Object Storage サポートは現在 Private Preview です。詳細については、お問い合わせいただくか、この機能が将来のバージョンで公開されるまでお待ちください。

バージョンS3
ScalarDB 3.18✅
ScalarDB 3.17✅
ScalarDB 3.16❌
ScalarDB 3.15❌

データベース権限要件​

ScalarDB は、基盤となるデータベースで操作を実行するために特定の権限が必要です。

注記

ScalarDB は、すべての管理操作および CRUD 操作で同じ基盤データベースユーザーアカウントが使用されることを前提としています。

リレーショナルデータベース​

このセクションでは、リレーショナルデータベースの権限要件について説明します。

Db2 を使用している場合、以下の権限を付与する必要があります。

  • DBADM

NewSQL データベース​

このセクションでは、NewSQL データベースの権限要件について説明します。

AlloyDB を使用している場合、以下のデータベース権限を付与する必要があります。

  • CREATE

NoSQL データベース​

このセクションでは、NoSQL データベースの権限要件について説明します。

Amazon DynamoDB を使用している場合、以下のアクションを付与する必要があります。

  • dynamodb:ConditionCheckItem
  • dynamodb:PutItem
  • dynamodb:ListTables
  • dynamodb:DeleteItem
  • dynamodb:Scan
  • dynamodb:Query
  • dynamodb:UpdateItem
  • dynamodb:DeleteTable
  • dynamodb:UpdateContinuousBackups
  • dynamodb:CreateTable
  • dynamodb:DescribeTable
  • dynamodb:GetItem
  • dynamodb:DescribeContinuousBackups
  • dynamodb:UpdateTable
  • application-autoscaling:RegisterScalableTarget
  • application-autoscaling:DeleteScalingPolicy
  • application-autoscaling:PutScalingPolicy
  • application-autoscaling:DeregisterScalableTarget
  • application-autoscaling:TagResource

Object Storage​

このセクションでは、オブジェクトストレージの権限要件について説明します。

オブジェクトストレージとして Amazon S3 を使用している場合、以下のアクションを付与する必要があります:

  • s3:PutObject
  • s3:GetObject
  • s3:DeleteObject
  • s3:ListBucket

Cluster​

ScalarDB Cluster は、Core コンポーネントがクラスター化されたサーバーとして動作するためのクラスタリングソリューションを提供するコンポーネントです。詳細については、ScalarDB 設計を参照してください。

言語とランタイム​

ScalarDB Cluster は、使いやすさのために gRPC で生成されたクライアントをラップする Java および .NET Client SDK を提供しています。

Java​

ScalarDB Cluster の Java Client SDK は Maven Central Repository で利用できます。Gradle または Maven を使用して、アプリケーションのビルド依存関係としてライブラリを追加できます。詳細については、ScalarDB Cluster Java Client SDK をビルドに追加するを参照してください。

ライブラリを利用したアプリケーションの構築には、以下の Java Development Kit (JDK) がサポートされています。

注記

ScalarDB Cluster Embedding Java Client SDK ライブラリでは、上記ベンダーのいずれかからの Java 17 または 21 が必要です。

.NET​

ScalarDB Cluster の .NET Client SDK は NuGet パッケージとして利用できます。詳細については、SDK のインストールを参照してください。

ライブラリを利用したアプリケーションの構築には、以下の .NET バージョンがサポートされています。

その他の言語​

ScalarDB Cluster は gRPC を使用するため、proto ファイルから生成されたクライアントを使用して、お好みの言語で独自のクライアントを作成することもできます。proto ファイルが必要な場合は、サポートにお問い合わせください。

データベース​

ScalarDB Cluster は Core を使用してデータベースと対話するため、データベースの要件は Core と同じです。詳細については、データベースを参照してください。

必要なポート​

ScalarDB Cluster では、以下のポートにアクセスできる必要があります。これらは、必要に応じて設定可能なデフォルトのポート番号です:

  • 60053 (Administrative API / Transaction API / SQL API / 管理者サービス; scalar.db.cluster.node.port で設定可能)
  • 60054 (クラスターノード間の内部 gRPC 通信; scalar.db.cluster.internal.node.port で設定可能。このポートは、クラスターノード間でのみ到達可能である必要があり、通常はクライアントおよびパブリックネットワークからは制限されるべきです)
  • 8080 (GraphQL; scalar.db.graphql.port で設定可能)
  • 9080 (メトリクス; scalar.db.cluster.node.prometheus_exporter_port で設定可能)
注記

scalar.db.cluster.node.admin.port を設定して管理者サービス (pause、unpause、checkPaused) を専用ポートで実行する場合、その専用ポートにもアクセスできる必要があります。この場合、管理者サービスのみがその専用ポートで実行され、scalar.db.cluster.node.port で指定されたポートでは実行されません。scalar.db.cluster.node.port で指定されたポートは、Administrative API、Transaction API、SQL API などの他の gRPC API にアクセスできるように引き続き維持される必要があります。

Kubernetes​

ScalarDB Cluster は、本番環境では Kubernetes プラットフォーム上の1つ以上の Pod で構成されるクラスターとして提供されます。ScalarDB Cluster は以下のプラットフォームとツールをサポートしています。

プラットフォーム​

  • Kubernetes: 1.33 - 1.36

  • Red Hat OpenShift: 4.18 - 4.22

    注記
    • ScalarDB Cluster は Red Hat OpenShift の Extended Update Support (EUS) バージョンをサポートしていません。
    • Red Hat OpenShift 用の ScalarDB Cluster は、Red Hat Build of OpenJDK を使用する Red Hat Universal Base Images (UBI) をベースとしたコンテナイメージとして提供されています。
    • Red Hat OpenShift を使用する予定がある場合、有効なサブスクリプションを確保することはお客様の責任となります。詳細については、Red Hat に直接お問い合わせください。Red Hat は Red Hat OpenShift 向けにさまざまなサブスクリプションオプションを提供しており、Red Hat Build of OpenJDK 用の個別のサブスクリプションの購入も必要になる場合があります。

パッケージマネージャー​

Analytics​

ScalarDB Analytics は、Core コンポーネントによって管理されるデータ、または ScalarDB を使用していないアプリケーションによって管理されるデータに対して、スケーラブルな分析処理を提供するコンポーネントです。詳細については、ScalarDB 設計を参照してください。

Spark​

ScalarDB Analytics は、クエリエンジンに Apache Spark を使用します。以下のバージョンの Spark をサポートしています。クラウドマネージド型の Spark サービス (Amazon EMR、Azure Synapse Analytics、Databricks など) も、以下の表に記載されている Spark バージョンを使用している場合はサポートされます。

ScalarDB Analytics バージョンSpark バージョンScala バージョン
3.183.5、3.42.13、2.12
3.173.5、3.42.13、2.12
3.163.5、3.42.13、2.12
3.153.5、3.42.13、2.12

言語とランタイム​

ScalarDB Analytics は、Spark 上でフェデレーテッドクエリを実行するためのライブラリを提供しています。また、Java Virtual Machine (JVM) 上で動作する ScalarDB Analytics CLI というツールも提供しています。

ライブラリは Maven Central Repository で利用できます。Spark をセットアップする際にライブラリを指定する必要があります。詳細については、ScalarDB Analytics のセットアップのための Spark 設定を参照してください。

注記

Spark と Scala はマイナーバージョン間で互換性がない場合があるため、ライブラリは scalardb-analytics-spark-all-<SPARK_VERSION>_<SCALA_VERSION> の形式で命名された、さまざまな Spark および Scala バージョン用の異なるアーティファクトを提供しています。使用している Spark および Scala バージョンと一致するアーティファクトを選択してください。たとえば、Spark 3.5 と Scala 2.13 を使用している場合は、scalardb-analytics-spark-all-3.5_2.13 を指定する必要があります。

Java​

Spark 上でライブラリを使用する場合、以下の JRE が検証されサポートされています。

注記

各クラウドサービスの Spark で利用可能な Java ランタイムバージョンは、Apache Spark がサポートするバージョンに基づいています。参考として、主要なクラウドサービスにおける Spark バージョンとサポートされている Java ランタイムバージョンの関係を以下に示します:

  • Amazon EMR: EMR 7.x: Spark 3.5 (Java 17); EMR 6.x: Spark 3.4 (Java 8)
  • Azure Synapse Analytics: Spark 3.5 (Java 17); Spark 3.4 (Java 11)
  • Databricks: Runtime 16.4 LTS: Spark 3.5 (Java 17); Runtime 15.4 LTS: Spark 3.5 (Java 8); Runtime 14.3 LTS: Spark 3.5 (Java 8); Runtime 13.3 LTS: Spark 3.4 (Java 8)

詳細な情報については、使用しているクラウドサービスのドキュメントを参照してください。

ScalarDB Analytics CLI の実行では、以下の JRE が検証されサポートされています。

データベース​

ScalarDB Analytics は、以下のデータベースとそのバージョン上で動作します。

ScalarDB​

ScalarDB Analytics は、ScalarDB Core および Cluster によって管理されるデータベース上で分析クエリを実行できます。以下に示すように、これらのデータベースと対話するために同じバージョンの ScalarDB Core ライブラリを使用します。

ScalarDB Analytics バージョンScalarDB Core バージョン
3.183.18
3.173.17
3.163.16
3.153.15

サポートされているデータベースとそのバージョンについては、データベースを参照してください。

リレーショナルデータベース​

ScalarDB Analytics は、ScalarDB Core および Cluster によって管理されていない以下のリレーショナルデータベース上で分析クエリを実行できます。

バージョンMySQL 8.4MySQL 8.0
ScalarDB Analytics 3.18✅✅
ScalarDB Analytics 3.17✅✅
ScalarDB Analytics 3.16❌✅
ScalarDB Analytics 3.15❌✅

NoSQL データベース​

ScalarDB Analytics は、ScalarDB Core および Cluster によって管理されていない以下の NoSQL データベース上で分析クエリを実行できます。

バージョンDynamoDB
ScalarDB Analytics 3.18✅
ScalarDB Analytics 3.17✅
ScalarDB Analytics 3.16✅
ScalarDB Analytics 3.15✅

分析プラットフォーム​

ScalarDB Analytics は、ScalarDB Core および Cluster によって管理されていない以下の分析プラットフォーム上で分析クエリを実行できます。

バージョンDatabricks
ScalarDB Analytics 3.18✅
ScalarDB Analytics 3.17✅
ScalarDB Analytics 3.16✅
ScalarDB Analytics 3.15❌
注記

ScalarDB Analytics は、SQL warehouses と compute の両方を使用して Databricks でクエリを実行できます。Compute については、すべてのデフォルト compute policies がサポートされています。

ScalarDB Analytics サーバーデータベース​

ScalarDB Analytics サーバーは、ScalarDB Core を使用してデータベース内のカタログ情報を管理します。この目的には、ScalarDB Core でサポートされている任意のデータベースを使用できます。サポートされているデータベースとそのバージョンについては、データベースを参照してください。

データベース権限要件​

ScalarDB Analytics は、基盤となるデータベースで操作を実行するために読み取り権限が必要です。

ScalarDB Core および Cluster で管理されているデータベースについては、データベース権限要件に従ってデータベースがすでに設定されているため、追加の設定は必要ありません。

ScalarDB Core および Cluster で管理されていないデータベースについては、データソースに対する読み取り権限を持つユーザーでデータソースを登録してください。データソースの登録手順については、カタログの作成を参照してください。

ScalarDB Analytics サーバーは ScalarDB Core を使用してカタログ情報を管理するため、ScalarDB Core のデータベース権限要件に従ってデータベースユーザーを ScalarDB Analytics サーバー用に設定する必要があります。

必要なポート​

ScalarDB Analytics では、以下のポートにアクセスできる必要があります。これらは、必要に応じて設定可能なデフォルトのポート番号です:

  • 11051 (カタログサービス)
  • 11052 (メータリングサービス)
  • Apache Spark が使用するポート番号は、Spark クラスターのデプロイ方法によって異なります。アクセス可能にする必要があるポートの詳細については、Spark サービスプロバイダーのドキュメントを参照してください。

Kubernetes​

ScalarDB Analytics のサーバーコンポーネント (ScalarDB Analytics サーバー) は、本番環境では Kubernetes プラットフォーム上の Pod として提供されます。ScalarDB Analytics は以下のプラットフォームとツールをサポートしています。

プラットフォーム​

パッケージマネージャー​