Q
oosky:
モノづくり総合プラットフォーム
検索
新規登録 / ログイン
AWS 落穂拾い (Database)
[履歴]
[最終更新]
(2022/09/24 00:11:10)
プログラミング/IoT の関連商品 (Amazonのアソシエイトとして、当メディアは適格販売により収入を得ています。)
大乱闘スマッシュブラザーズ SPECIAL - Switch
【永久保証付き】Arduino Uno
ルイージマンション3 -Switch
モンスターハンターワールド:アイスボーン マスターエディション - PS4
マリオカート8 デラックス - Switch
tybot
最近の投稿
Looker から Snowflake への OAuth 接続
Looker (Google Cloud core) 30日間 フリートライアル設定
AWS 落穂拾い (Security)
AWS 落穂拾い (Storage)
マイクロマウス
DynamoDB
OpenSearch
RDS
Aurora
Amazon Neptune
注目の記事
ディープラーニングの手法 (G検定)
ディープラーニングの社会実装に向けて (G検定)
機械学習の具体的手法 (G検定)
人工知能に関する一般事項 (G検定)
ディープラーニングの比較的新しいモデル (G検定)
DynamoDB
オブジェクト (item) の最大サイズは 400KB です。
Item size
Read/write capacity mode
Provisioned
既定値です。
ワークロードが予測できる場合に選択します。
下記 On-Demand と似た、旧来の仕組みとして、Provisioned capacity を動的に調整する仕組みが存在します。
Managing throughput capacity automatically with DynamoDB auto scaling
内部的には Application Auto Scaling を利用しています。
What is Application Auto Scaling?
参考:
DynamoDB On-Demand Scaling vs Provisioned with Auto-Scaling [The Ultimate Comparison]
On-Demand
ワークロードが予測できない場合に選択します。
似た用語に adaptive capacity という内部構造の仕組みがあります。すべてのテーブルに対して有効化されています。
Amazon DynamoDB adaptive capacity is now instant
[レポート] DAT201: Amazon DynamoDBの最新情報について! #reinvent
Table classes
Standard
既定値です。
Infrequent Access (IA)
バックアップ
Using On-Demand backup and restore for DynamoDB
AWS Backup service または DynamoDB の機能を利用して取得します。
Point-in-time recovery for DynamoDB
ある時点への復旧が可能です。
Primary key
各テーブルは unique な primary key (PK) を持ちます。
テーブル作成時に指定します。
二種類の指定方法が可能です。
partition key のみで構成。
partition key と sort key で構成。
Secondary indexes
Primary key 以外の検索方法を提供します。
Secondary indexes は一つのテーブルに対して複数作成できます。
二種類の指定方法が可能です。
GSI (Global Secondary Index)
Primary Key の partition key と sort key と異なるものを指定可能です。
LSI (Local Secondary Index)
Primary Key の partition key と同じで、sort key は異なるものを指定可能です。
How do I set up Time to Live (TTL) in DynamoDB?
一定期間が経過したら item が削除されるように TTL を設定可能です。
Change data capture for DynamoDB Streams
Table の変更履歴を queue に保存する DynamoDB の機能です。
Snowflake
の
Stream
と同様です。
上記 Table 内 item の TTL で削除された変更履歴も capture できます。
最大 24 時間のデータ保持が可能です。
後段に Kinesis Data Stream を配置することで、より長い保持期間を実現できます。
Kinesis Data Stream からは Kinesis Data Firehose、Kinesis Data Analytics にもデータ連携できます。
Global tables - multi-Region replication for DynamoDB
内部的には上記 stream 機能を利用した、リージョン間のデータレプリケーションで実現されています。
双方向レプリケーションとなっており、各リージョンへの write が可能です。
DR にも活用できます。
In-memory acceleration with DynamoDB Accelerator (DAX)
DynamoDB 利用側のアプリケーションロジックを変更する必要はありません。
キャッシュの TTL は既定で 5 分です。
Conditional writes
更新時に条件を付けることで、例えば、同じテーブルを複数のクライアントが同時に更新する際の不具合を回避できます。
OpenSearch
OpenSearch
What is Amazon OpenSearch Service?
AWS マネージドな ElasticSearch です。
OpenSearch Dashboard
Using OpenSearch Dashboards with Amazon OpenSearch Service
AWS マネージドな Kibana です。
Loading data into Amazon OpenSearch Service with Logstash
OpenSearch に対するデータロードで利用できます。
RDS
MySQL(MariaDB)、PostgreSQL、SQL Server、Oracle をサポートしています。
Amazon RDS DB instance storage
RDS Events
SNS を経由して通知できます。
Working with Amazon RDS event notification
Multi-AZ deployments for high availability
別の AZ の standby instance にレプリケーションしておき、障害時は failover します。
以下のキャプチャに記載のとおり Synchronous レプリケーションです。
Working with read replicas
read 性能を向上させるためのインスタンスです。
Read Replica は異なるリージョンに配置可能です。
以下のキャプチャに記載のとおり Asynchronous レプリケーションです。
Read Replica は、DR 時など、スタンドアロンの DB インスタンスに昇格して利用できます。
暗号化 encrypted された DB から、暗号化されていない unencrypted read replica を作成することはできません。
Limitations of Amazon RDS encrypted DB instances
CloudTrail によって、DB 内のクエリログ等を確認することはできません。
Using Amazon RDS Proxy
RDS DB の connection pool として機能します。
例: Lambda からの RDS 接続で connection が残り続け、TooManyConnections エラーが発生する問題の回避策として活用できます。
バックアップについて
上記 Multi-AZ standby instance が存在する場合、I/O の消費を考慮して、バックアップは standby instance で取得されます。
Implementing a disaster recovery strategy with Amazon RDS
Automated snapshot backups → 異なるリージョンにバックアップを作成できます。他の AWS アカウントと snapshot を共有できません。
Manual snapshot backups → 異なるリージョンにバックアップを作成できます。最大 20 の AWS アカウントと snapshot を共有できます。
How do I share manual Amazon RDS DB snapshots or Aurora DB cluster snapshots with another AWS account?
Working with read replicas
Aurora
Snowflake
と同様に、Storage と Compute を分離します。
Storage について、3 AZ に合計 6 箇所のコピーを配置します。
3 AZ にわたる shared storage volume となっており、128 TB まで自動でスケールします。
Cross Region で replication できます。
Replicating Amazon Aurora MySQL DB clusters across AWS Regions
S3 と直接データロードまたはオフロードできます。
Saving data from an Amazon Aurora MySQL DB cluster into text files in an Amazon S3 bucket
Aurora Serverless
How Aurora Serverless v1 works
同様に、バックエンドには shared storage volume があります。
Compute リソースは自動でスケールします。
Global Aurora
Using Amazon Aurora global databases
上記 cross region read replica と同様に、リージョン間でデータを同期します。
あるリージョンを primary 指定します。
最大 5 リージョンを read-only な secondary region に指定します。
secondary region あたり 16 の read replica を配置できます。
secondary region を primary 昇格できます。
Aurora Multi-Master
Working with Aurora multi-master clusters
すべての node に write が可能です。
Endpoint
Types of Aurora endpoints
Cluster Endpoint (Writer Endpoint)
Primary DB インスタンスに接続します。
Reader Endpoint
Read replica に接続します。
Custom Endpoint
事前に設定しておき、特定の DB インスタンス群への接続に利用します。
Instance Endpoint
ある特定の DB インスタンスに接続します。
ログ
Monitoring Amazon Aurora log files
例: MySQL におけるログと同等です。
Snow query log
Error log
General log
Audit log
ダウンロードが可能です。
CloudWatch Logs に publish 可能です。
Amazon Neptune
グラフ
表現されたデータを扱うためのデータベースです。
Getting started with Amazon Neptune
関連ページ