Нужны рекомендации по созданию записи в Кассандре - PullRequest
0 голосов
/ 12 марта 2012

Я новичок в Кассандре, и мне немного трудно это понять, создавая простое пространство клавиш с некоторой структурой, о которой я думаю. Я создал пространство клавиш под названием «приобретение», используя CLI Cassandra.

Используя Cassandra-CLI, как я могу создать следующее для пространства ключей «приобретения» -

TagNo // This is the super column
{
  ID // This is the column family
   {
     // here we shall have lots of entries. (Rows)
     user1: {rate, distance, capacity}
     user2: {rate, distance, capacity}
    }    
}

Оценить расстояние и пропускную способность можно в виде строк или удвоений. Но сейчас это не имеет значения.

Я не уверен, как это сделать с помощью CLI. Поэтому, пожалуйста, помогите

1 Ответ

2 голосов
/ 13 марта 2012
  • создать пространство ключей.

    создание получения пространства ключей с помощью place_strategy = 'org.apache.cassandra.locator.SimpleStrategy' и Strategy_options = {replication_factor: 1};

  • создать семейство суперколонок.

    create column family TagNo with column_type = 'Super' and comparator = 'UTF8Type' and subcomparator = 'UTF8Type' and default_validation_class = 'UTF8Type' and column_metadata = [{ column_name : rate, validation_class : AsciiType}, { column_name : 'distance', validation_class : AsciiType}, {column_name : 'capacity', validation_class : AsciiType}];
    
  • установить несколько примеров значений для семейства суперколонок TagNo.

    [default@acquisition] set TagNo[utf8('ID')]['user1']['rate'] = '10';
    Value inserted.
    Elapsed time: 2 msec(s).
    [default@acquisition] set TagNo[utf8('ID')]['user1']['distance'] = '100'; 
    Value inserted.
    Elapsed time: 2 msec(s).
    [default@acquisition] set TagNo[utf8('ID')]['user1']['capacity'] = '50';
    Value inserted.
    Elapsed time: 2 msec(s).
    [default@acquisition] set TagNo[utf8('ID')]['user2']['capacity'] = '50';
    Value inserted.
    Elapsed time: 2 msec(s).
    [default@acquisition] set TagNo[utf8('ID')]['user2']['rate'] = '20';
    Value inserted.
    Elapsed time: 1 msec(s).
    [default@acquisition] set TagNo[utf8('ID')]['user2']['distance'] = '100'; 
    Value inserted.
    Elapsed time: 2 msec(s).
    
  • показать значения..

    [default@acquisition] get TagNo[utf8('ID')];
    => (super_column=user1,
         (column=capacity, value=50, timestamp=1331605812776000)
         (column=distance, value=100, timestamp=1331605805912000)
         (column=rate, value=10, timestamp=1331605780216000))
    => (super_column=user2,
         (column=capacity, value=50, timestamp=1331605816568000)
         (column=distance, value=100, timestamp=1331605846008000)
         (column=rate, value=20, timestamp=1331605821608000))
    Returned 2 results.
    Elapsed time: 3 msec(s).
    
...