From 0daea83c36a66b1e3a69baca816ed42b6b12c7c0 Mon Sep 17 00:00:00 2001 From: NathanSpeidel Date: Wed, 20 Jun 2018 17:46:06 -0700 Subject: [PATCH] Updated front page (#8) --- docs/img/bullet-logo.png | Bin 13625 -> 14006 bytes docs/index.md | 24 +++++++++++------------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/docs/img/bullet-logo.png b/docs/img/bullet-logo.png index ebc6d834c565281d02babe44418358bd867ab1cf..bd54e69048484076ac8edf76d02007c871c9fb7c 100644 GIT binary patch literal 14006 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 diff --git a/docs/index.md b/docs/index.md index c9a9f143..32d8dc20 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,26 +1,24 @@ ![Bullet](../img/bullet-logo.png) -# Bullet: +* A real-time query engine for very large data streams -* **Is a real-time query engine for very large data streams** +* NO persistence layer -* **Has NO persistence layer** +* Light-weight, cheap and fast -* **Is light-weight, cheap and fast** +* Multi-tenant -* **Is multi-tenant** +* Pluggable to any data source -* **Is pluggable to any data source** +* Provides a UI and Web Service -* **Provides a UI and Web Service** +* Filter raw data or aggregate data -* **Can filter raw data or aggregate data** +* Can be run on storm or spark streaming -* **Can be run on storm or spark streaming** +* A look-forward query system - operates on data that arrive after the query is submitted -* **Is a look-forward query system** - operates on data that arrive after the query is submitted - -* **Is big-data scale-tested** - used in production at Yahoo and tested running 500+ queries simultaneously on up to 2,000,000 rps +* Big-data scale-tested - used in production at Yahoo and tested running 500+ queries simultaneously on up to 2,000,000 rps # How is this useful @@ -40,7 +38,7 @@ This instance of Bullet also powers other use-cases such as letting analysts val # Quick Start -See [Quick Start](quick-start.md) to set up Bullet using a local Storm topology. You will generate some synthetic streaming data that you can then query with Bullet. +See [Quick Start](quick-start/bullet-on-spark.md) to set up Bullet locally using spark-streaming. You will generate some synthetic streaming data that you can then query with Bullet. # Setting up Bullet on your streaming data