Fluo Tour

Welcome to the Fluo tour! The tour offers a hands on introduction to Fluo, broken down into independent steps and an exercise. The exercise gives you a chance to apply what you have learned. The tour starts by introducing Fluo’s Data Model.

Before starting the tour, you may be wondering how you could use Fluo. A simple use case shows one possible way to use Fluo: the case of counting words in unique documents. This could be accomplished by two MapReduce jobs: one job to get a unique set of documents and a following job to count words. For a large amount of existing data, running both jobs for a small amount of new data is inefficient. Fluo enables continuous, quick computations of these two joins as new data arrives, constantly emitting deltas of word counts. Anything could consume the emitted deltas. For example, a query system could be continuously updated using them. Later in the tour, you can implement this use case.

We recommend following the tour in order. However, all pages are listed below for review. When on a tour page, the left and right keys on the keyboard can be used to navigate. If you have any questions or suggestions while going through the tour, please contact us. There are multiple options for getting in touch : mailing list, IRC, and GitHub Issues. Any thoughts, solutions, etc related to this tour can also be tweeted using the hashtag #apachefluotour.

  1. Data Model

  2. Architecture

  3. Writing and Running Fluo code

  4. Read and Write Data

  5. Basic Data Types

  6. Snapshot Isolation

  7. Snapshot Isolation Code

  8. Collisions

  9. Collision code

  10. Transaction Logging

  11. Write Skew

  12. Write Skew Code

  13. Read Locks

  14. Read Lock Code

  15. Scanning

  16. Scanning Code

  17. Fetching multiple cells

  18. Loader Executor

  19. Observer Concepts

  20. Observer Example

  21. Word counts for unique documents exercise

  22. Row Locking

  23. Weak Notification Exercise

  24. Weak Notification Code

  25. Application Configuration

  26. Memory limits and self notify

  27. Memory limits and self notify code

  28. Fluo Recipes