HBase - What's the difference between WAL and MemStore?
<p>I am trying to understand the <code>HBase</code> architecture. I can see two different terms are used for same purpose.</p>

<p><code>Write Ahead Logs</code> and <code>Memstore</code>, both are used to store new data that hasn't yet been persisted to <code>permanent storage</code>.</p>

<p>What's the difference between <code>WAL</code> and MemStore?</p>

<p><strong>Update:</strong></p>

<p>WAL  - is used to recover not-yet-persisted data in case a server crashes.
MemStore - stores updates in memory as Sorted Keyvalue.</p>

<p>It seems lot of duplication of data before writing the data to Disk.</p>