Как стать автором
Обновить

Комментарии 4

Ребята, спасибо. Статья интересная, но я правильно понял, что primary index в vinyl так же сделан ввиде LSM Tree? Так же интересно узнать как Вы боритель паузами во время компашена. Если можно задать такой вопрос.
Да, первичный ключ — тоже LSM tree. Описание работы винила, имхо, заслуживает отдельной статьи. Но если в двух словах — во время compaction транзакции используют старые файлы. А в момент переключения со старых файлов на новые все итераторы хитрым образом перепозиционируются на новые файлы. Ленивым образом, то есть только при продолжении итерирования, конечно.
Интересно. Так как Вы используете зелёные потоки возможно вам будет интеерсна, эта статья www.scylladb.com/2018/06/12/scylla-leverages-control-theory в контексте compaction для LSM Tree. Были еще вопросы, но пока аппровался коммент я их забыл :LoL. Надо будет ещё раз пробежаться по ней :-)
И ещё одно решине для хеш индексов, оно спорное с точки зрения потребления места на диске, я когда то делал небольшой прототип github.com/laa/lsmtrie, вот собственно сам paper www.usenix.org/system/files/conference/atc15/atc15-paper-wu.pdf
Зарегистрируйтесь на Хабре, чтобы оставить комментарий