Pages - Menu

Pages - Menu

Pages

2023年7月23日日曜日

Amazon DynamoDB Accelerator (DAX) は、一秒間に数百万件のリクエストに答える為のオプションが御座います。

https://wa.aws.amazon.com/wellarchitected/2020-07-02T19-33-23/wat.question.PERF_4.ja.html


データベースのキャッシングオプションを有効にする: リレーショナルデータベースをキャッシュするための Amazon ElastiCache for Redis や、DynamoDB 用の完全マネージド型で可用性の高いインメモリキャッシュのための Amazon DynamoDB Accelerator (DAX) などのデータベースのキャッシングオプションを評価します。これらのオプションを使用すると、1 秒間に数百万件のリクエストであっても、場合によってはミリ秒からマイクロ秒までパフォーマンスを向上させることができます。


----

https://www.ragate.co.jp/blog/articles/17820

DynamoDBのDAXを使用して、データベースのレイテンシーを劇的に低減する方法

DynamoDBのDAXを使用して、データベースのレイテンシーを劇的に低減する方法

こんにちは!

Amazon Web Services(AWS)のDynamoDBのDAX(DynamoDB Accelerator)を使用することで、データベースのレイテンシーを劇的に低減することができます。この記事では、DAXを使用してレイテンシーを低減する方法について詳しく解説します。

はじめに

DynamoDBは、AWSのNoSQLデータベースサービスです。このサービスを使用すると、高いスループットと低いレイテンシーを実現することができます。しかし、データベースのレイテンシーをさらに低減するためには、DAXを使用する必要があります。

DAXは、DynamoDBのキャッシュサービスです。DAXを使用すると、データベースのレイテンシーを劇的に低減することができます。分かりやすく例えると、DynamoDBに特化したElasticCacheのようなサービスです。

この記事では、DAXを使用してレイテンシーを低減する方法について詳しく解説します。

DAXを使用してレイテンシーを低減する方法

DAXを使用すると、DynamoDBのキャッシュを有効にすることができます。キャッシュを有効にすると、データベースのレイテンシーが劇的に低減することができます。

キャッシュを構成するためには、CloudFormationを使用してDAXを構成する必要があります。以下のCloudFormationはDAXを構成する例です。

Resources:
  DAXCluster:
    Type: AWS::DAX::Cluster
    Properties:
      ClusterName: my-dax-cluster
      NodeType: dax.r4.large
      ReplicationFactor: 3
      AvailabilityZones:
        - us-east-1a
        - us-east-1b
        - us-east-1c
      SubnetGroupName: my-dax-subnet-group
      SecurityGroupIds:
        - sg-12345678
      ParameterGroupName: my-dax-parameter-group
      IAMRoleARN: arn:aws:iam::123456789012:role/my-dax-role

以下は、DAXに設定するIAMロールのポリシーの例です。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DaxAccessPolicy",
            "Effect": "Allow",
            "Action": [
                "dynamodb:DescribeTable",
                "dynamodb:PutItem",
                "dynamodb:GetItem",
                "dynamodb:UpdateItem",
                "dynamodb:DeleteItem",
                "dynamodb:Query",
                "dynamodb:Scan",
                "dynamodb:BatchGetItem",
                "dynamodb:BatchWriteItem",
                "dynamodb:ConditionCheckItem"
            ],
            "Resource": [
                "arn:aws:dynamodb:us-west-2:123456789012:table/Books"
            ]
        }
    ]
}

IAMロールには、DAXがAssumeRoleするためのプリンシパルの設定も忘れずに設定します。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "dax.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

まとめ

本記事では、DAXを使用してデータベースのレイテンシーを劇的に低減する方法について解説しました。DAXを使用すると、キャッシュを有効にしたり、データベースを構成したりすることができます。これらの機能を使用することで、データベースのレイテンシーを劇的に低減することができます。

サーバーレス開発低コストなAWS開発内製化はお気軽にお問い合わせください。

0 件のコメント:

コメントを投稿