Contents
Map-reduce index
Description
Implement a library that maintains an index based on a map-reduce view. For details see the "links" section bellow.
Requirements
programming
medium
data structures
medium
databases
beginner
Basic features
reuse an existing database -- a key value store like Berkeley DB or Level DB;
- provide an API to add and remove a document (which triggers view rebuilding);
embed a minimal map / reduce function implementation language (like JavaScript or Scheme);
Medium features
- identify the requirements for an abstract storage engine;
- implement it independent of the underlaying storage engine;
- allow multiple languages;
Advanced features
- views based on views -- use another view as input for a map-reduce task;
- triggers -- when a value changes call a custom piece of code;
- scalability -- how to manage the views in a distributed environment;
- provide a REST-full API to the engine;