Amazon Quantum Ledger Database (QLDB)についてご紹介!

Amazon Quantum Ledger Database (QLDB)とは

Amazon QLDB は「フルマネージド型の台帳データベース」で、信頼された中央機関が所有する、透過的でイミュータブルであり、暗号的に検証可能なトランザクションログを備えています。Amazon QLDB を使用すると、アプリケーションデータの全変更を追跡し、完全で検証可能な変更履歴を長期間維持することができます。

台帳は、通常、企業の経済活動や財務活動の履歴を記録するために使用されます。多くの企業では、台帳のような機能を備えたアプリケーションを構築してアプリケーションデータの正確な履歴を維持し、銀行取引の貸方と借方の履歴追跡、保険金請求のデータ来歴の検証、サプライチェーンネットワークの商品移動の追跡などを行います。多くの場合、台帳アプリケーションは、リレーショナルデータベースに作成されたカスタムの監査テーブルや監査証跡を使用して実装されます。ただし、リレーショナルデータベースで監査機能を構築する場合、時間がかかり、人為的なミスも発生しやすくなります。リレーショナルデータベースを使用する場合はカスタム開発が必要で、リレーショナルデータベースは本来イミュータブルでないため、データの意図しない変更を追跡し、検証することは困難です。その代わりに、Hyperledger Fabric、Ethereum などのブロックチェーンフレームワークを台帳として使用することもできます。ただし、ブロックチェーンフレームワークを利用すると、複数のノードで構成されるブロックチェーンネットワーク全体を構築し、そのインフラストラクチャを管理する必要があり、またノードでは台帳に追加する前に各トランザクションを検証する必要があるため、複雑な作業が発生します。

Amazon QLDB は新しい種類のデータベースで、台帳のようなアプリケーションを自分で構築するという複雑な開発作業を行う必要がありません。QLDB を使用すると、データの変更履歴はイミュータブル (変更や削除が不可能) なものになり、かつアプリケーションデータに対する意図しない変更が発生していないことを暗号技術によって簡単に検証できます。QLDB では、イミュータブルなトランザクションログ (ジャーナルとも呼ばれる) を使用します。そのトランザクションログにより、アプリケーションデータの各変更が追跡され、完全で検証可能な変更履歴が長期間維持されます。QLDB は使いやすいデータベースであり、デベロッパーには、親しみやすい SQL 類似 API や柔軟なドキュメントデータモデル、またトランザクションの全面サポートなどが提供されます。 QLDB のストリーミング機能により、QLDB 内に保存されているデータに関するほぼリアルタイムのフローを実現できます。これにより、イベント駆動型のワークフローの開発やリアルタイム分析が可能になり、AWS の他のサービスにデータをレプリケートすることで高度な分析処理を活用できるようになります。また、QLDB はサーバーレスであるため、アプリケーションの需要に対応し、自動的なスケーリングが行われます。サーバーを管理する必要も、読み取りや書き込みの上限を設定する必要もありません。QLDB の料金は従量課金制です。

Amazon Quantum Ledger Database (QLDB)の便利なところ

イミュータブルで透過的…Amazon QLDB では、アプリケーションデータの各変更を追跡し、完全で順番に並んだ変更履歴を長期間維持するジャーナルを使用しています。ジャーナル内のデータは削除または変更できません。データベースのすべての履歴にアクセスでき、履歴にクエリを実行したり、履歴を分析したりして、データの経時的な変更を確認できます。

暗号的に検証可能…Amazon QLDB を使用すると、アプリケーションデータの変更履歴が正確であることを信頼できます。QLDB では、暗号学的ハッシュ関数 (SHA-256) を使用して、データの変更履歴の安全な出力ファイル (ダイジェストと呼ばれる) を生成します。ダイジェストはデータの変更履歴の証明となるため、データ変更の整合性をさかのぼって確認したり、検証したりできます。

高い性能とスケーラビリティ…Amazon QLDB は高いスケーラビリティを備えており、一般的なブロックチェーンフレームワークの台帳よりも 2~3 倍多くのトランザクションを実行できます。ブロックチェーンフレームワークは分散型で、トランザクションを実行するには、トランザクションの妥当性に関してネットワークの大部分のメンバーの合意を得る必要があります。一方、QLDB は集中型の設計で、複数の関係者の合意を得なくてもトランザクションを実行できます。

サーバーレス…Amazon QLDB では、キャパシティーのプロビジョニングや、読み取りと書き込みの上限の設定に悩む必要がありません。QLDB では、台帳を作成してテーブルを定義するだけで、アプリケーションの需要に対応して自動的にスケールします。QLDB では、データベースの運用状態を深く理解できるように、IO の読み取りおよび書き込みの運用メトリクスをモニタリングできます。

使いやすさ…Amazon QLDB には親しみやすいデータベース機能が用意されているため、簡単に使用できます。QLDB は PartiQL をサポートしています。PartiQL は、すべてのデータ型と構造を簡単に操作できるように設計された、新しいオープンソースの SQL 互換クエリ言語です。PartiQL では、SQL 演算子を使用してデータのクエリ、管理、更新を簡単に行えます。QLDB のドキュメント指向データモデルには柔軟性があるため、構造化データと半構造化データ両方を簡単に保存および処理できます。また、QLDB トランザクションは ACID に準拠しており、最高レベルの隔離である完全なシリアル化可能性を備えています。

高い可用性…Amazon QLDB では、高い可用性が実現されるように設計されており、アベイラビリティーゾーン (AZ) 内および AWS リージョン内の 3 つの AZ 内で、データの複数のコピーをレプリケートします。追加料金やセットアップは不要です。QLDB では、一貫したパフォーマンスを維持しながらデータを継続的にバックアップし、インスタンスの障害または物理ストレージの障害から透過的に復旧できるようにします。

ストリーミング機能…Amazon QLDB では、データを直接 Amazon Kinesis Data Streams にストリーミングできます。この QLDB ストリーミング機能を使用すると、新しいイベント (銀行の台帳アプリケーションに対する口座残高の変更など) にすばやく対応し、AWS Lambda や Amazon Elasticsearch などのダウンストリームサービスと簡単に統合できます。これにより、イベント駆動型のワークフローの開発や、リアルタイムおよびヒストリカルなデータ分析の実行が容易になります。

場面別の導入例

金融…ほとんどの銀行では、お客様の銀行口座の貸方取引、借方取引などの重要なデータを記録するための台帳のような集中型アプリケーションが必要です。銀行は、監査機能が複雑なカスタムの台帳を構築する代わりに、QLDB を使用してすべての金融取引の正確で完全な記録を簡単に保存できます。

保険…ほとんどの保険のアプリケーションでは、保険金の請求処理の履歴をより正確に追跡する方法が必要です。保険会社は、リレーショナルデータベースを使用して複雑な監査機能を構築する代わりに、QLDB を使用することで、一生涯にわたる保険金請求の履歴を正確に保持できます。また、不一致の可能性が発生した場合、QLDB では、請求データの整合性 (例えば、請求が正確に提出されたかどうか) を暗号的に検証するため、データの入力ミスや操作に対応したアプリケーションの耐障害性を確保しています。

人事と給与支払い…人事システムは、多くの場合、給与、ボーナス、福利厚生、業績の履歴、保険といった各従業員の詳細な記録を追跡し維持することが求められます。QLDB を使用して SoR アプリケーションを導入することで、従業員のデジタル履歴を完全かつ信頼できる方法で 1 か所で簡単に管理できます。

Amazon Quantum Ledger Database (QLDB) の料金

Amazon QLDB では使用した分に対してのみ支払いが発生します。最低料金やサービスの使用義務はありません。書き込み IO リクエスト、読み込み IO リクエスト、ジャーナルストレージ、インデックス化ストレージ、データ転送については、個別に請求されます。事前にストレージや IO をプロビジョニングしておく必要はありません。

Amazon QLDB 台帳によって使用されるストレージは、GB 単位の月額料金で請求され、IO は 100 万単位のリクエスト数で請求されます。Amazon QLDB 台帳で使用したストレージと IO 分のみの料金をお支払いいただきます。ストレージには、履歴、インデックス、システムで生成されたメタデータに加えて、書き込んだデータも含まれます。例えば、書き込み I/Oは100 万件のリクエストあたり 0.799USDです。反対に読み込み I/Oは100 万件のリクエストあたり 0.155USDです。ジャーナルストレージ料金は月額料金 0.034USD/GB、インデックス化ストレージ料金は月額料金 0.285USD/GBです。

※リージョンはアジアパシフィック(東京)です。

データ転送の “受信 (イン)” および “送信 (アウト)” は、Amazon QLDB への転送および Amazon QLDB からの転送を示しています。QLDB と同じ AWS リージョンの他の AWS のサービスの間で転送されたデータは無料 (つまり、0.00 USD/GB) です。AWS リージョン間 (例えば、米国東部 (バージニア北部) リージョンの QLDB とEU (アイルランド) リージョンの Amazon EC2 との間) で転送されたデータについては、転送元と転送先の双方で課金されます。AWS 無料利用枠の一環として、AWS のお客様は AWS GovCloud (米国) リージョンを除くすべての AWS のサービスを集計して、1 か月あたり 15 GB のデータ送信を 1 年間無料で利用できます。

インターネットから Amazon QLDB へのデータ転送受信 (イン)の場合、すべてのデータ受信は料金が発生しません。Amazon QLDB からインターネットへのデータ転送送信 (アウト)は1 GB/月まで料金が発生しませんが、次の 9.999 TB/月から0.114USD/GBかかります。

おわりに

いかがだったでしょうか。プロジェクト管理で誰がどこを直したという変更履歴が長い期間あるだけでも管理者はすごく助かるのではないでしょうか。これを機に是非検討してみてください。

コメントを残す

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