title: What's the Meaning of "the primary key is the data" in Columnar DB
body: <p>While researching column-oriented DB, I read "the primary key is the data" many times. (e.g., at <a href="https://en.wikipedia.org/wiki/Column-oriented_DBMS" rel="nofollow noreferrer">Column-oriented DBMS</a>)</p>
  
  <p>I thought I can randomly access to any cell (in a certain column) by value because values, the data, are already indexed as primary key.</p>
  
  <p>But after I put more than 3M rows into HBase,
  the HBase shell command</p>
  
  <pre><code>scan 'lottery', {COLUMNS =&gt; 'cf:status', FILTER =&gt; "ValueFilter(=, 'binary:win')"}
  </code></pre>
  
  <p>takes more than 3 seconds...</p>
  
  <p>(It's getting slower and slower as more and more rows are put...)</p>
  
  <p><code>'win'</code> or <code>'lose'</code> are two possible values for the column <code>cf:status</code> and there is only 1 row whose value is <code>'win'</code>.</p>
  
  <p>I might misunderstood...</p>
  
  <p>What does "the primary key is the data" mean in column-oriented DB?</p>
  
  <p>Thank you.</p>