プリミティブ CRUD インターフェースを介して非トランザクションストレージ操作を実行する
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このページでは、プリミティブ CRUD インターフェース (Storage API とも呼ばれる) を通じて非トランザクションストレージ操作を実行する方法について説明します。このガイドでは、読者が ScalarDB について高度な知識を持っていることを前提としています。
既存のストレージおよびデータベースシステム上でストレージに依存しない、またはデータベースに依存しない ACID トランザクションを実現するためのキーの1つは、ScalarDB が提供するストレージ抽象化機能です。ストレージ抽象化は、データモデ ル と、データモデルに基づいて操作を発行する API (Storage API) を定義します。
ほとんどの場合、Transactional API を使用することになりますが、別のオプションとして Storage API を使用することもできます。
Storage API を使用する利点は次のとおりです。
- トランザクション API と同様に、基盤となるストレージ実装についてあまり気にせずにアプリケーションコードを作成できます。
- アプリケーション内の一部のデータに対してトランザクションが必要ない場合は、Storage API を使用してトランザクションを部分的に回避し、実行を高速化できます。
ストレージ API を直接使用したり、トランザクション API とストレージ API を混在させたりした場合、予期しない動作が発生する可能性があります。たとえば、ストレージ API はトランザクション機能を提供できないため、操作の実行時に障害が発生すると、API によって異常やデータの不整合が発生する可能性があります。
したがって、ストレージ API の使用には 非常に 注意し、何をしているのかを正確に理解している場合にのみ使用してください。
ストレージ API の例
このセクションでは、基本的な電子マネーアプリケーションでストレージ API を使用する方法について説明します。
この例では電子マネーアプリケーションが簡略化されており、実稼働環境には適していません。
ScalarDB の設定
開始する前に、ScalarDB をはじめよう で説明されているのと同じ方法で ScalarDB を設定する必要があります。
これを念頭に置いて、このストレージ API の例では、設定ファイル scalardb.properties が存在することを前提としています。