title: Should I really use one DynamoDB table for all data?
body: <p>The <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-general-nosql-design.html" rel="noreferrer">DynamoDB best practice documentation</a> has this line:</p>
  
  <blockquote>
    <p>You should maintain as few tables as possible in a DynamoDB application. <strong>Most well designed applications require only one table.</strong></p>
  </blockquote>
  
  <p>It's the last line that confuses me the most.</p>
  
  <p>Take an example photo storage application. Does this mean that I should store user accounts (account ID, password, email) and photos (owner ID, photo location, metadata) in the same table?</p>
  
  <p>If so I assume the primary key should be the account/owner ID, and the sort key would be the type of object it is (e.g. <code>account</code> or <code>photo</code>).</p>
  
  <p>Should I be using one table like this instead of two tables (one for accounts, one for photos)?</p>