AWSの2大NoSQLデータベースサービス
「Amazon DynamoDB」と「Amazon SimpleDB」――あなたの会社には向いているのはどちら?
「Amazon DynamoDB」と「Amazon SimpleDB」は、アプリケーション開発の柔軟性向上とアプリケーション開発時間の短縮を実現する。これらのメリットを最大限に引き出すには、自社のニーズに合ったデータベース環境を選択する必要がある。
「NoSQL」データベースは拡張性に優れ、Webアプリケーションの開発時間を短縮できる。固定スキーマを使用する「リレーショナルデータベース」(RDB)とは異なり、NoSQLデータベースの多くはスキーマを用いないので、開発の柔軟性にも優れる。米Amazon Web Services(以下、Amazon)の「Amazon SimpleDB」(以下、SimpleDB)と「Amazon DynamoDB」(以下、DynamoDB)は、人気が高いNoSQLデータベースだ。
DynamoDBとSimpleDBは、完全管理型の非RDBであり、データの保存、クエリ、管理を行うためのシンプルなAPIを備えている。これらのデータベースは、柔軟なデータベースデザインを必要とするアプリケーションに適しているが、両者の間には幾つか相違点もあるため、使用するアプリケーションに応じて選択する必要がある。
小規模データベースの管理にはSimpleDB
SimpleDBは、各ドメインのサイズが10Gバイト以内で、基本的なストレージ機能とクエリ機能を必要とする小規模データベースに向いている。テーブルがこのサイズを超えると予想される環境でSimpleDBを使うのであれば、データを2つ以上のドメインに分割し、自分で管理する必要がある。データを複数のドメインに手作業で分割することは可能だが、管理の手間がそれだけ増え、SimpleDBを使用するメリットが損なわれてしまう。
このデータベースサービスは、柔軟性、可用性、耐久性が特に重要で、拡張性はさほど重視されない小規模なデータベースアプリケーション用にデザインされている。SimpleDBの柔軟性を示す機能としては、スキーマの修正なしにテーブルの属性を即座に変更する機能、データの再インデックス化、テーブル構造をオフラインで変更する機能などが挙げられる。また、SimpleDBでは、データを同一リージョン内の複数のデータセンターに分散させることにより、可用性と耐久性を実現できる。
SimpleDBは「ドメイン」という単位でデータベースを管理する。ドメインはRDBにおけるテーブルに相当する。ドメインには複数の「アイテム」、あるいはキー/バリューペアの集合が含まれる。アイテムというのは、リレーショナルテーブルのロー(行)に相当し、キーとバリューは属性および属性のコンポーネントにそれぞれ対応する。データはドメインに保存され、基本的なAPIあるいはコンソールを使ってクエリを行う。
SimpleDBは、SQLプログラマーなら誰でも理解できる簡単なSELECT文をサポートする。だがSQLとは大きな違いもある。SimpleDBは複数のドメインにまたがる結合(ジョイン)をサポートしない。複数ドメインのデータを結合するには、独自に作成したプログラムを使ってクエリとジョインを行う必要がある。単純な結合であれば難しくないだろうが、複雑な結合をサポートする必要があるアプリケーションの場合は、「MySQL」や「PostgreSQL」などのRDBを使った方がいい。これらはいずれも「Amazon Relational Database Service」(RDS)で提供されている。
SimpleDBの利点の1つは、テーブル内の全てのアイテムがインデックス化されることだ。これは、ユーザーが任意のアイテムに対してクエリを実行できるアプリケーションにとって便利な機能だ。例えば、顧客テーブルでは「姓」「市」「州」「郵便番号」など全てのアイテムがインデックス化されるので、どれを使っても同じ速さでクエリが処理される。
大規模データベースにはDynamoDB
DynamoDBは、スケーラブルなデータストアや高度なデータ管理機能を必要とする本格的なアプリケーション向けだ。DynamoDBはHDDではなくSSD(ソリッドステートドライブ)を使用することにより、コンスタントで遅延の少ない読み出し/書き込み時間を実現する。大量のデータに対応できる拡張性を備えながらも安定したパフォーマンスを維持するが、その半面、クエリモデルには制約も多い。
DynamoDBは大規模な企業向けデータベースを扱うため、他のデータ管理サービスを追加する必要があるかもしれない。Amazonは、DynamoDBを同社の「Hadoop」サービスである「Amazon Elastic MapReduce」(以下、EMR)および同社のデータウェアハウジングサービスの「Amazon Redshift」(以下、Redshift)に連係している。大規模なアドホッククエリや分析にはRedshiftまたはEMRを使用し、ハッシュキーやハッシュ&レンジキーをベースとするターゲット型クエリにはDynamoDBを使用するといい。分割されたドメインを管理する手間を避けたいという場合もDynamoDBが有効だ。DynamoDBはサイズに制限がなく、必要に応じてデータのパーティショニングを管理する。
DynamoDBはプライマリキーをインデックス化する。セカンダリキーのインデックス化も可能だ。プライマリインデックスとセカンダリインデックスは、ハッシュキーとハッシュ&レンジキーをベースとする。このデータベースサービスは単一のSELECT文を使わずに、QUERY文とSCAN文を使用する。QUERY文はプライマリまたはセカンダリのハッシュキーまたはハッシュ&レンジキーとともに用いる。SCAN文はテーブル内の全てのアイテムを読み出す。この処理は柔軟性に優れるが、特に大規模データベースの場合はクエリよりも時間がかかる。アプリケーションの応答性は、DynamoDBデータベースに割り当てられた読み出し/書き込みキャパシティーによっても、ある程度左右される。
「DynamoDB Local」という機能を使えば、本番で運用中のデータベースとは切り離されたローカルデータベース上でコードの作成とテストが行える。DynamoDBのAPIとDynamoDB LocalのAPIは互換性があるので、作成したコードはどちらの環境でも動作する。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社フィックスターズ] 組み込みデバイスへのAI実装で開発速度と品質を両立する方法 -
製品レビュー
[株式会社セールスフォース・ジャパン] 実画面を見れば納得 営業・設計・開発を「AI×CRM」でつなぐとこうなる -
比較資料
[アイティメディア広告企画] ERP導入ガイド:「OBIC7」「SMILE V 2nd Edition」「Oracle NetSuite」を比較 -
市場調査・トレンド
[アイティメディア株式会社] AI Overviews時代のB2Bマーケ! 成長企業が選ぶ戦略とは? -
市場調査・トレンド
[アイティメディア株式会社] なぜあの施策は失敗したのか? B2Bマーケ施策を成功させる3つの鉄則
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
2
NVIDIA「一強体制」の終わりか データセンターを襲う“電力の壁”
-
3
岐阜県庁が7000人規模でも重くならないテレワークを「Prisma Access」で実現
-
4
Microsoft 365侵害企業の9割はMFA導入済み 1002人調査で見えた盲点
-
5
「アップグレードできないJava」をどう守る IBMとRed HatがAIで400件超修正
-
6
Amazon配送車の車載カメラが引き起こす4つのプライバシー議論
-
7
クライアントサイドの脆弱性をテストする
-
8
「サステナブルPC」とは? “ごみ製PC”から“CO2相殺ゲーミングPC”まで
-
9
コロナ禍で「PC」がなぜ売れるのか、今後も売れ続けるのか
-
10
コロナ市が「VDI」で実現した“PC故障後5分で仕事復帰”の仕組みとは?
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
「IT史に名を残すシステム障害」8選
-
3
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
4
SCS評価制度時代の「SASE選定」ガイド
-
5
顧客対応自動化の要点:RAGとデータ連携で“業務で使える生成AI”にする方法
-
6
マンガで解説:情シスの負担を減らす「MDRサービスのインシデント対応」の中身
-
7
「EDR」選定ガイド:比較・検討フェーズで整理すべきポイントを解説
-
8
なぜAIは組織で定着しないのか? 全社展開を阻む「3つの壁」と突破のヒント
-
9
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
10
ランサムウェア攻撃“究極の対策”はこれだ
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー