Аннотация
В некоторых приложениях сбор данных доминирует над обработкой данных. Например, при мониторинге движущихся объектов часто требуется больше операций вставки и обновления, чем запросов. Это дисбаланс часто демонстрируется при сборе данных с использованием автоматических сенсоров. В более широкой постановке, нерешенной проблемой является индексирование потоков.
Для этих приложений хорошим вариантом являются индексы на основе B-деревьев, если принять некоторые компромиссные решения, направленные на оптимизацию скорее операций обновления, чем запросов. В этой статье приводится обзор некоторых методов, которые за счет снижения эффективности обработки запросов позволяют B-деревьям выдерживать очень высокий темп обновлений, на несколько порядков более высокий, чем могут допустить традиционные B-деревья. Не удивительно, что некоторые из этих методов напоминают методы, используемые при создании, перестройке индексов и т.д., а другие выводятся из известных технологий, таких как дифференциальные файлы и файловые системы с журнальной структурой (log-structured file system).