The Project Layout
Here is what you can find in each subproject in the S2Graph source tree.
s2core: The core library, containing the data abstractions for graph entities, storage adapters and utilities.s2rest_play: The REST server built with Play framework, providing the write and query API.s2rest_netty: The REST server built directly using Netty, implementing only the query API.loader: A collection of Spark jobs for bulk loading streaming data into S2Graph.spark: Spark utilities forloaderands2counter_loader.s2counter_core: The core library providing data structures and logics fors2counter_loader.s2counter_loader: Spark streaming jobs that consume Kafka WAL logs and calculate various top-K results on-the-fly.
The first three projects are for OLTP-style workloads, currently the main target of S2Graph. The other four projects could be helpful for OLAP-style or streaming workloads, especially for integrating S2Graph with Apache Spark and/or Kafka. Note that, the latter four projects are currently out-of-date, which we are planning to update and provide documentations in the upcoming releases.