全4330文字
PR

既存のRDBMSでは取り扱いが難しい非構造化データなどがDXの現場に増えてきた。NoSQLデータベースはそうしたデータを大量に扱う用途に適している。「Amazon DynamoDB」はキーバリュー型に分類されるNoSQL DBサービスである。

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

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

 今回は米アマゾン・ウェブ・サービス(AWS)が提供するキーバリュー型の「Amazon DynamoDB」を取り上げます。DynamoDBを使うべきシーンや、主要なユースケースを紹介します。

NoSQLの興隆とDynamoDB

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

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

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