0

ロケーションベースの「チャット」アプリケーションを構築しており、Amazon の DynamoDB を使用して高スループットと自動スケーリングを利用しています。

アプリケーションは、データベース内のユーザーの場所を頻繁に更新します (私は PHP geohash ライブラリを使用しています)。また、特定の地理的半径内のユーザーも検索します。

私は NoSQL を初めて使用します (MySQL の経験が豊富です)。「Users」テーブルのモデリングについて意見を求めています。2 つの懸念事項:

1) ユーザーのジオハッシュ/経度/緯度属性が頻繁に更新される場合、DynamoDB で問題 (テーブル ロック?) が発生しますか? MySQL では、Users テーブル全体がロックされないように、これらの値だけを格納する別のテーブルを作成します。DynamoDB でそれについて心配する必要はありますか?

2) 地理的な半径でユーザーを検索していますか? これは、geohash 属性にグローバル セカンダリ インデックスを設定し、それに対してクエリを実行しているだけですか? シャーディングはこれに問題を引き起こしますか?

4

1 に答える 1