You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by GitBox <gi...@apache.org> on 2019/04/30 22:15:08 UTC

[GitHub] [couchdb-documentation] ryanworl commented on a change in pull request #407: RFC for Mango on FDB

ryanworl commented on a change in pull request #407: RFC for Mango on FDB
URL: https://github.com/apache/couchdb-documentation/pull/407#discussion_r279957158
 
 

 ##########
 File path: rfcs/006-mango-fdb.md
 ##########
 @@ -0,0 +1,154 @@
+# Mango RFC
+
+- - - -
+name: Formal RFC
+about: Submit a formal Request For Comments for consideration by the team.
+title: ‘Mango JSON indexes in FoundationDB’
+labels: rfc, discussion
+assignees: ‘’
+
+- - - -
+
+[NOTE]: # ( ^^ Provide a general summary of the RFC in the title above. ^^ )
+
+# Introduction
+
+This document describes the data model and indexing management for Mango json indexes in FoundationDB.
+
+## Abstract
+
+This document details the data model for storing Mango indexes.  The basic model is that we would have a namespace for storing defined indexes and then a dedicated namespace per index for the key/values for a given index. Indexes will be updated in the transaction that a document is written to FoundationDB. When an index is created on an existing database, a background task will build the index up to the Sequence that the index was created at.
+
+## Requirements Language
+
+[NOTE]: # ( Do not alter the section below. Follow its instructions. )
+
+The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”,
+“SHOULD”, “SHOULD NOT”, “RECOMMENDED”,  “MAY”, and “OPTIONAL” in this
+document are to be interpreted as described in
+[RFC 2119](https://www.rfc-editor.org/rfc/rfc2119.txt).
+
+## Terminology
+
+`Sequence`: a 13 byte value formed by combining the current `Incarnation` of the database and the `Versionstamp` of the transaction. Sequences are monotonically increasing even when a database is relocated across FoundationDB clusters. See (RFC002)[LINK TBD]  for a full explanation.
 
 Review comment:
   You will probably be using the tuple encoding for the keys, and the `Incarnation` will therefore be a variable length integer that will be one byte the vast majority of the time (under values of 249 I believe), but will not be strictly speaking 13 bytes.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services