tags | displayed_sidebar | |||
---|---|---|---|---|
|
docsEnglish |
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';
This guide explains how to run non-transactional storage operations through the ScalarDB Core library.
For the purpose of this guide, you will set up a database and ScalarDB by using a sample in the ScalarDB samples repository.
Open Terminal, then clone the ScalarDB samples repository by running the following command:
git clone https://github.com/scalar-labs/scalardb-samples
Then, go to the directory that contains the necessary files by running the following command:
cd scalardb-samples/scalardb-sample
Select your database, and follow the instructions to configure it for ScalarDB.
For a list of databases that ScalarDB supports, see Databases.
You can run MySQL in Docker Compose by using the `docker-compose.yml` file in the `scalardb-samples/scalardb-sample` directory.
To start MySQL, run the following command:
```console
docker compose up -d mysql
```
<h3>Configure ScalarDB</h3>
The **database.properties** file in the `scalardb-samples/scalardb-sample` directory contains database configurations for ScalarDB. Please uncomment the properties for MySQL in the **database.properties** file so that the configuration looks as follows:
```properties
# For MySQL
scalar.db.storage=jdbc
scalar.db.contact_points=jdbc:mysql://localhost:3306/
scalar.db.username=root
scalar.db.password=mysql
```
You can run PostgreSQL in Docker Compose by using the `docker-compose.yml` file in the `scalardb-samples/scalardb-sample` directory.
To start PostgreSQL, run the following command:
```console
docker compose up -d postgres
```
<h3>Configure ScalarDB</h3>
The **database.properties** file in the `scalardb-samples/scalardb-sample` directory contains database configurations for ScalarDB. Please uncomment the properties for PostgreSQL in the **database.properties** file so that the configuration looks as follows:
```properties
# For PostgreSQL
scalar.db.storage=jdbc
scalar.db.contact_points=jdbc:postgresql://localhost:5432/
scalar.db.username=postgres
scalar.db.password=postgres
```
You can run Oracle Database in Docker Compose by using the `docker-compose.yml` file in the `scalardb-samples/scalardb-sample` directory.
To start Oracle Database, run the following command:
```console
docker compose up -d oracle
```
<h3>Configure ScalarDB</h3>
The **database.properties** file in the `scalardb-samples/scalardb-sample` directory contains database configurations for ScalarDB. Please uncomment the properties for Oracle Database in the **database.properties** file so that the configuration looks as follows:
```properties
# For Oracle
scalar.db.storage=jdbc
scalar.db.contact_points=jdbc:oracle:thin:@//localhost:1521/FREEPDB1
scalar.db.username=SYSTEM
scalar.db.password=Oracle
```
You can run SQL Server in Docker Compose by using the `docker-compose.yml` file in the `scalardb-samples/scalardb-sample` directory.
To start SQL Server, run the following command:
```console
docker compose up -d sqlserver
```
<h3>Configure ScalarDB</h3>
The **database.properties** file in the `scalardb-samples/scalardb-sample` directory contains database configurations for ScalarDB. Please uncomment the properties for SQL Server in the **database.properties** file so that the configuration looks as follows:
```properties
# For SQL Server
scalar.db.storage=jdbc
scalar.db.contact_points=jdbc:sqlserver://localhost:1433;encrypt=true;trustServerCertificate=true
scalar.db.username=sa
scalar.db.password=SqlServer22
```
You can run Amazon DynamoDB Local in Docker Compose by using the `docker-compose.yml` file in the `scalardb-samples/scalardb-sample` directory.
To start Amazon DynamoDB Local, run the following command:
```console
docker compose up -d dynamodb
```
<h3>Configure ScalarDB</h3>
The **database.properties** file in the `scalardb-samples/scalardb-sample` directory contains database configurations for ScalarDB. Please uncomment the properties for Amazon DynamoDB Local in the **database.properties** file so that the configuration looks as follows:
```properties
# For DynamoDB Local
scalar.db.storage=dynamo
scalar.db.contact_points=sample
scalar.db.username=sample
scalar.db.password=sample
scalar.db.dynamo.endpoint_override=http://localhost:8000
```
<h3>Configure Cosmos DB for NoSQL</h3>
Set the **default consistency level** to **Strong** according to the official document at [Configure the default consistency level](https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/how-to-manage-consistency#configure-the-default-consistency-level).
<h3>Configure ScalarDB</h3>
The following instructions assume that you have properly installed and configured the JDK in your local environment and properly configured your Cosmos DB for NoSQL account in Azure.
The **database.properties** file in the `scalardb-samples/scalardb-sample` directory contains database configurations for ScalarDB. Be sure to change the values for `scalar.db.contact_points` and `scalar.db.password` as described.
```properties
# For Cosmos DB
scalar.db.storage=cosmos
scalar.db.contact_points=<COSMOS_DB_FOR_NOSQL_URI>
scalar.db.password=<COSMOS_DB_FOR_NOSQL_KEY>
```
:::note
You can use the primary key or the secondary key in your Azure Cosmos DB account as the value for scalar.db.password
.
:::
You can run Apache Cassandra in Docker Compose by using the `docker-compose.yml` file in the `scalardb-samples/scalardb-sample` directory.
To start Apache Cassandra, run the following command:
```console
docker compose up -d cassandra
```
<h3>Configure ScalarDB</h3>
The **database.properties** file in the `scalardb-samples/scalardb-sample` directory contains database configurations for ScalarDB. Please uncomment the properties for Cassandra in the **database.properties** file so that the configuration looks as follows:
```properties
# For Cassandra
scalar.db.storage=cassandra
scalar.db.contact_points=localhost
scalar.db.username=cassandra
scalar.db.password=cassandra
```
For a comprehensive list of configurations for ScalarDB, see ScalarDB Configurations.
To run non-transactional storage operations, you need to configure the scalar.db.transaction_manager
property to single-crud-operation
in the configuration file database.properties:
scalar.db.transaction_manager=single-crud-operation
ScalarDB has its own data model and schema that maps to the implementation-specific data model and schema.
- Need to create a database schema? See ScalarDB Schema Loader.
- Need to import an existing database? See Importing Existing Tables to ScalarDB by Using ScalarDB Schema Loader.
This section describes how to add the ScalarDB Core library to your project and how to configure it to run non-transactional storage operations by using Java.
The ScalarDB 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.
Select your build tool, and follow the instructions to add the build dependency for ScalarDB to your application.
To add the build dependency for ScalarDB by using Gradle, add the following to `build.gradle` in your application:```gradle
dependencies {
implementation 'com.scalar-labs:scalardb:3.13.2'
}
```
```xml
<dependency>
<groupId>com.scalar-labs</groupId>
<artifactId>scalardb</artifactId>
<version>3.13.2</version>
</dependency>
```
For details about the Java API, see ScalarDB Java API Guide.
:::note
The following limitations apply to non-transactional storage operations:
- Beginning a transaction is not supported. For more details, see Execute transactions without beginning or starting a transaction.
- Executing multiple mutations in a single transaction is not supported.
:::