Какой из типов баз данных Azure Cosmos DB мне следует использовать для регистрации простых событий из моего мобильного приложения? - PullRequest
0 голосов
/ 17 февраля 2020

Я хотел бы настроить ведение журнала событий для своего приложения. Простая информация, такая как дата (ГГГГММДД), активность и приложение. Позже я хотел бы запросить это, чтобы дать мне некоторую простую информацию, например, сколько раз определенное действие происходило за каждый месяц.

Из того, что я вижу, в Космосе есть несколько различных типов баз данных, таких как No SQL и Casandra.

Что было бы наиболее подходящим для удовлетворения моих простых потребностей?

1 Ответ

1 голос
/ 17 февраля 2020

Вы можете использовать Cosmos DB SQL API для хранения этих данных. Он имеет rich querying capabilities, а также имеет отличную поддержку aggregate функций.

Одна вещь, которую вам нужно иметь в виду, это ваша стратегия разделения данных и соответственно создайте ключ раздела вашего контейнера. Учитывая, что вы будете собирать данные ежемесячно, я бы рекомендовал создать ключ раздела для года и месяца, чтобы данные за месяц (и год) оставались в одном логическом разделе. Однако обратите внимание, что логический раздел может содержать только 10 ГБ данных (включая индексы), поэтому вам, возможно, придется переосмыслить свою стратегию разделения, если вы ожидаете, что данные будут go выше 10 ГБ.

Более дешевая альтернатива для вас будет использовать Azure Table Storage однако он не обладает такими богатыми возможностями запросов, а также не имеет возможности агрегирования. Однако, используя некоторый код (работающий в Azure Функции), вы можете агрегировать данные самостоятельно.

...