DEA / ドメイン2 データストア管理
目的別データベース (DocumentDB・Keyspaces・Neptune・MemoryDB)
概要
AWS は、データの形と読み方に合わせた目的別のデータベースを用意しています。DEA-C01 では、ドキュメント・ワイドカラム・グラフ・のデータを、どのデータベースに置くか (スキル 2.1.3) と、グラフというデータ構造の使いどころが問われます。
主要技術
①4つのデータベースの使いどころ
| サービス | データモデル | 互換 | 向くケース |
|---|---|---|---|
| ドキュメント () | MongoDB の | 項目ごとに構造が違う JSON のカタログ、プロファイル、コンテンツ管理 | |
| ワイドカラム | Apache Cassandra (CQL) | 既存の Cassandra のワークロードをで動かす、大量の時系列の書き込み | |
| グラフ (ノードとエッジ) | Gremlin、openCypher、SPARQL | つながりをたどる問い合わせ ( の友人関係、不正の検知、レコメンド、ナレッジグラフ) | |
| Amazon MemoryDB | キーと値 () | Valkey、Redis OSS | キーと値にマイクロ秒で読み、データを失えない (が必要) |
MemoryDB は、試験ガイドでは旧称の Amazon MemoryDB for Redis で載っています。現在の名称は Amazon MemoryDB で、Valkey と Redis OSS に対応します。
②グラフデータ構造と Neptune
グラフは、ノード (人、商品、口座) とエッジ (友人、購入、送金) でデータを表します。「友人の友人が買った商品」のように何段もつながりをたどる問い合わせは、リレーショナル DB では結合が重なって遅くなりますが、グラフ DB はエッジを直接たどるため速く処理できます。グラフ全体の分析 (経路、中心性など) やとの組み合わせには Analytics を使います。
③MemoryDB と ElastiCache の違い
| 観点 | Amazon MemoryDB | |
|---|---|---|
| 位置づけ | 主となるデータベース | 別のデータベースの前に置く |
| 複数の にまたがるトランザクションログに書き込み、障害でもデータを失わない | ノードの障害でキャッシュの内容が失われ得る (元データは別の DB にある) | |
| 性能 | 読み取りはマイクロ秒、書き込みは一桁ミリ秒 | 読み書きともマイクロ秒〜 |
| 対応 | 対応 (Valkey) |
試験対策
| 問題文のキーワード | 選ぶもの |
|---|---|
| MongoDB 互換、 のドキュメント | |
| Cassandra の CQL をそのまま、 | |
| 関係をたどる、不正の輪を見つける、レコメンド | |
| キーと値にマイクロ秒、データを失えない | Amazon MemoryDB |
| 既存 DB の読み取りを速くする | ( なら ) |
| キーで1件を一桁ミリ秒、汎用的なキーと値 | Amazon DynamoDB |