title: Can a SQL database support "insert only" mode?
body: <p>In the latest years the "<strong>Insert Only</strong>" methodology came more and more popular. 
  For those who use SQL DB you probably know that in high volume with a lot of <strong>update</strong> queries the DB is locking the rows and you starting to get a "bottleneck". the <strong>Insert Only</strong> mode is to use only insert (without updates) and always retrieve the latest item in the DB.</p>
  
  <p>The issue I'm facing is with the SELECT queries since there is a field that can be common for multiple records in the DB and if I will want to query by it I will never know when I got all of the <strong>latest</strong> records for the field above (unless I'm using GROUP and this will not be efficient)</p>
  
  <p>Scheme Example: </p>
  
  <p>let say I have the following scheme: </p>
  
  <pre><code>CREATE TABLE users
  (
    id         SERIAL    NOT NULL
      CONSTRAINT users_pkey
      PRIMARY KEY,
  
    first_name VARCHAR(255),
    last_name  VARCHAR(255),
    username   VARCHAR(255),
    email      VARCHAR(255),
    password   VARCHAR(255),
    account_id INTEGER,
    created_at TIMESTAMP NOT NULL
  );
  </code></pre>
  
  <p>Now let say I have the following users that's related to account number 1 (using account_id):
  1. John Doe
  2. Jain Doe</p>
  
  <p>If I will want to edit John Doe last name in the Insert Only mode I will insert a new record and when I will want to retrieve it I will run the following query:</p>
  
  <pre><code>SELECT * from users WHERE email='jhon.doe@test.com' ORDER BY created_at Desc limit 1;
  </code></pre>
  
  <p>The issue is what I need to to if I want to retrieve all account 1 users ? how can I prevent from executing poor query with group by</p>
  
  <p>The following query will return 3 records although I have only 2 users</p>
  
  <pre><code>SELECT * from users WHERE account_id=1;
  </code></pre>