Лучший способ обновить список одновременно - PullRequest
0 голосов
/ 13 июля 2020

У меня многопоточное приложение. Приложение принимает входные данные, в которых есть поле «классификатор», которое представляет собой строку, и несколько других вспомогательных полей. Входные данные обрабатываются и создается список уникальных строк. Этот список строк необходимо обновить в соответствии с полем Classifier.

Мой подход заключался в использовании динамо-базы данных, где первичный ключ является классификатором, и поддерживать набор. Набор обновляется для каждого созданного списка строк. Я чувствую, что это добавляет много накладных расходов, поскольку TPS распределяется между экземплярами около 2000, и ввод с одним и тем же полем классификатора может повторяться до 30 000 раз. Есть ли лучший подход для хранения всего списка строк, созданных для поля классификатора.

1 Ответ

0 голосов
/ 15 июля 2020

Вы можете сохранить ha sh списка вместе с сохранением фактического списка. Следовательно, таблица classifier_table должна иметь 3 столбца:

classifier_id | список строк | HASH_OF_LIST

Для каждого процесса входящего запроса, как показано ниже:

h1 <- Create a hash(list of strings)

h2 <- select HASH_OF_LIST from classifier_table where classifier_id == <classifier_id>

if h1 != h2:
  insert into classifier_table (list of strings, h2) for classifier_id == <classifier_id>
...