Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AUTO: Docs repo sync - ScalarDL #581

Merged
merged 1 commit into from
Nov 13, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
# 要件

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import TranslationBanner from '/src/components/_translation-ja-jp.mdx';

<TranslationBanner />

このページでは、ScalarDL を正しく使用するために必要なツールとそのバージョンについて説明します。

## クライアント SDK

ScalarDL は Java で記述されているため、ScalarDL を操作する最も簡単な方法は、[Java クライアント SDK](getting-started.mdx#クライアント-sdk-をダウンロードする) を使用することです。

### Java

次の Java Software Development (JDK) が検証され、サポートされています。

- **[Oracle JDK](https://www.oracle.com/java/):** 8、11、17、または 21 (LTS バージョン)
- **[OpenJDK](https://openjdk.org/) ([Eclipse Temurin](https://adoptium.net/temurin/)、[Amazon Corretto](https://aws.amazon.com/corretto/)、または [Microsoft Build of OpenJDK](https://learn.microsoft.com/en-us/java/openjdk/)):** 8、11、17、または 21 (LTS バージョン)

:::warning

ScalarDL は JDK 8 でビルドされているため、コントラクトは JDK 8 互換バイナリである必要があります。JDK 8 以外のバージョンを使用する場合は、ビルドツールを設定して JDK 8 互換バイナリをビルドする必要があります。バイナリ互換性を指定するには、javac の `--release 8` オプションを使用するか、Gradle または Maven 構成を設定して JDK 8 ツールチェーンを使用するなど、いくつかの方法があります。次に、Gradle の構成を示します。

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

Gradle および Maven の構成の詳細については、[Gradle の JVM プロジェクトのツールチェーン](https://docs.gradle.org/current/userguide/toolchains.html)および [Maven のツールチェーンの使用ガイド](https://maven.apache.org/guides/mini/guide-using-toolchains.html)を参照してください。

:::

### その他の言語

ScalarDL は gRPC を使用するため、好みの言語で生成されたクライアントを使用して独自のクライアントを作成できます。

## データベース

ScalarDL は、次のデータベースとそのバージョン上で実行されるミドルウェアです。

### リレーショナルデータベース

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

| バージョン | Oracle Database 23ai | Oracle Database 21c | Oracle Database 19c |
|:-----------------|:---------------------|:--------------------|:--------------------|
| **ScalarDL 3.9** | ✅ | ✅ | ✅ |
| **ScalarDL 3.8** | ✅ | ✅ | ✅ |

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

| バージョン | MySQL 8.1 | MySQL 8.0 | MySQL 5.7 |
|:-----------------|:----------|:----------|:----------|
| **ScalarDL 3.9** | ✅ | ✅ | ✅ |
| **ScalarDL 3.8** | ✅ | ✅ | ✅ |

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

| バージョン | PostgreSQL 15 | PostgreSQL 14 | PostgreSQL 13 | PostgreSQL 12 |
|:-----------------|:--------------|:--------------|:--------------|:--------------|
| **ScalarDL 3.9** | ✅ | ✅ | ✅ | ✅ |
| **ScalarDL 3.8** | ✅ | ✅ | ✅ | ✅ |

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

| バージョン | Aurora MySQL 3 | Aurora MySQL 2 |
|:------------------|:----------------|:----------------|
| **ScalarDL 3.9** | ✅ | ✅ |
| **ScalarDL 3.8** | ✅ | ✅ |

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

| バージョン | Aurora PostgreSQL 15 | Aurora PostgreSQL 14 | Aurora PostgreSQL 13 | Aurora PostgreSQL 12 |
|:------------------|:----------------------|:----------------------|:----------------------|:----------------------|
| **ScalarDL 3.9** | ✅ | ✅ | ✅ | ✅ |
| **ScalarDL 3.8** | ✅ | ✅ | ✅ | ✅ |

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

| バージョン | MariaDB 11.4 | MariaDB 10.11 |
|:------------------|:--------------|:--------------|
| **ScalarDL 3.9** | ✅ | ✅ |
| **ScalarDL 3.8** | ✅ | ✅ |

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

| バージョン | SQL Server 2022 | SQL Server 2019 | SQL Server 2017 |
|:------------------|:-----------------|:-----------------|:-----------------|
| **ScalarDL 3.9** | ✅ | ✅ | ✅ |
| **ScalarDL 3.8** | ✅ | ✅ | ✅ |

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

| バージョン | SQLite 3 |
|:---------------------------------------|:----------|
| **ScalarDL 3.9** | ✅ |
| **ScalarDL 3.8.2 以降のパッチバージョン** | ✅ |
| **ScalarDL 3.8.0 - 3.8.1** | ❌ |

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

| バージョン | YugabyteDB 2 |
|:------------------|:-------------|
| **ScalarDL 3.9** | ❌ |
| **ScalarDL 3.8** | ❌ |

</TabItem>
</Tabs>

### NoSQL データベース

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

| バージョン | DynamoDB |
|:------------------|:----------|
| **ScalarDL 3.9** | ✅ |
| **ScalarDL 3.8** | ✅ |

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

| バージョン | 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">

| バージョン | Cosmos DB for NoSQL |
|:------------------|:---------------------|
| **ScalarDL 3.9** | ✅ |
| **ScalarDL 3.8** | ✅ |

</TabItem>
</Tabs>

:::note

ScalarDL は、基盤となるデータベースを抽象化するために ScalarDB を使用します。各データベースの構成方法の詳細については、[ScalarDB の基盤となるデータベースの構成](https://scalardb.scalar-labs.com/docs/latest/database-configurations)を参照してください。

次のリストは、ScalarDL で内部的に使用されている ScalarDB のバージョンを示しています。このバージョンリストは、次の場合に役立ちます。

- ScalarDL で使用できる利用可能なバックエンドデータベースを知りたい場合。ScalarDL で使用できるバックエンドデータベースは ScalarDB のバージョンによって異なります。詳細については、[ScalarDB がサポートするデータベースのリスト](https://scalardb.scalar-labs.com/docs/latest/requirements#databases/)を参照してください。
- ScalarDL の `Function` 機能で使用できる ScalarDB API を知りたい場合。

| ScalarDL バージョン | ScalarDB バージョン |
|:--------------------------|:------------------|
| 3.9 | 3.12 |
| 3.8.2 以降のパッチバージョン | 3.12 |
| 3.8.0 - 3.8.1 | 3.8 |

:::

## Kubernetes

ScalarDL は、本番環境の Kubernetes プラットフォーム上の Pod として提供されます。ScalarDL は次のプラットフォームとツールをサポートしています。

### プラットフォーム

- **[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

### パッケージマネージャー

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