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
-
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣 -
製品資料
[サイボウズ株式会社] AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
3
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
4
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
5
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
-
6
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
7
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
8
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
9
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
10
【漫画付き】ひとり情シス協会が明かす、RAG導入でしくじる企業「2つの共通点」
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー