Lambda、Cognito、WorkDocsが今夏東京リージョンでスタート
モバイルやIoTでもAWS!マネージドサービスでビジネスは変わる
2015年06月03日 14時30分更新
モバイルやIoTを見据えたDynamoDBの活用法
今後モバイル分野の先に見据えるのが、圧倒的なデバイス数とデータ量をハンドリングする必要があるIoTの領域だ。ここでフィーチャーされたのが、高い拡張性と可用性を誇るNoSQL DBであるDynamoDBだ。
アージェンティ氏の紹介で登壇したDynamoDB担当のユージン・川本氏は、まず既存のRDBMSとスイスのアーミーナイフとを比較する。「40年の歴史を持つRDBMSはトランザクション、クエリ、ジョイン、アナリスティックなどアーミーナイフのようにさまざまな機能を持っている。しかし、アーミナイフもRDBMSも、拡張するのが難しい。管理コストもかさむ」と指摘する。
過去、Amazonでは多くのシステムでRDBMSを使っていたが、トラフィックの増加にあわせてRDBMSをリプレースする必要があった。大きいサーバーを購入し、サーバーをインプリ。データベースを分割するのは大きな負荷だったという。「小さくなりすぎた金魚鉢の金魚を、リアルタイムに大きな金魚鉢に移していくような作業だった」と川本氏は振り返る。
こうした課題に対してAmazonの開発チームが作ったのが、キーバリュー型の分散型DBであるDynamo。初期のDynamoはAmazon.comの救世主となったという。「拡張性以外にもスキーマレスな設計、高い可用性、パフォーマンスなどに優れていた。これまでアプリケーションエンジニアがデータベースの管理に費やしていた時間から解放された」と川本氏は語る。しかし、インフラエンジニアにとっては、ベンチマークやキャパシティプランニング、ハードウェアの購入が必要だった。そのため、Amazonではクラウドベースのマネージドサービスへの移行を図ったという。
こうした経緯を経て、3年前にリリースされたのが、フルマネージドのNoSQLサービス「Amazon DynamoDB」だ。データベースに精通していないエンジニアでもすぐに利用可能で、リージョン内の3つのAZでデータをレプリケーションするため、高い可用性を実現。川本氏は、POSのバックエンドをDynamoDBを採用している東急ハンズの事例を紹介し、「売上や在庫テーブルのようなミッションクリティカルなデータを保管運用するためのデータベースとしてDynamoDBを使っている。今後、Lambdaを利用することで、より多くのエンジニアが業務に集中できるようにしていくと伺っている」と説明した。
DynamoDBはモバイルアプリケーションやIoTにも最適なデータベースだという。川本氏は1日600億のモバイル広告を処理する米国のアドロール(AdRoll)やスーパーボールの50万アクセス/秒を音声検索を実現するシャザム(Shazam)、動画のメタデータ保存に使っているクックパッドなどの事例を披露した。
さらに現在プレビューとなっているDynamoDB Streamを用いることで、データベースの更新情報を外部のアプリケーションから利用できるようになる。「DynamoDBにデータを収集し、DynamoDB Streamを利用してAWS Lambdaなどさまざまなサービスに渡すことができる。Amazon Redshiftであればトレンド分析、Amazon SNSではデバイスの異常検知、Amazon Machine Learningであれば異常発生予測など、それぞれ個別に構築していたシステムをより簡単に連携させることが可能になる」と川本氏はアピールした。
(次ページ、脱EC2に動き始めた先進事例が披露)