title: Why HBase RowKey, ColumnKey and value are binary values (bytes), but not String?
body: <p>A <strong>HBase</strong> value is indexed by 4 keys: <em><code>TableName</code></em>, <em><code>RowKey</code></em>, <em><code>ColumnKey</code></em>, <em><code>Timestamp</code></em>.</p>
  
  <p>Where:</p>
  
  <ul>
  <li><code>TableName</code> is a string</li>
  <li><code>RowKey</code> and <code>ColumnKey</code> are binary values (Java type byte[])</li>
  <li><code>Timestamp</code> is a 64-bit integer (Java type long)</li>
  <li>value is an uninterpreted array of bytes (Java™ type byte[])</li>
  </ul>
  
  <p>Binary data is encoded in Base64 for transmission over the wire.</p>
  
  <p>Why keys and values are stored using bytes instead of String?</p>