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

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 は、以下のデータベースとそのバージョン上で動作します。

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

バージョンOracle Database 23aiOracle Database 21cOracle Database 19c
ScalarDB 3.16
ScalarDB 3.15
ScalarDB 3.14
ScalarDB 3.13
ScalarDB 3.12
ScalarDB 3.11
ScalarDB 3.10
ScalarDB 3.9
ScalarDB 3.8
ScalarDB 3.7

NoSQL データベース

バージョンDynamoDB
ScalarDB 3.16
ScalarDB 3.15
ScalarDB 3.14
ScalarDB 3.13
ScalarDB 3.12
ScalarDB 3.11
ScalarDB 3.10
ScalarDB 3.9
ScalarDB 3.8
ScalarDB 3.7
注記

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

データベース権限要件

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

Oracle Database

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

  • CREATE SESSION
  • CREATE USER
  • DROP USER
  • ALTER USER
  • CREATE ANY TABLE
  • DROP ANY TABLE
  • CREATE ANY INDEX
  • DROP ANY INDEX
  • ALTER ANY TABLE
  • SELECT ANY TABLE
  • INSERT ANY TABLE
  • UPDATE ANY TABLE
  • DELETE ANY TABLE

IBM Db2

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

  • DBADM
  • DATAACCESS

MySQL

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

  • CREATE
  • DROP
  • INDEX
  • ALTER
  • SELECT
  • INSERT
  • UPDATE
  • DELETE

PostgreSQL

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

  • SUPERUSER

MariaDB

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

  • CREATE
  • DROP
  • INDEX
  • ALTER
  • SELECT
  • INSERT
  • UPDATE
  • DELETE

SQL Server

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

  • db_ddladmin
  • db_datareader
  • db_datawriter

YugabyteDB

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

  • SUPERUSER

Amazon DynamoDB

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

Apache Cassandra

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

  • CREATE
  • DROP
  • ALTER
  • SELECT
  • MODIFY

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) がサポートされています。

.NET

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

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

その他の言語

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

データベース

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

必要なポート

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

  • 60053 (Administrative API / Transactional API / SQL API / ポーズ operation)
  • 8080 (GraphQL)
  • 9080 (メトリクス)

Kubernetes

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

プラットフォーム

パッケージマネージャー

Analytics

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

Spark

ScalarDB Analytics は、クエリエンジンに Apache Spark を使用します。以下のバージョンの Spark をサポートしています。

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

言語とランタイム

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

注記

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

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

注記

ScalarDB Analytics ライブラリは、さまざまな Spark 環境と統合できるように JDK 11 で構築されています。

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

データベース

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

ScalarDB

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

ScalarDB Analytics バージョンScalarDB Core バージョン
3.163.16
3.153.15
3.143.14

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

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

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

バージョンOracle Database 23ai
ScalarDB Analytics 3.16
ScalarDB Analytics 3.15
ScalarDB Analytics 3.14

NoSQL データベース

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

バージョンDynamoDB
ScalarDB Analytics 3.16
ScalarDB Analytics 3.15
ScalarDB Analytics 3.14

データベース権限要件

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

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

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

ScalarDB Analytics サーバーは、そのデータベース内のカタログ情報を管理するための権限も必要です。 データベース権限要件に従って権限を持つユーザーを作成し、そのユーザーを ScalarDB Analytics サーバー設定に設定してください。

必要なポート

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

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

Kubernetes

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

プラットフォーム

パッケージマネージャー