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) がサポートされています。
- Oracle JDK: 8、11、17、または 21 (LTS バージョン)
- OpenJDK (Eclipse Temurin、Amazon Corretto、または Microsoft Build of OpenJDK): 8、11、17、または 21 (LTS バージョン)
これらの JDK の Java Runtime Environment (JRE) も、ツールの実行でサポートされています 。
データベース
ScalarDB は、以下のデータベースとそのバージョン上で動作します。
リレーショナルデータベース
- Oracle Database
- IBM Db2
- MySQL
- PostgreSQL
- Amazon Aurora MySQL
- Amazon Aurora PostgreSQL
- MariaDB
- SQL Server
- SQLite
- YugabyteDB
| バージョン | Oracle Database 23ai | Oracle Database 21c | Oracle 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 | ✅ | ✅ | ✅ |
| バージョン | Db2 12.1 | Db2 11.5 |
|---|---|---|
| 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 | ❌ | ❌ |
Db2 は Linux、UNIX、Windows 版のみがサポートされています。z/OS 版は現在サポートされていません。
| バージョン | MySQL 8.4 | MySQL 8.0 |
|---|---|---|
| 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 | ✅ | ✅ |
| バージョン | PostgreSQL 17 | PostgreSQL 16 | PostgreSQL 15 | PostgreSQL 14 | PostgreSQL 13 |
|---|---|---|---|---|---|
| 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 | ✅ | ✅ | ✅ | ✅ | ✅ |
| バージョン | Aurora MySQL 3 | Aurora MySQL 2 |
|---|---|---|
| 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 | ✅ | ✅ |
| バージョン | Aurora PostgreSQL 17 | Aurora PostgreSQL 16 | Aurora PostgreSQL 15 | Aurora PostgreSQL 14 | Aurora PostgreSQL 13 |
|---|---|---|---|---|---|
| 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 | ✅ | ✅ | ✅ | ✅ | ✅ |
| バージョン | MariaDB 11.4 | MariaDB 10.11 |
|---|---|---|
| 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 | ✅ | ✅ |
| バージョン | SQL Server 2022 | SQL Server 2019 | SQL Server 2017 |
|---|---|---|---|
| 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 | ✅ | ✅ | ✅ |
| バージョン | SQLite 3 |
|---|---|
| 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 | ❌ |
| バージョン | YugabyteDB 2 |
|---|---|
| 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 データベース
- Amazon DynamoDB
- Apache Cassandra
- Azure Cosmos DB for 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 | ✅ |
| バージョン | Cassandra 4.1 | Cassandra 4.0 | Cassandra 3.11 | Cassandra 3.0 |
|---|---|---|---|---|
| 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 | ❌ | ❌ | ✅ | ✅ |
| バージョン | Cosmos DB for NoSQL |
|---|---|
| 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 を使用している場合、以下の権限を付与する必要があります。
- Oracle Database 23ai
- Oracle Database 21c
- Oracle Database 19c
CREATE SESSIONCREATE USERDROP USERALTER USERCREATE ANY TABLEDROP ANY TABLECREATE ANY INDEXDROP ANY INDEXALTER ANY TABLESELECT ANY TABLEINSERT ANY TABLEUPDATE ANY TABLEDELETE ANY TABLE
CREATE SESSIONCREATE USERDROP USERALTER USERCREATE ANY TABLEDROP ANY TABLECREATE ANY INDEXDROP ANY INDEXALTER ANY TABLESELECT ANY TABLEINSERT ANY TABLEUPDATE ANY TABLEDELETE ANY TABLE
CREATE SESSIONCREATE USERDROP USERALTER USERCREATE ANY TABLEDROP ANY TABLECREATE ANY INDEXDROP ANY INDEXALTER ANY TABLESELECT ANY TABLEINSERT ANY TABLEUPDATE ANY TABLEDELETE ANY TABLE
IBM Db2
Db2 を使用している場合、以下の権限を付与する必要があります。
- Db2 12.1
- Db2 11.5
DBADMDATAACCESS
DBADMDATAACCESS
MySQL
MySQL を使用している場合、以下の権限を付与する必要があります。
- MySQL 8.4
- MySQL 8.0
CREATEDROPINDEXALTERSELECTINSERTUPDATEDELETE
CREATEDROPINDEXALTERSELECTINSERTUPDATEDELETE
PostgreSQL
PostgreSQL を使用している場合、以下のデータベースロールを付与する必要があります。
- PostgreSQL 17
- PostgreSQL 16
- PostgreSQL 15
- PostgreSQL 14
- PostgreSQL 13
SUPERUSER
SUPERUSER
SUPERUSER
SUPERUSER
SUPERUSER
MariaDB
MariaDB を使用している場合、以下の権限を付与する必要があります。
- MariaDB 11.4
- MariaDB 10.11
CREATEDROPINDEXALTERSELECTINSERTUPDATEDELETE
CREATEDROPINDEXALTERSELECTINSERTUPDATEDELETE
SQL Server
SQL Server を使用している場合、以下のデータベースロールを付与する必要があります。
- SQL Server 2022
- SQL Server 2019
- SQL Server 2017
db_ddladmindb_datareaderdb_datawriter
db_ddladmindb_datareaderdb_datawriter
db_ddladmindb_datareaderdb_datawriter
YugabyteDB
YugabyteDB を使用している場合、以下のデータベースロールを付与する必要があります。
SUPERUSER
Amazon DynamoDB
Amazon DynamoDB を使用している場合、以下のアクションを付与する必要があります。
dynamodb:ConditionCheckItemdynamodb:PutItemdynamodb:ListTablesdynamodb:DeleteItemdynamodb:Scandynamodb:Querydynamodb:UpdateItemdynamodb:DeleteTabledynamodb:UpdateContinuousBackupsdynamodb:CreateTabledynamodb:DescribeTabledynamodb:GetItemdynamodb:DescribeContinuousBackupsdynamodb:UpdateTableapplication-autoscaling:RegisterScalableTargetapplication-autoscaling:DeleteScalingPolicyapplication-autoscaling:PutScalingPolicyapplication-autoscaling:DeregisterScalableTargetapplication-autoscaling:TagResource
Apache Cassandra
Apache Cassandra を使用している場合、以下の権限を付与する必要があります。
- Cassandra 3.11
- Cassandra 3.0
CREATEDROPALTERSELECTMODIFY
CREATEDROPALTERSELECTMODIFY
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) がサポートされています。
- Oracle JDK: 8、11、17、または 21 (LTS バージョン)
- OpenJDK (Eclipse Temurin、Amazon Corretto、または Microsoft Build of OpenJDK): 8、11、17、または 21 (LTS バージョン)
.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 は以下のプラットフォームとツールをサポートしています。
プラットフォーム
- Kubernetes: 1.31 - 1.34
- Red Hat OpenShift: TBD
パッケージマネージャー
- Helm: 3.5+
Analytics
ScalarDB Analytics は、Core コンポーネントによって管理されるデータ、または ScalarDB を使用していないアプリケーションによって管理されるデータに対して、スケーラブルな分析処理を提供するコンポーネントです。詳細については、ScalarDB 設計を参照してください。
Spark
ScalarDB Analytics は、クエリエンジンに Apache Spark を使用します。以下のバージョンの Spark をサポートしています。
| ScalarDB Analytics バージョン | Spark バージョン | Scala バージョン |
|---|---|---|
| 3.16 | 3.5、3.4 | 2.13 、2.12 |
| 3.15 | 3.5、3.4 | 2.13、2.12 |
| 3.14 | 3.5、3.4 | 2.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.16 | 3.16 |
| 3.15 | 3.15 |
| 3.14 | 3.14 |
サポートされているデータベースとそのバージョンについては、デ ータベースを参照してください。
リレーショナルデータベース
ScalarDB Analytics は、ScalarDB Core および Cluster によって管理されていない以下のリレーショナルデータベース上で分析クエリを実行できます。
- Oracle Database
- MySQL
- PostgreSQL
- SQL Server
| バージョン | Oracle Database 23ai |
|---|---|
| ScalarDB Analytics 3.16 | ✅ |
| ScalarDB Analytics 3.15 | ✅ |
| ScalarDB Analytics 3.14 | ✅ |
| バージョン | MySQL 8.0 |
|---|---|
| ScalarDB Analytics 3.16 | ✅ |
| ScalarDB Analytics 3.15 | ✅ |
| ScalarDB Analytics 3.14 | ✅ |
| バージョン | PostgreSQL 16 |
|---|---|
| ScalarDB Analytics 3.16 | ✅ |
| ScalarDB Analytics 3.15 | ✅ |
| ScalarDB Analytics 3.14 | ✅ |
| バージョン | SQL Server 2019 |
|---|---|
| ScalarDB Analytics 3.16 | ✅ |
| ScalarDB Analytics 3.15 | ✅ |
| ScalarDB Analytics 3.14 | ✅ |
NoSQL データベース
ScalarDB Analytics は、ScalarDB Core および Cluster によって管理されていない以下の NoSQL データベース上で分析クエリを実行できます。
- Amazon DynamoDB
| バージョン | DynamoDB |
|---|---|
| ScalarDB Analytics 3.16 | ✅ |
| ScalarDB Analytics 3.15 | ✅ |
| ScalarDB Analytics 3.14 | ✅ |
分析プラットフォーム
ScalarDB Analytics は、ScalarDB Core および Cluster によって管理されていない以下の分析プラットフォーム上で分析クエリを実行できます。
- Databricks
- Snowflake
| バージョン | Databricks |
|---|---|
| ScalarDB Analytics 3.16 | ✅ |
| ScalarDB Analytics 3.15 | ❌ |
| ScalarDB Analytics 3.14 | ❌ |
| バージョン | Snowflake |
|---|---|
| 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 は以下のプラットフォームとツールをサポートしています。
プラットフォーム
- Kubernetes: 1.31 - 1.34
- Red Hat OpenShift: TBD
パッケージマネージャー
- Helm: 3.5+