Если вы имеете дело с простой таблицей как таковой:
CREATE TABLE myTable (
[DATE] datetime,
[TYPE] varchar(255),
[VALUE] varchar(255)
)
Создание индекса, вероятно, для TYPE,DATE,VALUE
- в таком порядке - даст вам хорошую производительность по описанному вами запросу.Используйте план объяснения или любой другой эквивалент в базе данных, с которой вы работаете, для проверки показателей производительности.И настройте запланированное задание для регулярной дефрагментации этого индекса - частота будет зависеть от того, как часто происходит вставка, удаление и обновление.
Что касается альтернативного хранилища (например, NoSQL), вы ничего не получите.NoSQL светит, когда вам нужно хранилище без схемы.Другими словами, вы не знаете определения сущности с течением времени.Но из того, что вы описали, у вас есть очень четкое представление о том, что вы хотите сохранить, что хорошо подходит для реляционной базы данных.
Теперь возможности масштабирования по времени включают разбиение и каждую TYPE
запись в отдельную таблицу.Часть разделения может быть выполнена по типу и / или дате.На самом деле это будет зависеть от характера запросов, с которыми вы имеете дело, например, если вы обычно запрашиваете значения в течение того же года, и от того, что ваша база данных предлагает в этом отношении.