33 - Community
44 - Enterprise Standard
55 - Enterprise Premium
6+ displayed_sidebar : docsJapanese
67---
78
89# ScalarDB Java API ガイド
@@ -46,7 +47,7 @@ admin.close();
4647
4748### 名前空間を作成する
4849
49- テーブルは 1 つの名前空間に属するため 、テーブルを作成する前に名前空間を作成する必要があります。
50+ テーブルは1つの名前空間に属するため 、テーブルを作成する前に名前空間を作成する必要があります。
5051
5152名前空間は次のように作成できます。
5253
@@ -404,7 +405,7 @@ DistributedTransaction transaction = transactionManager.start("<TRANSACTION_ID>"
404405
405406トランザクション ID を指定すると、外部システムを ScalarDB にリンクする場合に便利です。それ以外の場合は、` begin() ` メソッドまたは ` start() ` メソッドを使用する必要があります。
406407
407- トランザクション ID を指定する場合は、ScalarDB の正確性はトランザクション ID の一意性に依存するため、システム全体で一意の ID (UUID v4 など ) を指定してください。
408+ トランザクション ID を指定する場合は、ScalarDB の正確性はトランザクション ID の一意性に依存するため、システム全体で一意の ID (UUID v4など ) を指定してください。
408409
409410:::
410411
@@ -480,7 +481,7 @@ Key key3 = Key.ofDouble("col1", 1.3d);
480481Key key4 = Key . ofText(" col1" , " value" );
481482```
482483
483- 2~5 列で設定されるキーの場合は 、` Key.of() ` メソッドを使用して次のようにキーを構築できます。Guava の ` ImmutableMap.of() ` と同様に、列名と値を順番に指定する必要があります。
484+ 2~5列で設定されるキーの場合は 、` Key.of() ` メソッドを使用して次のようにキーを構築できます。Guava の ` ImmutableMap.of() ` と同様に、列名と値を順番に指定する必要があります。
484485
485486``` java
486487// For a key that consists of two to five columns.
@@ -490,7 +491,7 @@ Key key3 = Key.of("col1", 1, "col2", 100L, "col3", 1.3d, "col4", "value");
490491Key key4 = Key . of(" col1" , 1 , " col2" , 100L , " col3" , 1.3d , " col4" , " value" , " col5" , false );
491492```
492493
493- 5 列を超えるキーの場合は 、ビルダーを使用して次のようにキーを構築できます。
494+ 5列を超えるキーの場合は 、ビルダーを使用して次のようにキーを構築できます。
494495
495496``` java
496497// For a key that consists of more than five columns.
@@ -506,7 +507,7 @@ Key key = Key.newBuilder()
506507
507508##### ` Get ` 操作
508509
509- ` Get ` は、プライマリーキーで指定された単一のレコードを取得する操作です 。
510+ ` Get ` は、主キーで指定された単一のレコードを取得する操作です 。
510511
511512まず ` Get ` オブジェクトを作成し、次に次のように ` transaction.get() ` メソッドを使用してオブジェクトを実行する必要があります。
512513
@@ -808,11 +809,11 @@ List<Result> results = transaction.scan(scan);
808809
809810:::note
810811
811- ` Put ` 操作は ScalarDB 3.13 以降では非推奨となり 、将来のリリースでは削除される予定です。` Put ` 操作の代わりに、` Insert ` 操作、` Upsert ` 操作、または ` Update ` 操作を使用してください。
812+ ` Put ` 操作は ScalarDB 3.13以降では非推奨となり 、将来のリリースでは削除される予定です。` Put ` 操作の代わりに、` Insert ` 操作、` Upsert ` 操作、または ` Update ` 操作を使用してください。
812813
813814:::
814815
815- ` Put ` は、プライマリーキーで指定されたレコードを配置する操作です 。この操作はレコードの upsert 操作として動作し、レコードが存在する場合はレコードを更新し、レコードが存在しない場合はレコードを挿入します。
816+ ` Put ` は、主キーで指定されたレコードを配置する操作です 。この操作はレコードの upsert 操作として動作し、レコードが存在する場合はレコードを更新し、レコードが存在しない場合はレコードを挿入します。
816817
817818:::note
818819
@@ -957,7 +958,7 @@ transaction.update(update);
957958
958959##### ` Delete ` 操作
959960
960- ` Delete ` は、プライマリーキーで指定されたレコードを削除する操作です 。
961+ ` Delete ` は、主キーで指定されたレコードを削除する操作です 。
961962
962963:::note
963964
@@ -986,7 +987,7 @@ transaction.delete(delete);
986987
987988##### 条件付きの ` Put ` 、` Delete ` 、` Update `
988989
989- トランザクション内で条件をチェックするロジックを実装することで、コミット前にトランザクションが満たす必要のある任意の条件 (たとえば、銀行口座の残高が 0 以上である必要がある ) を記述できます。または、` Put ` 、` Delete ` 、` Update ` などのミューテーション操作で単純な条件を記述することもできます。
990+ トランザクション内で条件をチェックするロジックを実装することで、コミット前にトランザクションが満たす必要のある任意の条件 (たとえば、銀行口座の残高が0以上である必要がある ) を記述できます。または、` Put ` 、` Delete ` 、` Update ` などのミューテーション操作で単純な条件を記述することもできます。
990991
991992` Put ` 、` Delete ` 、` Update ` 操作に条件が含まれている場合、指定された条件が満たされた場合にのみ操作が実行されます。操作の実行時に条件が満たされていない場合は、` UnsatisfiedConditionException ` という例外がスローされます。
992993
@@ -1195,7 +1196,7 @@ ScalarDB で例外を処理する方法の詳細については、[例外の処
11951196
11961197#### ` Get ` 操作を実行する
11971198
1198- ` Get ` は、プライマリーキーで指定された単一のレコードを取得する操作です 。
1199+ ` Get ` は、主キーで指定された単一のレコードを取得する操作です 。
11991200
12001201最初に ` Get ` オブジェクトを作成し、次に次のように ` transactionManager.get() ` メソッドを使用してオブジェクトを実行する必要があります。
12011202
@@ -1253,7 +1254,7 @@ List<Result> results = transactionManager.scan(scan);
12531254
12541255:::note
12551256
1256- ` Put ` 操作は ScalarDB 3.13 以降では非推奨となり 、将来のリリースでは削除される予定です。` Put ` 操作の代わりに、` Insert ` 操作、` Upsert ` 操作、または ` Update ` 操作を使用してください。
1257+ ` Put ` 操作は ScalarDB 3.13以降では非推奨となり 、将来のリリースでは削除される予定です。` Put ` 操作の代わりに、` Insert ` 操作、` Upsert ` 操作、または ` Update ` 操作を使用してください。
12571258
12581259:::
12591260
@@ -1363,7 +1364,7 @@ transactionManager.update(update);
13631364
13641365#### ` Delete ` 操作を実行する
13651366
1366- ` Delete ` は、プライマリーキーで指定されたレコードを削除する操作です 。
1367+ ` Delete ` は、主キーで指定されたレコードを削除する操作です 。
13671368
13681369まず ` Delete ` オブジェクトを作成し、次に次のように ` transaction.delete() ` メソッドを使用してオブジェクトを実行する必要があります。
13691370
@@ -1556,15 +1557,15 @@ CRUD 操作の API (`get()`、`scan()`、`put()`、`delete()`、および `mutat
15561557
15571558:::note
15581559
1559- サンプルコードでは、トランザクションは最大 3 回再試行され、再試行される前に 100 ミリ秒間スリープします 。ただし、アプリケーションの要件に応じて、指数バックオフなどの再試行ポリシーを選択できます。
1560+ サンプルコードでは、トランザクションは最大3回再試行され、再試行される前に100ミリ秒間スリープします 。ただし、アプリケーションの要件に応じて、指数バックオフなどの再試行ポリシーを選択できます。
15601561
15611562:::
15621563
15631564## Coordinator テーブルのグループコミット
15641565
15651566Consensus Commit トランザクションに使用される Coordinator テーブルは重要なデータストアであり、堅牢なストレージを使用することをお勧めします。ただし、内部でマルチ AZ またはマルチリージョンレプリケーションを活用するなど、より堅牢なストレージオプションを使用すると、ストレージにレコードを書き込むときにレイテンシが増加し、スループットパフォーマンスが低下する可能性があります。
15661567
1567- ScalarDB は、Coordinator テーブルにグループコミット機能を提供します。この機能は、複数のレコードの書き込みを 1 つの書き込み操作にグループ化し 、書き込みスループットを向上させます。この場合、基盤となるデータベースとワークロードに応じて、レイテンシが増加または減少する可能性があります。
1568+ ScalarDB は、Coordinator テーブルにグループコミット機能を提供します。この機能は、複数のレコードの書き込みを1つの書き込み操作にグループ化し 、書き込みスループットを向上させます。この場合、基盤となるデータベースとワークロードに応じて、レイテンシが増加または減少する可能性があります。
15681569
15691570グループコミット機能を有効にするには、次の設定を追加します。
15701571
@@ -1603,11 +1604,11 @@ scalar.db.consensus_commit.coordinator.group_commit.enabled=true
16031604 logger. info(" The transaction state: {}" , manager. getState(transaction. getId()));
16041605```
16051606
1606- #### 2 フェーズコミットインターフェースでの使用の禁止
1607+ #### 2フェーズコミットインターフェースでの使用の禁止
16071608
1608- グループコミット機能は、進行中のすべてのトランザクションをメモリ内で管理します。この機能が 2 フェーズコミットインターフェースで有効になっている場合 、Coordinator テーブルへの参加者サービスの一貫性のない書き込みによって生じる競合 (グループ間で異なるトランザクション分散が含まれる場合があります) を防ぐために、情報は Coordinator サービスによってのみ維持される必要があります。
1609+ グループコミット機能は、進行中のすべてのトランザクションをメモリ内で管理します。この機能が2フェーズコミットインターフェースで有効になっている場合 、Coordinator テーブルへの参加者サービスの一貫性のない書き込みによって生じる競合 (グループ間で異なるトランザクション分散が含まれる場合があります) を防ぐために、情報は Coordinator サービスによってのみ維持される必要があります。
16091610
1610- この制限により、アプリケーション開発に関連する複雑さと柔軟性が損なわれます。したがって、グループコミット機能と 2 フェーズコミットインターフェースを組み合わせて使用 することは現在禁止されています。
1611+ この制限により、アプリケーション開発に関連する複雑さと柔軟性が損なわれます。したがって、グループコミット機能と2フェーズコミットインターフェースを組み合わせて使用 することは現在禁止されています。
16111612
16121613## Consensus Commit トランザクションマネージャーエラーの調査
16131614
0 commit comments