JSON data type

Registered by Haifeng Li on 2015-05-21

JSON data types are for storing JSON (JavaScript Object Notation) data, as specified in RFC 7159. Such data can also be stored as CLOB/BLOB, but the JSON data types have the advantage of enforcing that each stored value is valid according to the JSON rules. JSON-specific functions and operators should be provided to access/process fields in JSON. For long term, we should also enable JavaScript engine to support advanced process of JSON data as UDF or stored procedure.

We could support two JSON data types: json and jsonb. The json data type stores an exact copy of the input text, which processing functions must reparse on each execution; while jsonb data is stored in a decomposed binary format that makes it slightly slower to input due to added conversion overhead, but significantly faster to process, since no reparsing is needed. jsonb also supports indexing, which can be a significant advantage.

SQL++ is a highly composable and expressive semi-structured query language that encompasses both SQL and JSON data models. For ease of learning, it is built as a backwards-compatible extension over SQL.

http://arxiv.org/abs/1405.3631
http://forward.ucsd.edu/sqlpp
http://www.couchbase.com/press-releases/couchbase-introduces-n1ql-breakthrough-query-language

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Haifeng Li
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.