2017-06-28 7 views
0

私は約30kのデバイスを多数追跡するソフトウェアを作成しています。DynamoDBに動くオブジェクトのlong long情報を格納する

  1. は、私はすべて5秒
  2. は今、私はそれができるように、データベース内のすべての情報を保持するために必要な機器の位置情報を取得する(同様ユーバーはなく、位置情報はGPS機器の異なる種類に由来します)任意のデバイスを追跡したり、近くのデバイスを検索したりするために使用されます。ここ

私が計画したものである。

  1. 私が持っている各デバイスの最新の位置情報を保持Livetrack呼ばDBダイナモ表
  2. データのDeviceID、tiestamp、緯度、経度
  3. が含ま

私はそれは60000が5秒ごとに読み込み/ 30000は、書き込み要求を満たすことができるように、DynamoDBのテーブルを設計する必要がありどのように

  • 私の読み書き容量の単位は何でしょうか。
  • 開発が完了すると、aws cloud DynamoDBを使用します
  • DynamoTableを使用せず、redisのようなキャッシングを使用しますか?

    from __future__ import print_function # Python 2/3 compatibility 
     
    import boto3 
     
    
     
    dynamodb = boto3.resource('dynamodb', region_name='us-west-2', endpoint_url="http://localhost:8000") 
     
    
     
    
     
    table = dynamodb.create_table(
     
        TableName='LocationOne', 
     
        KeySchema=[ 
     
         { 
     
          'AttributeName': 'deviceid', 
     
          'KeyType': 'HASH' #Partition key 
     
         } 
     
         
     
        ], 
     
        AttributeDefinitions=[ 
     
         { 
     
          'AttributeName': 'deviceid', 
     
          'AttributeType': 'S' 
     
         } 
     
        ], 
     
        ProvisionedThroughput={ 
     
         'ReadCapacityUnits': 10, 
     
         'WriteCapacityUnits': 10 
     
        } 
     
    )
    :地元DynamoDBのインストールで

、私はすべて5秒6つのデバイスのデータを書き込むと、デバイスのデータを読み取ることができないです場合は、同時に

は私のLivetrackデータは次のように作成されます

答えて

0

DynamoDB Autoscaling機能を使用する必要がありますが、これはローカルのDynamodbでは利用できない場合があります。 DynamoDBオートスケーリングは、スロットリングの問題の拡張と防止に役立ちます。

DynamoDBの自動スケーリングは、動的に実際のトラフィックパターンに 応じて、あなたに代わってプロビジョニングされたスループット容量を調整 にAWSアプリケーションの自動スケーリングサービスを使用しています。これにより、テーブルまたはグローバルの二次インデックスは、調整されずにトラフィックの突然の増加に対応する へのプロビジョニングされた読み取りおよび書き込み容量を増やすことができます。 のワークロードが減少すると、アプリケーションの自動スケーリングによってスループットが低下して、未使用のプロビジョニングされた容量を支払わないように、 が処理されます。

ベストプラクティス: - ベストプラクティスとして

deviceidがシーケンシャルではないことを確認してください。そのため、データはパーティション全体に分散されます。これは、すべての読み取り/書き込みが上記のユースケースに必要な同じパーティションを使用しないようにするのに役立ちます。

Refer this blog for designing the best partition key

関連する問題