Skip to content

Product Requirement Document

vmx edited this page Nov 3, 2014 · 1 revision

General Description

Feature Perspective

This PRD is about getting spatial views production ready. Hence it can be considered a new feature, though from the coding perspective it's an improvement as the spatial views are already part of Couchbase since 2.0.

User Perspective

The user will use the spatial views the same way as the mapreduce views. Either through the Web UI or with and SDK.

Acceptable Constraints

The spatial views won't be as fast as the mapreduce views.

Target Release

Sherlock

Requirements

General Requirements

  • Multidimensional index/queries
  • Indexing geometries

UI Requirements

The UI is already there, but it could be improved to the level of the mapreduce views. Things the mapreduce views interface does and the spatial doesn't:

  • Show syntax errors when a function is saved
  • Display that there are no results when there were no results

Currently you need to create a mapreduce view before you can create a spatial view. This might be something to change.

Performance Requirements

Stability is the main focus for now. Performance comes later.

Behaviour on Topology changes

The expected behaviour on topology changes is exactly the same as for mapreduce views.

Failure mode behaviour

The expected failure mode is the same as for mapreduce views.

Possible Future Enhancements

  • Geometry search
  • More topological predicates for querying. I.e. not only query for everything intersecting a certain bounding box/geometry, but also be able to query for full containment or outside of some predicate.
  • Support for values other than numbers

Testplan

Design Document

Workflow

Status

Implementation

GA Release

Original spatial views in 2.0. The multidimensional ones in 3.0. The production ready ones in Sherlock.