cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <>
Subject [jira] [Created] (CASSANDRA-7970) JSON support for CQL
Date Thu, 18 Sep 2014 16:54:34 GMT
Jonathan Ellis created CASSANDRA-7970:

             Summary: JSON support for CQL
                 Key: CASSANDRA-7970
             Project: Cassandra
          Issue Type: Bug
          Components: API
            Reporter: Jonathan Ellis
            Assignee: Tyler Hobbs
             Fix For: 3.0

JSON is popular enough that not supporting it is becoming a competitive weakness.  We can
add JSON support in a way that is compatible with our performance goals by *mapping* JSON
to an existing schema: one JSON documents maps to one CQL row.

Thus, it is NOT a goal to support schemaless documents, which is a misfeature [1] [2] [3].
 Rather, it is to allow a convenient way to easily turn a JSON document from a service or
a user into a CQL row, with all the validation that entails.

Since we are not looking to support schemaless documents, we will not be adding a JSON data
type (CASSANDRA-6833) a la postgresql.  Rather, we will map the JSON to UDT, collections,
and primitive CQL types.

Here's how this might look:

CREATE TYPE address (
  street text,
  city text,
  zip_code int,
  phones set<text>

  id uuid PRIMARY KEY,
  name text,
  addresses map<text, address>

{‘id’: 4b856557-7153,
   ‘name’: ‘jbellis’,
   ‘address’: {“home”: {“street”: “9920 Mateo Cv”,
                        “city”: “Austin”,
                        “zip_code”: 78747,
                        “phones”: [2108614702]}}};

SELECT JSON id, address FROM users;

(We would also want to_json and from_json functions to allow mapping a single column's worth
of data.  These would not require extra syntax.)


This message was sent by Atlassian JIRA

View raw message