1. ホーム
  2. amazon-web-services

[解決済み】DynamodbとRedisの比較

2022-02-17 01:25:24

質問

AWSを利用していますが、今後 DynamoDB または {コード {コード を新サービスに追加しました。
以下は、私たちのサービスのキャラクターです。

  1. 挿入/削除は1分間に数百から数千回発生し、後で大きくなります。 {となります。 {を使用します。 クイックサーチは必要なく、キーとなる値を見つけるだけでよい。
  2. {を使用します。 データが消えないようにする。 {を使用します。 とは異なり、Insert/Deleteがあまりないデータもあります。 {コード .

いつになるか心配 {コード サーバーがダウンしています。
の場合 Redis に失敗すると、私たちのデータは削除されます。

そのため、選択することを検討しています。 {コード .
なぜなら 1

Redis

Redis

Amazon DynamoDB

DynamoDB

AWS ElastiCacheサービスでは、2種類のRedisを展開することができます。

{を使用します。 {を使用します。 スタンドアロン {を使用します。 {を使用します。 マルチAZクラスタ {を使用します。 {を使用します。

スタンドアロンインストールでは、Redisインスタンスのパーシステンスをオンにすることが可能で、サービス再起動後にデータを回復することができます。しかし、ハードウェアの劣化などにより、AWSがRedisを別のインスタンスに移行し、永続的なログが失われることがある。

Multi-AZクラスタのインストールでは、永続化を有効にすることはできず、レプリケーションのみが発生します。障害が発生した場合、レプリカをマスター状態に移行するのに時間がかかる。また、アプリケーションで直接マスターとスレーブのエンドポイントを使用する方法もありますが、これは複雑です。また、両方のRedisノードを同時に再起動するような障害が発生した場合、クラスタ構成のデータもすべて失われる可能性があります。

つまり、一般的にRedisは、性能は良いがデータの耐久性は高くないということです。

ダイナモDB は、高可用性と耐久性を備えたデータストレージです。内部で複数のアベイラビリティゾーンにデータを複製しているため、デフォルトで高い可用性を備えています。また、AWSのフルマネージドサービスであるため、クラスター、ノード、モニタリングなど、クラウドの正しいあり方として考えられている事柄を気にする必要はない。

Dynamo DBは、R/W操作(オンデマンドまたは予約容量モデル)と保存データ量によって課金されます。また、Dynamo DBはR/W(オンデマンド、リザーブド)で課金されるため、テスト利用では安くても、高負荷になるとかなり高くなることが予想されます。そのため、ワークロードをよく分析し、サービスの総コストを計算する必要があります。

パフォーマンスについて。DynamoDBはRedisのインメモリデータベースと比較するとSSDですが、DAX - DynamoDB用インメモリキャッシュリードレプリカを高負荷時にアクセラレータとして使用することが可能です。そのため、DynamoDBの性能に厳密な制限があるわけではありません。

DynamoDBを利用する上で最も複雑な部分である価格計算のリンクはこちらです。 https://aws.amazon.com/dynamodb/pricing/