---
layout: docpage

title: "Documentation"

is_homepage: false
is_sphinx_doc: true

doc-parent: "Architecture"

doc-title: "Overview"
doc-header-links: '
  <link rel="top" title="Apache Cassandra Documentation v4.0-beta3" href="../index.html"/>
      <link rel="up" title="Architecture" href="index.html"/>
      <link rel="next" title="Dynamo" href="dynamo.html"/>
      <link rel="prev" title="Architecture" href="index.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: ".txt"
    };
</script>
'

---
<div class="container-fluid">
  <div class="row">
    <div class="col-md-3">
      <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"><a class="reference internal" href="../new/index.html">New Features in Apache Cassandra 4.0</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Architecture</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#">Overview</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#features">Features</a></li>
<li class="toctree-l3"><a class="reference internal" href="#operating">Operating</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="dynamo.html">Dynamo</a></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="../cql/index.html">The Cassandra Query Language (CQL)</a></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="../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">Contributing to Cassandra</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="../plugins/index.html">Third-Party Plugins</a></li>
<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</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="content-container">
          
  <div class="section" id="overview">
<span id="id1"></span><h1>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h1>
<p>Apache Cassandra is an open source, distributed, NoSQL database. It presents
a partitioned wide column storage model with eventually consistent semantics.</p>
<p>Apache Cassandra was initially designed at <a class="reference external" href="https://www.cs.cornell.edu/projects/ladis2009/papers/lakshman-ladis2009.pdf">Facebook</a>
using a staged event-driven architecture (<a class="reference external" href="http://www.sosp.org/2001/papers/welsh.pdf">SEDA</a>) to implement a combination of
Amazon’s <a class="reference external" href="http://courses.cse.tamu.edu/caverlee/csce438/readings/dynamo-paper.pdf">Dynamo</a>
distributed storage and replication techniques combined with Google’s <a class="reference external" href="https://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf">Bigtable</a>
data and storage engine model. Dynamo and Bigtable were both developed to meet
emerging requirements for scalable, reliable and highly available storage
systems, but each had areas that could be improved.</p>
<p>Cassandra was designed as a best in class combination of both systems to meet
emerging large scale, both in data footprint and query volume, storage
requirements. As applications began to require full global replication and
always available low-latency reads and writes, it became imperative to design a
new kind of database model as the relational database systems of the time
struggled to meet the new requirements of global scale applications.</p>
<p>Systems like Cassandra are designed for these challenges and seek the
following design objectives:</p>
<ul class="simple">
<li>Full multi-master database replication</li>
<li>Global availability at low latency</li>
<li>Scaling out on commodity hardware</li>
<li>Linear throughput increase with each additional processor</li>
<li>Online load balancing and cluster growth</li>
<li>Partitioned key-oriented queries</li>
<li>Flexible schema</li>
</ul>
<div class="section" id="features">
<h2>Features<a class="headerlink" href="#features" title="Permalink to this headline">¶</a></h2>
<p>Cassandra provides the Cassandra Query Language (CQL), an SQL-like language,
to create and update database schema and access data. CQL allows users to
organize data within a cluster of Cassandra nodes using:</p>
<ul class="simple">
<li><strong>Keyspace</strong>: defines how a dataset is replicated, for example in which
datacenters and how many copies. Keyspaces contain tables.</li>
<li><strong>Table</strong>: defines the typed schema for a collection of partitions. Cassandra
tables have flexible addition of new columns to tables with zero downtime.
Tables contain partitions, which contain partitions, which contain columns.</li>
<li><strong>Partition</strong>: defines the mandatory part of the primary key all rows in
Cassandra must have. All performant queries supply the partition key in
the query.</li>
<li><strong>Row</strong>: contains a collection of columns identified by a unique primary key
made up of the partition key and optionally additional clustering keys.</li>
<li><strong>Column</strong>: A single datum with a type which belong to a row.</li>
</ul>
<p>CQL supports numerous advanced features over a partitioned dataset such as:</p>
<ul class="simple">
<li>Single partition lightweight transactions with atomic compare and set
semantics.</li>
<li>User-defined types, functions and aggregates</li>
<li>Collection types including sets, maps, and lists.</li>
<li>Local secondary indices</li>
<li>(Experimental) materialized views</li>
</ul>
<p>Cassandra explicitly chooses not to implement operations that require cross
partition coordination as they are typically slow and hard to provide highly
available global semantics. For example Cassandra does not support:</p>
<ul class="simple">
<li>Cross partition transactions</li>
<li>Distributed joins</li>
<li>Foreign keys or referential integrity.</li>
</ul>
</div>
<div class="section" id="operating">
<h2>Operating<a class="headerlink" href="#operating" title="Permalink to this headline">¶</a></h2>
<p>Apache Cassandra configuration settings are configured in the <code class="docutils literal notranslate"><span class="pre">cassandra.yaml</span></code>
file that can be edited by hand or with the aid of configuration management tools.
Some settings can be manipulated live using an online interface, but others
require a restart of the database to take effect.</p>
<p>Cassandra provides tools for managing a cluster. The <code class="docutils literal notranslate"><span class="pre">nodetool</span></code> command
interacts with Cassandra’s live control interface, allowing runtime manipulation
of many settings from <code class="docutils literal notranslate"><span class="pre">cassandra.yaml</span></code>. The <code class="docutils literal notranslate"><span class="pre">auditlogviewer</span></code> is used
to view the audit logs. The  <code class="docutils literal notranslate"><span class="pre">fqltool</span></code> is used to view, replay and compare
full query logs.  The <code class="docutils literal notranslate"><span class="pre">auditlogviewer</span></code> and <code class="docutils literal notranslate"><span class="pre">fqltool</span></code> are new tools in
Apache Cassandra 4.0.</p>
<p>In addition, Cassandra supports out of the box atomic snapshot functionality,
which presents a point in time snapshot of Cassandra’s data for easy
integration with many backup tools. Cassandra also supports incremental backups
where data can be backed up as it is written.</p>
<p>Apache Cassandra 4.0 has added several new features including virtual tables.
transient replication, audit logging, full query logging, and support for Java
11. Two of these features are experimental: transient replication and Java 11
support.</p>
</div>
</div>



          
          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
            
            <a href="dynamo.html" class="btn btn-default pull-right " role="button" title="Dynamo" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
            
            
            <a href="index.html" class="btn btn-default" role="button" title="Architecture" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
            
          </div>
          
        </div>
      </div>
    </div>
  </div>
</div>