Seastar is an advanced, open-source C++ framework for high-performance server applications on modern hardware. Seastar is used in ScyllaDB, a high-performance NoSQL database compatible with Apache Cassandra. Applications using Seastar can run on Linux or OSv.

Performance

In the above examples, all servers are running on Linux. The stock Memcached is version 1.4.17.

Details on HTTP performance data are also available.

About Seastar

Seastar is the first framework to bring together a set of extreme architectural innovations, including:

  • Shared-nothing design: Seastar uses a shared-nothing model that shards all requests onto individual cores.
  • High-performance networking: Seastar offers a choice of network stack, including conventional Linux networking for ease of development, DPDK for fast user-space networking on Linux, and native networking on OSv.
  • Futures and promises: an advanced new model for concurrent applications that offers C++ programmers both high performance and the ability to create comprehensible, testable high-quality code.
  • Message passing: a design for sharing information between CPU cores without time-consuming locking.

Seastar applications

While many applications can benefit from high performance, Seastar is currently focused on high-throughput, low-latency I/O intensive applications.

  • Pedis: Redis-compatible data structure store
  • Scylla: NoSQL column-store database, compatible with Apache Cassandra at 10x the throughput
  • Seastar HTTPD: web server
  • Seastar Memcached: a fast server for the Memcache key-value store

These sample applications illustrate a range of Seastar techniques.

Getting started with Seastar

Source code is available from the Seastar repository on GitHub.

Seastar documentation is available on the web or within the source code.

seastar-dev is the project mailing list.

Complete the form below, or follow @ScyllaDB on Twitter, for more info.

Next: shared-nothing design