Skip to content

Commit

Permalink
AUTO: Docs repo sync - ScalarDL (#583)
Browse files Browse the repository at this point in the history
* AUTO: Sync ScalarDL docs in English to docs site repo

* Add new Requirements doc

---------

Co-authored-by: josh-wong <joshua.wong@scalar-labs.com>
Co-authored-by: Josh Wong <23216828+josh-wong@users.noreply.github.com>
  • Loading branch information
3 people authored Nov 13, 2024
1 parent ee50c1f commit 8d964d0
Show file tree
Hide file tree
Showing 2 changed files with 182 additions and 0 deletions.
181 changes: 181 additions & 0 deletions docs/requirements.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
# Requirements

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

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](getting-started.mdx#download-the-client-sdk).

### Java

The following Java Development Kits (JDKs) are verified and supported:

- **[Oracle JDK](https://www.oracle.com/java/):** 8, 11, 17, or 21 (LTS versions)
- **[OpenJDK](https://openjdk.org/) ([Eclipse Temurin](https://adoptium.net/temurin/), [Amazon Corretto](https://aws.amazon.com/corretto/), or [Microsoft Build of OpenJDK](https://learn.microsoft.com/en-us/java/openjdk/)):** 8, 11, 17, or 21 (LTS versions)

:::warning

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:

```gradle
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(8))
}
}
```

For more details about the Gradle and Maven configurations, see [Toolchains for JVM projects for Gradle](https://docs.gradle.org/current/userguide/toolchains.html) and [Guide to Using Toolchains for Maven](https://maven.apache.org/guides/mini/guide-using-toolchains.html).

:::

### 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

<Tabs groupId="RDBs" queryString>
<TabItem value="Oracle_Database" label="Oracle Database" default>

| Version | Oracle Database 23ai | Oracle Database 21c | Oracle Database 19c |
|:-----------------|:---------------------|:--------------------|:--------------------|
| **ScalarDL 3.9** ||||
| **ScalarDL 3.8** ||||

</TabItem>
<TabItem value="MySQL" label="MySQL">

| Version | MySQL 8.1 | MySQL 8.0 | MySQL 5.7 |
|:-----------------|:----------|:----------|:----------|
| **ScalarDL 3.9** ||||
| **ScalarDL 3.8** ||||

</TabItem>
<TabItem value="PostgreSQL" label="PostgreSQL">

| Version | PostgreSQL 15 | PostgreSQL 14 | PostgreSQL 13 | PostgreSQL 12 |
|:-----------------|:--------------|:--------------|:--------------|:--------------|
| **ScalarDL 3.9** |||||
| **ScalarDL 3.8** |||||

</TabItem>
<TabItem value="Amazon_Aurora_MySQL" label="Amazon Aurora MySQL">

| Version | Aurora MySQL 3 | Aurora MySQL 2 |
|:------------------|:----------------|:----------------|
| **ScalarDL 3.9** |||
| **ScalarDL 3.8** |||

</TabItem>
<TabItem value="Amazon_Aurora_PostgreSQL" label="Amazon Aurora PostgreSQL">

| Version | Aurora PostgreSQL 15 | Aurora PostgreSQL 14 | Aurora PostgreSQL 13 | Aurora PostgreSQL 12 |
|:------------------|:----------------------|:----------------------|:----------------------|:----------------------|
| **ScalarDL 3.9** |||||
| **ScalarDL 3.8** |||||

</TabItem>
<TabItem value="MariaDB" label="MariaDB">

| Version | MariaDB 11.4 | MariaDB 10.11 |
|:------------------|:--------------|:--------------|
| **ScalarDL 3.9** |||
| **ScalarDL 3.8** |||

</TabItem>
<TabItem value="SQL_Server" label="SQL Server">

| Version | SQL Server 2022 | SQL Server 2019 | SQL Server 2017 |
|:------------------|:-----------------|:-----------------|:-----------------|
| **ScalarDL 3.9** ||||
| **ScalarDL 3.8** ||||

</TabItem>
<TabItem value="SQLite" label="SQLite">

| Version | SQLite 3 |
|:-------------------------------------------|:----------|
| **ScalarDL 3.9** ||
| **ScalarDL 3.8.2 or later patch versions** ||
| **ScalarDL 3.8.0 - 3.8.1** ||

</TabItem>
<TabItem value="YugabyteDB" label="YugabyteDB">

| Version | YugabyteDB 2 |
|:------------------|:-------------|
| **ScalarDL 3.9** ||
| **ScalarDL 3.8** ||

</TabItem>
</Tabs>

### NoSQL databases

<Tabs groupId="NoSQL" queryString>
<TabItem value="Amazon_DynamoDB" label="Amazon DynamoDB" default>

| Version | DynamoDB |
|:------------------|:----------|
| **ScalarDL 3.9** ||
| **ScalarDL 3.8** ||

</TabItem>
<TabItem value="Apache_Cassandra" label="Apache Cassandra">

| Version | Cassandra 4.1 | Cassandra 4.0 | Cassandra 3.11 | Cassandra 3.0 |
|:------------------|:---------------|:---------------|:----------------|:---------------|
| **ScalarDL 3.9** |||||
| **ScalarDL 3.8** |||||

</TabItem>
<TabItem value="Azure_Cosmos_DB_for_NoSQL" label="Azure Cosmos DB for NoSQL">

| Version | Cosmos DB for NoSQL |
|:------------------|:---------------------|
| **ScalarDL 3.9** ||
| **ScalarDL 3.8** ||

</TabItem>
</Tabs>

:::note

ScalarDL uses ScalarDB to abstract underlying databases. For details on how to configure each database, see [Configurations for the Underlying Databases of ScalarDB](https://scalardb.scalar-labs.com/docs/latest/database-configurations).

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](https://scalardb.scalar-labs.com/docs/latest/requirements#databases/).
- 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](https://kubernetes.io/):** 1.27 - 1.31
- **[Amazon Elastic Kubernetes Service (EKS)](https://aws.amazon.com/eks/)**
- **[Azure Kubernetes Service (AKS)](https://azure.microsoft.com/en-us/products/kubernetes-service)**
- **[Red Hat OpenShift](https://www.redhat.com/en/technologies/cloud-computing/openshift):** TBD

### Package manager

- **[Helm](https://helm.sh/):** 3.5+

1 change: 1 addition & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ const sidebars = {
'overview',
'design',
'implementation',
'requirements',
'roadmap',
]
},
Expand Down

0 comments on commit 8d964d0

Please sign in to comment.