Amazon QLDBとは

Amazon QLDB(Quantum Ledger Database)とは、アプリケーションデータのすべての更新/削除を追跡でき、検証可能なトランザクションログを長期間保存する台帳データベースです。

台帳とは企業の活動履歴や金銭のやり取りを記録するものです。しかし、この台帳を実現する際は、リレーショナルデータベースが利用されていますが、リレーショナルデータベースは台帳を開発するために設計されたものではないため、変更の追跡や検証を実現することが難しいです。

今回は、Amazon QLDBについて解説します。

Amazon QLDBの概要

追加専用の変更履歴

前述したとおり、Amazon QLDBはデータの更新/削除を保持できるデータベースです。データの変更履歴についてはイミュータブル(変更不可能)という特徴があり、これは、変更履歴に追加することはできますが、上書きや削除はできません。これにより、イミュータブルジャーナルから読み取ることで、そのデータの変更履歴にアクセスすることができます。

さらにアプリケーションのデータの変更履歴全体にアクセスできるため、履歴の変更をクエリし、取引履歴に関連する具体的な詳細もクエリすることができます。

暗号的に検証

Amazon QLDBは暗号を使用して変更履歴の簡潔なサマリーを作成できます。このサマリーは、ダイジェストと呼ばれており、暗号ハッシュ関数を使用して生成し、変更履歴の証拠として機能します。

これはデータ変更の整合性をさかのぼって見直して検証することができ、ダイジェストをQLDBのAPIで使用して、任意の取引の整合性を証明することができます。またQLDBではデータの履歴のクエリと、データの履歴へのアクセスも可能です。特定の取引に関する証拠が必要な場面では、この検証可能性が役立ちます。

サーバレス

Amazon QLDBは、自動スケーリングを提供しているため、容量や読み書きの限度の設定は不要です。QLDBはデータベースであるため、ブロックチェーンフレームワークよりも優れたパフォーマンスとスケールを備えています。

またブロックチェーンフレームワークは分散されるため、台帳への保存前にトランザクションを検証するうえでピアノードが必要ですが、パフォーマンスに影響を与えます。しかし、QLDBでのトランザクションの実行は、他のAWSデータベースと同様のため、パフォーマンスに影響をほとんど与えません。

容易な設定

サーバーやプロビジョニングする容量がないため、QLDBを使い始めるのは簡単で、新しい台帳も数分で作成できます。またQLDBは、AWSのサービスのため、台帳用のAmazon CloudWatchメトリクスを簡単に利用できます。これはQLDBを使用すると、読み書き等の運用上、主要なメトリクスを監視できます。

PartiQLのサポート

Amazon QLDBでは、AWSがオープンソースで発表したSQL互換のクエリ言語であるPartiQLをサポートしています。 PartiQLはデータフォーマットに依存せず、簡単かつ効率的にデータクエリを実行できる問い合わせ言語です。PartiQLは、拡張は必要最小限にとどまっているため、使い慣れたSQL 演算子を使用してデータの管理を簡単に行うことができます。

ドキュメント指向のデータモデル

Amazon QLDBはドキュメント指向のデータモデルを使用して、構造化データと半構造化データを柔軟に保存することができます。これは、ネストされたデータ構造もサポートしており、アプリケーションを簡素化できます。

Amazon QLDBの応用

金融

銀行では、銀行口座の貸方、借方取引などの重要なデータを記録するための台帳のような集中型アプリケーションが必要です。

QLDBを使用すれば、監査機能が複雑なアプリケーションを構築する必要がなく、すべての金融取引の記録を簡単に保存することができます。

製造業

メーカーでは、サプライチェーンシステム(原材料供給者から消費者までの商品の流れ)間のデータを調整し、製品のすべての製造履歴を記録し、追跡できる必要があります。

QLDBを使用すれば、各トランザクションの履歴を記録することができるます。そのため、施設で製造された製品の詳細を得ることができます。製品のリコールが発生した場合も、製品の生産流通全体の履歴を簡単に特定、追跡できます。

まとめ

本記事では、Amazon QLDBの概要、Amazon QLDBの応用について解説しました。Amazon QLDBは以前のリレーショナルデータベースとは少し違うため、使いこなすのは難しいかもしれません。しかし簡単にデータベースを作成でき、SQL互換のクエリ言語も使用できるため便利なサービスになっています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です