Airpods

Amazon の DynamoDB: それが何なのか、そしてなぜ重要なのか

Amazon の DynamoDB: それが何なのか、そしてなぜ重要なのか

デビッド・ゲラー

デビッド・ゲラー

ゲスト解説: Amazon Web Servicesは本日午前、DynamoDBという新サービスを発表しました。これは、Amazon社内の複数のチームで既に使用されているクラウドデータベース技術を一般公開するものです。このサービスはどのような問題を解決しようとしているのでしょうか?そして、検討する価値はあるのでしょうか?

GeekWire は本日、このサービスについて記事を書きましたが、今朝、この新サービスに関するウェビナーを聞いた後、私自身の考えをいくつか共有したいと思います。

まず、背景を説明します。多くの開発者が証言しているように、従来の(SQLベースの)リレーショナルデータベースの設定、プロビジョニング、管理は複雑で、多くの課題を伴います。MySQL、Microsoft SQL Server、Oracle、PostgreSQLなど、効率的でスケーラブルなソリューションをうまく構成するには、開発者はデータベースアーキテクチャについて深く理解する必要があります。また、バックアップやレプリケーションといった問題にも対処する必要があります。

Amazon DynamoDBの目標は、データベースの保存と検索を極めて高速にするだけでなく、おそらくもっと重要なのは、メンテナンスフリーにすることです。ストレージモデルを劇的に簡素化し、レプリケーションやスケーリングといった処理を自動化することで、これを実現しています。Amazonは、DynamoDBの高速化の大部分は、機械式の回転式ハードドライブよりもはるかに高速なソリッドステートドライブ(SSD)を積極的に活用することで実現していると発表しました。

Amazon は DynamoDB を「シームレスなスケーラビリティを備え、高速で予測可能なパフォーマンスを提供する、完全に管理された NoSQL データベース サービス」と説明しています。

従来のリレーショナルSQL(構造化クエリ言語)データベースソリューションでは、テーブル設計とインデックス構造に関する詳細な知識が必要ですが、DynamoDBもその一部であるNoSQLムーブメントでは、キーバリューストレージモデルの概念を採用しています。NoSQL/DynamoDBの概念に馴染みのないプログラマーでも、この概念を単純なハッシュテーブルや辞書に例えることで、すぐに理解できるでしょう。NoSQL/DynamoDBの読み取りは、列やインデックスという概念ではなく、単純なキーに関連付けられたデータへのリクエストとして捉えることができます。書き込みも同様の動作をします。

DynamoDBでは、データはAmazonのAWSダッシュボードから簡単に作成できるテーブル、またはJava、.NET、PHPをサポートするAWS SDKを使用してプログラム的に作成されたテーブルに保存されます。従来のリレーショナルデータベースとは異なり、DynamoDBのテーブルには名前とキーの動作に関する記述のみが記述されています。開発者は、プロジェクト開始時に列を作成したり、特定の設計スキーマを確定したりする必要はありません。

私の結論:AmazonのNoSQL分野への参入は、開発者にとって大きな期待の的となるでしょう。なぜなら、Amazonはおそらく初めて、メンテナンスフリーで、ほぼあらゆる規模のアプリケーションに対応できる拡張性を備えたデータベースソリューションを提供するからです。NoSQLと、より伝統的なリレーショナルSQLベースのデータベースモデルの両方を熱狂的に支持する人もいますが、AmazonのDynamoDB製品を使えば、両方を同時に利用することが容易になります。

Amazon がストレージ、バックアップ、レプリケーションのすべてを処理しているので、開発者がそのソリューションを検討し、最終的に採用しない理由はないでしょう。

30分間のウェビナーで、Amazon CTOのWerner Vogels氏とDynamoDBのGMであるSwami Sivasubramanian氏が、Amazon AWSプラットフォームを通じて本日よりベータ版として提供される新サービスについて説明しました。ウェビナーの全編はオンラインでご覧いただけます。

AmazonのAWS最大手顧客であるSmugMugのCEO、ドン・マカスキル氏がベイエリアから出席し、Amazonの新サービスの初期導入事例について説明しました。SmugMugは現在、ストレージにはS3、コンピューティングリソースにはEC2など、Amazon AWSの様々なサービスを利用して、数十億枚の写真や動画を保存しています。マカスキル氏は、「[DynamoDB]のモデルとAPIのシンプルさに大変満足しています」と述べ、「そのパフォーマンスに大変満足しています」と続けました。

Vogels氏は本日、自身のブログ「All Things Distributed」にDynamoDBについて投稿し、製品の誕生秘話や、予測されるパフォーマンスとスケーラビリティに結びつく重要な特性について解説しました。また、Vogels氏はHacker Newsの関連スレッドでも質問に答えています。

EyejotのCEOである David Geller氏はシアトルの起業家であり、以前はWhatCountsの共同設立者でした。