全5591文字
PR

 デジタルトランスフォーメーション(DX)を推進する上で欠かせない要素の1つがデータベースであり、格納される情報の価値・重要性は日増しに高まっています。また、近年その取扱量も爆発的に増大しています。それに伴い、既存のRDBMS(Relational DataBase Management System)では非構造化データや増え続けるIoT(インターネット・オブ・シングズ)データなどのビッグデータの取り扱いに苦慮する場面に遭うようになってきました。そこで登場したのがキーバリューストア(KVS)をはじめとし、大量データの取り扱いを得意とするNoSQLデータベースです。

 実際にNoSQLの概念を学んでいくと、必ずしもRDBMSを置き換えるものではなく、目的・用途によって使い分けるものであると分かってきます。ここで重要なのは正確な業務分析とそのソリューションとなり得るデータベースの特徴を押さえることです。RDBMSなのかNoSQLなのか、NoSQLであればどのタイプを選択すべきかなど、ビジネスニーズに合わせたデータベースの選択がDXを推進する重要なカギとなります。

 今回は米Amazon Web Services(アマゾン・ウェブ・サービス、AWS)が提供するキーバリュー型の「Amazon DynamoDB」を取り上げます。RDBMSとの比較を軸に、DynamoDBを選択すべきシーンや、主要なユースケースを紹介するとともに、選択すべきでない場合や、実装にあたっての考慮点、Tipsについても言及します。

NoSQLの興隆とDynamoDB

 NoSQLは大量データを扱う際のパフォーマンス問題や、非構造化データの取り扱いという既存のRDBMSが抱える課題の打開策として登場してきた側面があります。ただしNoSQLデータベースと一口に言ってもキーバリュー型やグラフ型など、解決すべき課題(データの種類や取り扱い方法)に応じていくつかのタイプが存在します。

DynamoDBはキーバリューおよびドキュメント型に分類
DynamoDBはキーバリューおよびドキュメント型に分類
表 NoSQLデータベースのタイプ
[画像のクリックで拡大表示]

 この中でDynamoDBはキーバリューおよびドキュメント型に分類されます。なお、「DynamoDB Accelerator(DAX)」オプションを使用することでインメモリー型としても実装できます。DynamoDBは1日に10兆件以上のリクエストの処理が可能で、毎秒2000万件を超えるリクエストをサポートする能力を備えています。まさにビッグデータ時代のデータベースと言えますが、一体どのようなアーキテクチャーでこれほどのパフォーマンスを実現しているのか、以下でDynamoDBの特徴や使いどころを深掘りしていきます。