Hi Edward, I anticipate that the column names will be reused a lot. For example, key1 will be in many rows. So I think the number of distinct column names will be much much smaller than the number of rows. Is there a way to have a separate CF that keeps track of the column names?
What I was thinking was to have a separate CF that I write only the column name with a null value in there every time I write a key/value to the main CF. In this case if that column name exist, then it will just be overridden. Now if I wanted to get all the column names, then I can just query that CF. Not sure if that's the best approach at high load (100k inserts a second). -- Drew On Apr 4, 2013, at 12:02 PM, Edward Capriolo <edlinuxg...@gmail.com> wrote: > You can not get only the column name (which you are calling a key) you can > use get_range_slice which returns all the columns. When you specify an empty > byte array (new byte[0]{}) as the start and finish you get back all the > columns. From there you can return only the columns to the user in a format > that you like. > > > On Thu, Apr 4, 2013 at 2:18 PM, Drew Kutcharian <d...@venarc.com> wrote: > Hey Guys, > > I'm working on a project and one of the requirements is to have a schema free > CF where end users can insert arbitrary key/value pairs per row. What would > be the best way to know what are all the "keys" that were inserted > (preferably w/o any locking). For example, > > Row1 => key1 -> XXX, key2 -> XXX > Row2 => key1 -> XXX, key3 -> XXX > Row3 => key4 -> XXX, key5 -> XXX > Row4 => key2 -> XXX, key5 -> XXX > … > > The query would be give me all the inserted keys and the response would be > {key1, key2, key3, key4, key5} > > Thanks, > > Drew > >