Requirements
This page describes the required tools and their versions to use ScalarDL correctly.
Client SDK
Because ScalarDL is written in Java, the easiest way to interact with ScalarDL is to use the Java client SDK.
Java
The following Java Development Kits (JDKs) are verified and supported:
- Oracle JDK: 8, 11, 17, or 21 (LTS versions)
- OpenJDK (Eclipse Temurin, Amazon Corretto, or Microsoft Build of OpenJDK): 8, 11, 17, or 21 (LTS versions)
Since ScalarDL is built with JDK 8, contracts must be a JDK 8–compatible binary. If you use a version other than JDK 8, you must configure your build tool to build the JDK 8–compatible binary. There are several ways to specify binary compatibility, including using the --release 8
option for javac or setting Gradle or Maven configurations to use the JDK 8 toolchain. The following shows the configuration for Gradle:
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(8))
}
}
For more details about the Gradle and Maven configurations, see Toolchains for JVM projects for Gradle and Guide to Using Toolchains for Maven.
Other languages
ScalarDL uses gRPC, so you can create your own client by using the generated clients of your preferred languages.
Databases
ScalarDL is middleware that runs on top of the following databases and their versions.
Relational databases
- Oracle Database
- MySQL
- PostgreSQL
- Amazon Aurora MySQL
- Amazon Aurora PostgreSQL
- MariaDB
- SQL Server
- SQLite
- YugabyteDB
Version | Oracle Database 23ai | Oracle Database 21c | Oracle Database 19c |
---|---|---|---|
ScalarDL 3.9 | ✅ | ✅ | ✅ |
ScalarDL 3.8 | ✅ | ✅ | ✅ |
Version | MySQL 8.1 | MySQL 8.0 | MySQL 5.7 |
---|---|---|---|
ScalarDL 3.9 | ✅ | ✅ | ✅ |
ScalarDL 3.8 | ✅ | ✅ | ✅ |
Version | PostgreSQL 15 | PostgreSQL 14 | PostgreSQL 13 | PostgreSQL 12 |
---|---|---|---|---|
ScalarDL 3.9 | ✅ | ✅ | ✅ | ✅ |
ScalarDL 3.8 | ✅ | ✅ | ✅ | ✅ |
Version | Aurora MySQL 3 | Aurora MySQL 2 |
---|---|---|
ScalarDL 3.9 | ✅ | ✅ |
ScalarDL 3.8 | ✅ | ✅ |
Version | Aurora PostgreSQL 15 | Aurora PostgreSQL 14 | Aurora PostgreSQL 13 | Aurora PostgreSQL 12 |
---|---|---|---|---|
ScalarDL 3.9 | ✅ | ✅ | ✅ | ✅ |
ScalarDL 3.8 | ✅ | ✅ | ✅ | ✅ |
Version | MariaDB 11.4 | MariaDB 10.11 |
---|---|---|
ScalarDL 3.9 | ✅ | ✅ |
ScalarDL 3.8 | ✅ | ✅ |
Version | SQL Server 2022 | SQL Server 2019 | SQL Server 2017 |
---|---|---|---|
ScalarDL 3.9 | ✅ | ✅ | ✅ |
ScalarDL 3.8 | ✅ | ✅ | ✅ |
Version | SQLite 3 |
---|---|
ScalarDL 3.9 | ✅ |
ScalarDL 3.8.2 or later patch versions | ✅ |
ScalarDL 3.8.0 - 3.8.1 | ❌ |
Version | YugabyteDB 2 |
---|---|
ScalarDL 3.9 | ❌ |
ScalarDL 3.8 | ❌ |
NoSQL databases
- Amazon DynamoDB
- Apache Cassandra
- Azure Cosmos DB for NoSQL
Version | DynamoDB |
---|---|
ScalarDL 3.9 | ✅ |
ScalarDL 3.8 | ✅ |
Version | Cassandra 4.1 | Cassandra 4.0 | Cassandra 3.11 | Cassandra 3.0 |
---|---|---|---|---|
ScalarDL 3.9 | ❌ | ❌ | ✅ | ✅ |
ScalarDL 3.8 | ❌ | ❌ | ✅ | ✅ |
Version | Cosmos DB for NoSQL |
---|---|
ScalarDL 3.9 | ✅ |
ScalarDL 3.8 | ✅ |
ScalarDL uses ScalarDB to abstract underlying databases. For details on how to configure each database, see Configurations for the Underlying Databases of ScalarDB.
The following list shows the versions of ScalarDB used in ScalarDL internally. This version list will help you if:
- You want to know what available backend databases you can use in ScalarDL. For details about which backend databases are supported and can be used in ScalarDL based on the version of ScalarDB, see the list of databases that ScalarDB supports.
- You want to know what ScalarDB APIs are available for the
Function
feature in ScalarDL.
ScalarDL version | ScalarDB version |
---|---|
3.9 | 3.12 |
3.8.2 or later patch versions | 3.12 |
3.8.0 - 3.8.1 | 3.8 |
Kubernetes
ScalarDL is provided as a Pod on the Kubernetes platform in production environments. ScalarDL supports the following platforms and tools.
Platform
- Kubernetes: 1.27 - 1.31
- Red Hat OpenShift: TBD
Package manager
- Helm: 3.5+