Skip to main content
Version: 3.13

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

VersionOracle 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 databases

VersionDynamoDB
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
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.

Oracle Database

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

  • 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

If you're using Db2, the following authorities must be granted.

  • DBADM
  • DATAACCESS

MySQL

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

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

PostgreSQL

If you're using PostgreSQL, the following database role must be granted.

  • SUPERUSER

MariaDB

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

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

SQL Server

If you're using SQL Server, the following database roles must be granted.

  • db_ddladmin
  • db_datareader
  • db_datawriter

YugabyteDB

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

  • SUPERUSER

Amazon DynamoDB

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

Apache Cassandra

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

  • CREATE
  • DROP
  • ALTER
  • SELECT
  • MODIFY

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