You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Robert Li (JIRA)" <ji...@apache.org> on 2016/02/01 21:05:39 UTC

[jira] [Created] (CASSANDRA-11103) In CQL, can not create table with no predefined column

Robert Li created CASSANDRA-11103:
-------------------------------------

             Summary: In CQL, can not create table with no predefined column
                 Key: CASSANDRA-11103
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11103
             Project: Cassandra
          Issue Type: Bug
            Reporter: Robert Li


We have a service layer that provides Cassandra access to our (thousands of) edge and backend servers. The service provides simple API to set/get data in the form of List<Tag>, while Tag is a structure of (name, value, ttl, timestamp) that maps to the data of a Cassandra column.
This service layer acts as a connection pool proxy to Cassandra, provides easy access, central usage / resource / performance monitoring, access control. Apps accessing this layer can create column family through an admin tool which creates the CF using Thrift client, and set/get data (using List<Tags>) into/from the column family.
With the latest CQL, it seems not possible to create column family without predetermined column names. One option for us is to create table with a column of type Map. However, a Map column has two unpleasant implications:
1. Every column has to be prefixed with the name of the map column, which is unnatural and redundant. 
2. The data type of all columns has to be the same. The ability to store data in native format is lost.
It seems the fact that CQL can not create table without predefined column represents loss of function that is available in Thrift based client. It's almost a show stopper for us, preventing us to migrate from Thrift base client to the new Java client.
Attachments



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)