<!DOCTYPE html>
<html>
  



<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive regional outages.
">
  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
  <meta name="robots" content="index,follow" />
  <meta name="language" content="en" />  

  <title>Announcing the 2019 Apache Cassandra Summit</title>

  <link rel="canonical" href="http://cassandra.apache.org/events/2019-apache-cassandra-summit/">

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
  <link rel="stylesheet" href="./../../css/style.css">
  

  
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
  
  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
</head>

  <body>
    <!-- breadcrumbs -->
<div class="topnav">
  <div class="container breadcrumb-container">
    <ul class="breadcrumb">
      <li>
        <div class="dropdown">
          <img class="asf-logo" src="./../../img/asf_feather.png" />
          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
            <li><a href="http://www.apache.org">Apache Homepage</a></li>
            <li><a href="http://www.apache.org/licenses/">License</a></li>
            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
            <li><a href="http://www.apache.org/security/">Security</a></li>
          </ul>
        </div>
      </li>

      
      <li><a href="./../../">Apache Cassandra</a></li>
      

      
        
        <li>Announcing the 2019 Apache Cassandra Summit</li>
        
      

      

      
    </ul>
  </div>

  <!-- navbar -->
  <nav class="navbar navbar-default navbar-static-top" role="navigation">
    <div class="container">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="./../../"><img src="./../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
      </div><!-- /.navbar-header -->

      <div id="cassandra-menu" class="collapse navbar-collapse">
        <ul class="nav navbar-nav navbar-right">
          <li><a href="./../../">Home</a></li>
          <li><a href="./../../download/">Download</a></li>
          <li><a href="./../../doc/">Documentation</a></li>
          <li><a href="./../../community/">Community</a></li>
          <li>
            <a href="./../../blog/">Blog</a>
        </li>
        </ul>
      </div><!-- /#cassandra-menu -->

      
    </div>
  </nav><!-- /.navbar -->
</div><!-- /.topnav -->

    <div class="content">
  <div class="container">
  <h2 id="announcing-the-2019-apache-cassandra-summit">Announcing the 2019 Apache Cassandra Summit</h2>

<p><span style="font-size: 20px; width: 650px; display: block;">Join the Apache Cassandra community for the 2019 Apache Cassandra Summit, hosted with ApacheCon in Las Vegas, NV (Sept 9 - 13).</span></p>

<hr />

<h3 id="apache-cassandra-at-apachecon">Apache Cassandra at ApacheCon</h3>

<p><img src="/img/apachecon-2019.jpg" alt="ApacheCon 2019" style="float: right; width: 400px" /></p>

<p>For more information about other events at ApacheCon, see <a href="https://apachecon.com/acna19/index.html">ApacheCon 2019</a>.</p>

<p> </p>

<h4 id="day-one-next-generation-cassandra-conference-ngcc">Day One: Next Generation Cassandra Conference (NGCC)</h4>
<p>NGCC (Next Generation Cassandra Conference), a one-day event for Apache Cassandra contributors and large system operators to meet, discuss, and plan future development in the project. NGCC will take place on <strong>Tuesday, September 10th</strong>.</p>

<p>NGCC is an advanced event targeted toward Apache Cassandra contributors and large system / platform operators. Content will focus on Cassandra internals and is geared toward those with detailed knowledge of the codebase and architecture. All are welcome to attend.</p>

<p> </p>

<h4 id="day-two-apache-cassandra-summit">Day Two: Apache Cassandra Summit</h4>
<p>The Apache Cassandra Summit, a one-day event for Apache Cassandra users to meet, network, and learn about what’s new and what’s coming in Cassandra. The Apache Cassandra Summit will be held on <strong>Wednesday, Sept 11</strong>.</p>

<p>The Apache Cassandra Summit is targeted toward a wider audience. Topics should be interesting and accessible to those whose first introduction to Cassandra is at this event, and those who have been active in the community for many years.</p>

<hr />

<h3 id="call-for-presentations">Call for Presentations</h3>

<p>We’re excited to announce the Call for Presentations is now open for both, closing Monday, May 13 at 2pm BST (UTC+1).</p>

<p> </p>

<h4 id="apache-cassandra-summit-cfp-40-minute-presentation-5-minute-qa-">Apache Cassandra Summit CFP (40-minute presentation, 5-minute Q&amp;A) –</h4>

<p><strong>Example proposals might include:</strong></p>
<ul>
  <li>Lessons learned operating Apache Cassandra at scale.</li>
  <li>Customizations and ways members of the community have extended Apache Cassandra to make it a great fit for their use case.</li>
  <li>Stability improvements, performance enhancements, and new features in an upcoming Cassandra release.</li>
  <li>Something we haven’t thought about that a general audience would be interested to hear.</li>
</ul>

<p> </p>

<h4 id="next-generation-cassandra-conference-cfp-30-minute-presentation-15m-breakout-">Next Generation Cassandra Conference CFP (30-minute presentation, 15m breakout) –</h4>

<p><strong>Example proposals might include:</strong></p>
<ul>
  <li>Presentations from contributors and large operators covering pain points and proposals to address them</li>
  <li>Planned or proposed improvements in specific areas of the Apache Cassandra codebase</li>
  <li>Planned or proposed improvements we can make to strengthen and empower the Apache Cassandra community.</li>
  <li>Something we haven’t thought about that advanced operators / contributors would be interested to hear.</li>
</ul>

<p> </p>

<p><span style="font-size: 20px; display: block;"><a href="https://asf.jamhosted.net/cfp.html">Click here</a> to submit a proposal for the Apache Cassandra Summit or NGCC.</span></p>

<p>When submitting, please ensure you select “Cassandra” as the category. For NGCC submissions, please include “NGCC Proposal” in the “Optional Notes” field.</p>


  </div>
</div>

    <hr />

<footer>
  <div class="container">
    <div class="col-md-4 social-blk">
      <span class="social">
        <a href="https://twitter.com/cassandra"
           class="twitter-follow-button"
           data-show-count="false" data-size="large">Follow @cassandra</a>
        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
           class="twitter-hashtag-button"
           data-size="large"
           data-related="ApacheCassandra">Tweet #cassandra</a>
        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>

      </span>
      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
          <span><i class="fa fa-rss"></i></span>
      </a>
    </div>

    <div class="col-md-8 trademark">
      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
      <p>
    </div>
  </div><!-- /.container -->
</footer>

<!-- Javascript. Placed here so pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="./../../js/underscore-min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>



<script type="text/javascript">
  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

  try {
    var pageTracker = _gat._getTracker("UA-11583863-1");
    pageTracker._trackPageview();
  } catch(err) {}
</script>


  </body>
</html>
