Как получить только информацию, которая изменилась с Кассандры?
Я работаю над созданием схемы семейства колонок Cassandra для моего варианта использования ниже. Я не уверен, каков наилучший способ разработки семейства колонок Cassandra для моего варианта использования ниже? Я буду использовать драйвер Java CQL Datastax для этого ..
Ниже приведен пример использования и пример схемы, которую я разработал на данный момент.
SCHEMA_ID RECORD_NAME SCHEMA_VALUE TIMESTAMP
1 ABC some value t1
2 ABC some_other_value t2
3 DEF some value again t3
4 DEF some other value t4
5 GHI some new value t5
6 IOP some values again t6
Теперь то, что я буду смотреть из приведенной выше таблицы, выглядит примерно так:
В первый раз, когда мое приложение работает, я буду просить все из приведенной выше таблицы .. Значение дать мне все из приведенной выше таблицы ..Затем каждые 5 или 10 минут мой фоновый поток будет проверять эту таблицу и запрашивать у меня только все, что изменилось (полная строка, если что-либо было изменено для этой строки) .. поэтому я использую метку времени в качестве единицы колонны здесь ..Но я не уверен, как спроектировать шаблон запроса таким образом, чтобы оба моих варианта использования были легко удовлетворены, и каков будет правильный способ создания таблицы для этого? Здесь SCHEMA_ID будет первичным ключом, который я собираюсь использовать ...
Я буду использовать драйвер CQL и Datastax Java для этого ..
Обновить:-
Если я использую что-то вроде этого, то есть ли проблемы с этим подходом?
CREATE TABLE TEST (SCHEMA_ID TEXT, RECORD_NAME TEXT, SCHEMA_VALUE TEXT, LAST_MODIFIED_DATE TIMESTAMP, PRIMARY KEY (ID));
INSERT INTO TEST (SCHEMA_ID, RECORD_NAME, SCHEMA_VALUE, LAST_MODIFIED_DATE) VALUES ('1', 't26', 'SOME_VALUE', 1382655211694);
Потому что в моем случае использования я нене хочу, чтобы кто-нибудь вставил то же самоеSCHEMA_ID
каждый раз..SCHEMA_ID
должен быть уникальным всякий раз, когда мы вставляем новую строку в эту таблицу. Так что с вашим примером (@omnibear), возможно, кто-то может вставить один и тот же SCHEMA_ID дважды? Я прав?
А также относительноtype
вы взяли в качестве дополнительного столбца, этот тип столбца может бытьrecord_name
в моем примере ..