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