---
layout: docpage

title: "Documentation"

is_homepage: false
is_sphinx_doc: true

doc-parent: "Architecture"

doc-title: "Dynamo"
doc-header-links: '
  <link rel="top" title="Apache Cassandra Documentation v3.7" href="../index.html"/>
      <link rel="up" title="Architecture" href="index.html"/>
      <link rel="next" title="Storage Engine" href="storage_engine.html"/>
      <link rel="prev" title="Overview" href="overview.html"/>
'
doc-search-path: "../search.html"

extra-footer: '
<script type="text/javascript">
    var DOCUMENTATION_OPTIONS = {
      URL_ROOT:    "",
      VERSION:     "",
      COLLAPSE_INDEX: false,
      FILE_SUFFIX: ".html",
      HAS_SOURCE:  false,
      SOURCELINK_SUFFIX: ""
    };
</script>
'

---
<div class="container-fluid">
  <div class="row">
    <div class="col-md-2">
      <div class="doc-navigation">
        <div class="doc-menu" role="navigation">
          <div class="navbar-header">
            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
              <span class="sr-only">Toggle navigation</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </button>
          </div>
          <div class="navbar-collapse collapse sidebar-navbar-collapse">
            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
              <div class="form-group">
                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
                <input type="hidden" name="check_keywords" value="yes" />
                <input type="hidden" name="area" value="default" />
              </div>
            </form>
            
            
            
            <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Architecture</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Dynamo</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#gossip">Gossip</a></li>
<li class="toctree-l3"><a class="reference internal" href="#failure-detection">Failure Detection</a></li>
<li class="toctree-l3"><a class="reference internal" href="#token-ring-ranges">Token Ring/Ranges</a></li>
<li class="toctree-l3"><a class="reference internal" href="#replication">Replication</a></li>
<li class="toctree-l3"><a class="reference internal" href="#tunable-consistency">Tunable Consistency</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="storage_engine.html">Storage Engine</a></li>
<li class="toctree-l2"><a class="reference internal" href="guarantees.html">Guarantees</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</a></li>
<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs and Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
</ul>

            
            
          </div><!--/.nav-collapse -->
        </div>
      </div>
    </div>
    <div class="col-md-8">
      <div class="content doc-content">
        <div class="container">
          
  <div class="section" id="dynamo">
<h1>Dynamo<a class="headerlink" href="#dynamo" title="Permalink to this headline">¶</a></h1>
<div class="section" id="gossip">
<span id="id1"></span><h2>Gossip<a class="headerlink" href="#gossip" title="Permalink to this headline">¶</a></h2>
<div class="admonition-todo admonition" id="index-0">
<p class="first admonition-title">Todo</p>
<p class="last">todo</p>
</div>
</div>
<div class="section" id="failure-detection">
<h2>Failure Detection<a class="headerlink" href="#failure-detection" title="Permalink to this headline">¶</a></h2>
<div class="admonition-todo admonition" id="index-1">
<p class="first admonition-title">Todo</p>
<p class="last">todo</p>
</div>
</div>
<div class="section" id="token-ring-ranges">
<h2>Token Ring/Ranges<a class="headerlink" href="#token-ring-ranges" title="Permalink to this headline">¶</a></h2>
<div class="admonition-todo admonition" id="index-2">
<p class="first admonition-title">Todo</p>
<p class="last">todo</p>
</div>
</div>
<div class="section" id="replication">
<span id="replication-strategy"></span><h2>Replication<a class="headerlink" href="#replication" title="Permalink to this headline">¶</a></h2>
<p>The replication strategy of a keyspace determines which nodes are replicas for a given token range. The two main
replication strategies are <a class="reference internal" href="#simple-strategy"><span class="std std-ref">SimpleStrategy</span></a> and <a class="reference internal" href="#network-topology-strategy"><span class="std std-ref">NetworkTopologyStrategy</span></a>.</p>
<div class="section" id="simplestrategy">
<span id="simple-strategy"></span><h3>SimpleStrategy<a class="headerlink" href="#simplestrategy" title="Permalink to this headline">¶</a></h3>
<p>SimpleStrategy allows a single integer <code class="docutils literal"><span class="pre">replication_factor</span></code> to be defined. This determines the number of nodes that
should contain a copy of each row.  For example, if <code class="docutils literal"><span class="pre">replication_factor</span></code> is 3, then three different nodes should store
a copy of each row.</p>
<p>SimpleStrategy treats all nodes identically, ignoring any configured datacenters or racks.  To determine the replicas
for a token range, Cassandra iterates through the tokens in the ring, starting with the token range of interest.  For
each token, it checks whether the owning node has been added to the set of replicas, and if it has not, it is added to
the set.  This process continues until <code class="docutils literal"><span class="pre">replication_factor</span></code> distinct nodes have been added to the set of replicas.</p>
</div>
<div class="section" id="networktopologystrategy">
<span id="network-topology-strategy"></span><h3>NetworkTopologyStrategy<a class="headerlink" href="#networktopologystrategy" title="Permalink to this headline">¶</a></h3>
<p>NetworkTopologyStrategy allows a replication factor to be specified for each datacenter in the cluster.  Even if your
cluster only uses a single datacenter, NetworkTopologyStrategy should be prefered over SimpleStrategy to make it easier
to add new physical or virtual datacenters to the cluster later.</p>
<p>In addition to allowing the replication factor to be specified per-DC, NetworkTopologyStrategy also attempts to choose
replicas within a datacenter from different racks.  If the number of racks is greater than or equal to the replication
factor for the DC, each replica will be chosen from a different rack.  Otherwise, each rack will hold at least one
replica, but some racks may hold more than one. Note that this rack-aware behavior has some potentially <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-3810">surprising
implications</a>.  For example, if there are not an even number of
nodes in each rack, the data load on the smallest rack may be much higher.  Similarly, if a single node is bootstrapped
into a new rack, it will be considered a replica for the entire ring.  For this reason, many operators choose to
configure all nodes on a single &#8220;rack&#8221;.</p>
</div>
</div>
<div class="section" id="tunable-consistency">
<h2>Tunable Consistency<a class="headerlink" href="#tunable-consistency" title="Permalink to this headline">¶</a></h2>
<p>Cassandra supports a per-operation tradeoff between consistency and availability through <em>Consistency Levels</em>.
Essentially, an operation&#8217;s consistency level specifies how many of the replicas need to respond to the coordinator in
order to consider the operation a success.</p>
<p>The following consistency levels are available:</p>
<dl class="docutils">
<dt><code class="docutils literal"><span class="pre">ONE</span></code></dt>
<dd>Only a single replica must respond.</dd>
<dt><code class="docutils literal"><span class="pre">TWO</span></code></dt>
<dd>Two replicas must respond.</dd>
<dt><code class="docutils literal"><span class="pre">THREE</span></code></dt>
<dd>Three replicas must respond.</dd>
<dt><code class="docutils literal"><span class="pre">QUORUM</span></code></dt>
<dd>A majority (n/2 + 1) of the replicas must respond.</dd>
<dt><code class="docutils literal"><span class="pre">ALL</span></code></dt>
<dd>All of the replicas must respond.</dd>
<dt><code class="docutils literal"><span class="pre">LOCAL_QUORUM</span></code></dt>
<dd>A majority of the replicas in the local datacenter (whichever datacenter the coordinator is in) must respond.</dd>
<dt><code class="docutils literal"><span class="pre">EACH_QUORUM</span></code></dt>
<dd>A majority of the replicas in each datacenter must respond.</dd>
<dt><code class="docutils literal"><span class="pre">LOCAL_ONE</span></code></dt>
<dd>Only a single replica must respond.  In a multi-datacenter cluster, this also gaurantees that read requests are not
sent to replicas in a remote datacenter.</dd>
<dt><code class="docutils literal"><span class="pre">ANY</span></code></dt>
<dd>A single replica may respond, or the coordinator may store a hint. If a hint is stored, the coordinator will later
attempt to replay the hint and deliver the mutation to the replicas.  This consistency level is only accepted for
write operations.</dd>
</dl>
<p>Write operations are always sent to all replicas, regardless of consistency level. The consistency level simply
controls how many responses the coordinator waits for before responding to the client.</p>
<p>For read operations, the coordinator generally only issues read commands to enough replicas to satisfy the consistency
level. There are a couple of exceptions to this:</p>
<ul class="simple">
<li>Speculative retry may issue a redundant read request to an extra replica if the other replicas have not responded
within a specified time window.</li>
<li>Based on <code class="docutils literal"><span class="pre">read_repair_chance</span></code> and <code class="docutils literal"><span class="pre">dclocal_read_repair_chance</span></code> (part of a table&#8217;s schema), read requests may be
randomly sent to all replicas in order to repair potentially inconsistent data.</li>
</ul>
<div class="section" id="picking-consistency-levels">
<h3>Picking Consistency Levels<a class="headerlink" href="#picking-consistency-levels" title="Permalink to this headline">¶</a></h3>
<p>It is common to pick read and write consistency levels that are high enough to overlap, resulting in &#8220;strong&#8221;
consistency.  This is typically expressed as <code class="docutils literal"><span class="pre">W</span> <span class="pre">+</span> <span class="pre">R</span> <span class="pre">&gt;</span> <span class="pre">RF</span></code>, where <code class="docutils literal"><span class="pre">W</span></code> is the write consistency level, <code class="docutils literal"><span class="pre">R</span></code> is the
read consistency level, and <code class="docutils literal"><span class="pre">RF</span></code> is the replication factor.  For example, if <code class="docutils literal"><span class="pre">RF</span> <span class="pre">=</span> <span class="pre">3</span></code>, a <code class="docutils literal"><span class="pre">QUORUM</span></code> request will
require responses from at least two of the three replicas.  If <code class="docutils literal"><span class="pre">QUORUM</span></code> is used for both writes and reads, at least
one of the replicas is guaranteed to participate in <em>both</em> the write and the read request, which in turn guarantees that
the latest write will be read. In a multi-datacenter environment, <code class="docutils literal"><span class="pre">LOCAL_QUORUM</span></code> can be used to provide a weaker but
still useful guarantee: reads are guaranteed to see the latest write from within the same datacenter.</p>
<p>If this type of strong consistency isn&#8217;t required, lower consistency levels like <code class="docutils literal"><span class="pre">ONE</span></code> may be used to improve
throughput, latency, and availability.</p>
</div>
</div>
</div>



          
          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
            
            <a href="storage_engine.html" class="btn btn-default pull-right " role="button" title="Storage Engine" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
            
            
            <a href="overview.html" class="btn btn-default" role="button" title="Overview" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
            
          </div>
          
        </div>
      </div>
    </div>
    <div class="col-md-2">
    </div>
  </div>
</div>