Skip to main content
Version: 3.15

Requirements

This page outlines the requirements for using each ScalarDB component, including the programming languages and their versions, supported databases and their versions, and the necessary configurations.

Core​

ScalarDB Core is a key component of ScalarDB, providing a database manager with an abstraction layer that abstracts underlying databases. For more information, see ScalarDB Design.

Languages and runtimes​

ScalarDB Core provides a Java client SDK for interacting with ScalarDB. It also includes tools, such as Schema Loader and Data Loader, which run on the Java Virtual Machine (JVM).

Java​

The ScalarDB Core library is available on the Maven Central Repository. You can add the library as a build dependency to your application by using Gradle or Maven. For more details, see Add ScalarDB to Your Build.

For building applications that integrate with the library, the following Java Development Kits (JDKs) are verified and supported.

Java Runtime Environments (JREs) of these JDKs are also supported for running the tools.

Databases​

ScalarDB runs on top of the following databases and their versions.

Relational databases​

VersionAurora MySQL 3Aurora MySQL 2
ScalarDB 3.15✅✅
ScalarDB 3.14✅✅

NewSQL databases​

VersionYugabyteDB 2
ScalarDB 3.15✅
ScalarDB 3.14✅

NoSQL databases​

VersionDynamoDB
ScalarDB 3.15✅
ScalarDB 3.14✅
note

For details on how to configure each database, see Configurations for the Underlying Databases of ScalarDB.

Database permission requirements​

ScalarDB requires specific permissions to perform its operations on the underlying databases.

note

ScalarDB assumes that the same underlying database user account is used for all administrative and CRUD operations.

Relational databases​

This section describes the permission requirements for relational databases.

If you're using MariaDB, the following privileges must be granted.

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

NewSQL databases​

This section describes the permission requirements for NewSQL databases.

If you're using YugabyteDB, the following database privilege must be granted.

  • CREATE

NoSQL databases​

This section describes the permission requirements for NoSQL databases.

If you're using Amazon DynamoDB, the following actions must be granted.

  • 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

Cluster​

ScalarDB Cluster is a component that provides a clustering solution for the Core component to work as a clustered server. For more information, see ScalarDB Design.

Languages and runtimes​

ScalarDB Cluster provides Java and .NET client SDKs that wrap gRPC-generated clients for ease of use.

Java​

The Java client SDK for ScalarDB Cluster is available on the Maven Central Repository. You can add the library as a build dependency to your application by using Gradle or Maven. For more details, see Add ScalarDB Cluster Java Client SDK to your build.

For building applications that integrate with the library, the following Java Development Kits (JDKs) are verified and supported:

.NET​

The .NET client SDK for ScalarDB Cluster is available as a NuGet package. For more details, see Install the SDK.

For building applications that integrate with the library, the following .NET versions are verified and supported:

Other languages​

Since ScalarDB Cluster uses gRPC, you can also create your own client in your preferred language by using the generated clients from the proto file. If you need the proto file, please contact support.

Databases​

Since ScalarDB Cluster uses Core to interact with databases, the requirements for databases are the same as those for Core. For more information, see Databases.

Required ports​

ScalarDB Cluster requires the following ports to be accessible. These default port numbers can be configured as needed:

  • 60053 (Administrative API / Transactional API / SQL API / pause operation)
  • 8080 (GraphQL)
  • 9080 (metrics)

Kubernetes​

ScalarDB Cluster is provided as a cluster consisting of one or more Pods on the Kubernetes platform in production environments. ScalarDB Cluster supports the following platforms and tools.

Platform​

Package manager​

Analytics​

ScalarDB Analytics is a component that provides scalable analytical processing for the data managed by the Core component or managed by applications that don't use ScalarDB. For more information, see ScalarDB Design.

Spark​

ScalarDB Analytics uses Apache Spark for the query engine. It supports the following versions of Spark.

ScalarDB Analytics VersionSpark VersionsScala Versions
3.153.5, 3.42.13, 2.12
3.143.5, 3.42.13, 2.12

Languages and runtimes​

ScalarDB Analytics provides a Java library for running federated queries on Spark. It also provides a tool called ScalarDB Analytics CLI, which runs on the Java Virtual Machine (JVM).

note

Since Spark and Scala may be incompatible among different minor versions, the library offers different artifacts for various Spark and Scala versions, named in the format scalardb-analytics-spark-all-<SPARK_VERSION>_<SCALA_VERSION>. Make sure that you select the artifact matching the Spark and Scala versions you're using. For example, if you're using Spark 3.5 with Scala 2.13, you must specify scalardb-analytics-spark-all-3.5_2.13.

Java​

The library is available on the Maven Central Repository. You need to specify the library when setting up Spark. For more details, see Set up ScalarDB Analytics in the Spark configuration.

note

The ScalarDB Analytics library is built with JDK 11 to be able to be integrated with various Spark environments.

For running ScalarDB Analytics CLI, the following JREs are verified and supported:

Databases​

ScalarDB Analytics runs on top of the following databases and their versions.

ScalarDB​

ScalarDB Analytics can run analytical queries on the databases managed by ScalarDB Core and Cluster. It uses the ScalarDB Core library of the same version to interact with these databases, as shown below.

ScalarDB Analytics versionScalarDB Core version
3.153.15
3.143.14

For the supported databases and their versions, see Databases.

Relational databases​

ScalarDB Analytics can run analytical queries on the following relational databases not managed by ScalarDB Core and Cluster.

VersionOracle Database 23ai
ScalarDB Analytics 3.15✅
ScalarDB Analytics 3.14✅

NoSQL databases​

ScalarDB Analytics can run analytical queries on the following NoSQL databases not managed by ScalarDB Core and Cluster.

VersionDynamoDB
ScalarDB Analytics 3.15✅
ScalarDB Analytics 3.14✅

Database permission requirements​

ScalarDB Analytics requires read permissions to perform its operations on the underlying databases.

For databases managed under ScalarDB Core and Cluster, the databases are already configured according to Database permission requirements, so no additional configuration is required.

For databases not managed under ScalarDB Core and Cluster, make sure you register your data sources with users who have read permission on the data sources. For instructions on registering your data sources, see Data source configurations.

The ScalarDB Analytics server also requires permissions to manage catalog information in its database. Create a user with permission according to Database permission requirements and set the user to the ScalarDB Analytics server configuration.

Required ports​

ScalarDB Analytics requires the following ports to be accessible. These default port numbers can be configured as needed:

  • 11051 (catalog service)
  • 11052 (metering service)
  • The port number that Apache Spark uses depends on how you deploy the Spark cluster. For details on which ports you need to make accessible, please refer to your Spark service provider's documentation.

Kubernetes​

The server component of ScalarDB Analytics (ScalarDB Analytics server) is provided as a Pod on the Kubernetes platform in production environments. ScalarDB Analytics supports the following platforms and tools.

Platform​

Package manager​