Является ли upsert правильным вариантом для интенсивного использования? - PullRequest
0 голосов
/ 28 мая 2019

Я проектирую модель данных для транзакционного варианта использования, который требует интенсивной записи. Нагрузка на запись составит 900 - 1600 транзакций в секунду (TPS), что будет составлять 30 миллионов операций вставки / обновления в день, а загрузка на чтение составит 600 - 800 TPS

.

Поскольку мы выбрали встроенную модель данных, мы используем запросы upsert в большинстве мест. У нас есть уникальные индексы, построенные на правильных полях, чтобы сделать поиск быстрее. Из 30 миллионов TPS в день мы будем выполнять как минимум 10 миллионов переходов в день

Я хотел бы знать:

  1. Разумно ли хранить документы внедренными и каждый раз выполнять загрузку (с учетом нагрузки), а не хранить документы в 2 отдельных коллекциях и выполнять объединения для передачи данных клиентским приложениям?

  2. Учитывая нагрузку, я подозреваю, что слишком большая часть upsert создаст высокий IO и приведет к краху системы.

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