Я использую SQL Server для хранения исторических данных временных рядов за пару сотен тысяч объектов, наблюдаемых около 100 раз в день. Я нахожу, что запросы (дайте мне все значения для объекта XYZ между временем t1 и временем t2) слишком медленны (для моих нужд медленнее больше секунды). Я индексирую по метке времени и объекту.
Я размышлял над тем, что вместо этого использовал somethings хранилище для ключей, например MongoDB, но я не уверен, что это "подходящее" использование такого рода вещей, и я не мог найти никаких упоминаний о используя такую базу данных для данных временных рядов. В идеале я мог бы выполнить следующие запросы:
- получить все данные для объекта XYZ между временем t1 и временем t2
- выполните вышеуказанные действия, но верните одну точку в день (сначала, последний, закрытый до времени t...)
- получить все данные для всех объектов для определенной отметки времени
данные должны быть заказаны, и в идеале он должен быть быстрым для записи новых данных, а также для обновления существующих данных.
похоже, что мое желание запросить идентификатор объекта, а также временную метку может потребовать, чтобы две копии базы данных индексировались по-разному, чтобы получить оптимальную производительность... у кого-нибудь есть опыт создания такой системы, с ключом -value store, или HDF5, или что-то еще? или это полностью выполнимо в SQL Server, и я просто не делаю это правильно?