Изменяет ли обновление строки в таблице Cassandra время записи? - PullRequest
2 голосов
/ 25 июня 2019

У меня есть таблица в Кассандре, которая постоянно обновляется.Я хотел бы знать, обновляется ли время записи строки / значения с каждым обновлением данных в строке или есть только одно время записи (отметка времени), данное при первой записи в таблицу, которая никогда не изменяется.Спасибо всем, кто может ответить:)

Ответы [ 2 ]

2 голосов
/ 25 июня 2019

Вот пример, показывающий, что отметка времени изменяется только в обновленном столбце:

cqlsh:keyspace1> create table keyspace1.testwrites (id int primary key, firstname text, lastname text);
cqlsh:keyspace1> insert into testwrites(id, firstname, lastname) values (1, 'Valerie', 'Rodriguez');
cqlsh:keyspace1> select id, firstname, writetime(firstname), lastname, writetime(lastname) from testwrites;

 id | firstname | writetime(firstname) | lastname  | writetime(lastname)
----+-----------+----------------------+-----------+---------------------
  1 |   Valerie |     1561471068014970 | Rodriguez |    1561471068014970

(1 rows)
cqlsh:keyspace1> insert into testwrites(id, firstname, lastname) values (2, 'Valerie', 'Smith');
cqlsh:keyspace1> select id, firstname, writetime(firstname), lastname, writetime(lastname) from testwrites;

 id | firstname | writetime(firstname) | lastname  | writetime(lastname)
----+-----------+----------------------+-----------+---------------------
  1 |   Valerie |     1561471068014970 | Rodriguez |    1561471068014970
  2 |   Valerie |     1561471078606684 |     Smith |    1561471078606684

(2 rows)
cqlsh:keyspace1> insert into testwrites(id, firstname, lastname) values (2, 'Valerie', 'Jones');
cqlsh:keyspace1> select id, firstname, writetime(firstname), lastname, writetime(lastname) from testwrites;

 id | firstname | writetime(firstname) | lastname  | writetime(lastname)
----+-----------+----------------------+-----------+---------------------
  1 |   Valerie |     1561471068014970 | Rodriguez |    1561471068014970
  2 |   Valerie |     1561471097668583 |     Jones |    1561471097668583

(2 rows)
cqlsh:keyspace1> insert into testwrites(id, firstname, lastname) values (3, 'Valerie', 'Garcia');
cqlsh:keyspace1> select id, firstname, writetime(firstname), lastname, writetime(lastname) from testwrites;

 id | firstname | writetime(firstname) | lastname  | writetime(lastname)
----+-----------+----------------------+-----------+---------------------
  1 |   Valerie |     1561471068014970 | Rodriguez |    1561471068014970
  2 |   Valerie |     1561471097668583 |     Jones |    1561471097668583
  3 |   Valerie |     1561471114925083 |    Garcia |    1561471114925083

(3 rows)
cqlsh:keyspace1> update testwrites set firstname='Alex' where id=1;
cqlsh:keyspace1> select id, firstname, writetime(firstname), lastname, writetime(lastname) from testwrites;

 id | firstname | writetime(firstname) | lastname  | writetime(lastname)
----+-----------+----------------------+-----------+---------------------
  1 |      Alex |     1561471131764488 | Rodriguez |    1561471068014970
  2 |   Valerie |     1561471097668583 |     Jones |    1561471097668583
  3 |   Valerie |     1561471114925083 |    Garcia |    1561471114925083
1 голос
/ 25 июня 2019

Поскольку данные записываются при каждом обновлении, время записи будет также обновляться при каждом обновлении.

Кроме того, время записи для столбца, функция WRITETIME также берет столбец для получения метки времени.

См. Документацию здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...