I'm build a location based "chat" application and am using Amazon's DynamoDB to take advantage of the high throughput and automatic scaling.
The application will frequently update user's location's in the database (I'm using a PHP geohash library). It will also search for users within a specific geographic radius.
I'm new to NoSQL (I have a lot of MySQL experience) and would like some input on modeling my "Users" table. Two concerns:
1) If the geohash / longitude / latitude attributes of users are updated frequently, will this cause an issue (table locking?) with DynamoDB? In MySQL, I would create a separate table for just those values to prevent locking the entire Users table. Do I need to worry about that in DynamoDB?
2) Searching for users in a geographic radius? Is this just setting up a Global Secondary Index on the geohash attribute and performing a query on that? Will sharding cause an issue with this?