Я ищу использование хранилища таблиц, такого как Azure, Google или Apache HBase, для хранения сущностей / строк, но я не смог найти в Интернете никакой справки по моему шаблону использования. Это выглядит так:
- У объекта есть идентификатор или ключ, например UserId.
- Значение даты, например "StartedUsingProduct".
- Значение даты, например StoppedUsingProduct.
Запросы в основном будут иметь тип «На дату T найти всех пользователей, которые использовали продукт». Обратите внимание, что один и тот же UserId будет иметь много (тысячи) пар старт / стоп.
В случае с Azure - PartitionKey будет UserID - RowKey «StartedUsingProduct», но тогда я не могу найти достойный способ запроса без полного сканирования раздела.
В случае Google, следуя их рекомендации, ключ - будет иметь вид «UserID_StartUsingProduct», и я получаю ту же проблему, когда мне нужно получить значительное количество строк, а затем отфильтровать с помощью второго свойства.
Есть ли у кого-нибудь представление о том, как атаковать этот конкретный шаблон использования?