Вставка и удаление значений в R-Tree является довольно дорогой операцией, когда необходимо поддерживать оптимальную балансировку для быстрого окна или ближайших запросов, особенно в многопоточной среде.
Более эффективный подходиспользование одного писателя (актера или потока), который собирает обновления в пакетном режиме, упаковывает новый экземпляр R-Tree и публикует его в некоторой энергозависимой переменной для чтения.
Здесь - сравнение некоторого R-Tree реализации, которые могут быть использованы таким образом из Scala.