<p>Can <a href="https://github.com/coreos/etcd" rel="noreferrer">etcd</a> be used as reliable database replacement? Since it is distributed and stores key/value pairs in a persistent way, it would be a great alternative nosql database. In addition, it has a great API. Can someone explain why this is not a thing?</p>

<p><strong>etcd</strong></p>

<ul>
<li><a href="http://kubernetes.io/docs/admin/etcd/" rel="noreferrer">etcd</a> is a highly available key-value store which Kubernetes uses for persistent storage of all of its objects like <strong>deployment, pod, service</strong> information. </li>
<li>etcd has high access control, that it can be accessed only using API in master node. Nodes in the cluster other than master <strong>do not have access</strong> to etcd store.</li>
</ul>

<p><strong>nosql database</strong></p>

<ul>
<li><p>There are currently more than than <a href="http://nosql-database.org/" rel="noreferrer">255</a> nosql databases, which can be broadly classified into <a href="https://www.digitalocean.com/community/tutorials/a-comparison-of-nosql-database-management-systems-and-models" rel="noreferrer">Key-Value based, Column based, Document based and Graph based</a>. Considering <strong>etcd</strong> as an key-value store, lets see the available nosql key-value data stores.</p></li>
<li><p><a href="http://bigdata-madesimple.com/a-deep-dive-into-nosql-a-complete-list-of-nosql-databases/" rel="noreferrer">Redis, memcached and memcacheDB</a> are popular key-value stores. These are general-purpose distributed memory caching system often used to speed up dynamic database-driven websites by caching data and objects in memory.</p></li>
</ul>

<p><strong>Why etcd not an alternative</strong></p>

<ul>
<li><p>etcd cannot be stored in memory(ram) they can only be persisted in disk storage, whereas redis can be cached in ram and can also be persisted in disk.</p></li>
<li><p>etcd does not have various data types. It is made to store only kubernetes objects. But redis and other key-value stores have data-type flexibility.</p></li>
<li><p>etcd guarantees only high availabilty, but does not give you the fast querying and indexing. All the nosql key-value stores are built with the goal of fast querying and searching.</p></li>
</ul>

<p>Eventhough it is obvious that etcd cannot be used as an alternative nosql database, I think the above explanation will prove it cannot be an suitable alternative.</p>
