У меня большой dataset
, возможно, более миллиона записей.Все элементы имеют назначенную метку времени, и элементы добавляются в набор во время выполнения (обычно, но не всегда, с более новой меткой времени).Мне нужно показать подмножество этих данных с учетом определенного диапазона времени.Этот временной интервал обычно довольно мал по сравнению с общим набором данных, т.е. из 1.000.000+ элементов не более чем около 1000 находятся в данном заданном временном диапазоне.Этот временной диапазон движется с постоянной скоростью, например, каждую секунду временной диапазон перемещается на одну секунду.Кроме того, пользователь может настраивать временной диапазон в любое время («перемещаться» по набору данных) или устанавливать дополнительные фильтры (например, фильтровать по некоторому тексту).
До сих пор я не беспокоился о производительности, пытаясьчтобы сделать все правильно, и работал только с меньшими наборами тестов.Я не совсем уверен, как эффективно решить эту проблему, и был бы рад за любой вклад.Спасибо.
Редактировать: Используемый язык - C # 4.
Обновление: я сейчас использую дерево интервалов, реализацию можно найти здесь: https://github.com/mbuchetics/RangeTree
Это также приходитс асинхронной версией, которая перестраивает дерево с помощью библиотеки параллельных задач (TPL).