Информация
- В рейтинге
- 208-й
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Технический директор, Директор по продукту
SQL
Git
Python
PostgreSQL
Linux
ООП
MySQL
Базы данных
C++
Алгоритмы и структуры данных
Я делаю много упражнений на пресс и на длинные мышцы спины, для этого достаточно турника или станка для гиперэкстензий.
При обновлении значения, которое присутствует в кэше, значение из кэша удаляется. Хранить его более не имеет смысла т.к. новое значение присутствует в level0 lsm дерева, Который и так в памяти.
— сжатие временных рядов. Мы используем алгоритм компрессии общего назначения, zstd, но для временных рядов могут использоваться специализированные (дифференциальные) алгоритмы сжатия. Мы не проверяли относительную эффективность специализированных алгоритмов и zstd, пока до этого не дошли руки, возможно там существует принципиальный выигрыш в степени сжатия.
— учёт того что данные во временных рядах не пересекаются по диапазону во время compaction. Этот учёт у нас реализован за счёт функционала Ranges, т.к. каждый range — это отдельное lsm дерево, мы автоматически исключим из compaction старые диапазоны time series. Там ещё возможен тюнинг и дальнейшее снижение compaction overhead — думаю ещё можно выиграть до 50% write bandwidth специализированными алгоритмами, но принципиально этот вопрос учтён.
Резюмируя, таким образом, пригодность винила для time series: эффективность ниже чем у полностью специализированного time series storage engine, по моим оценкам в 1.5-2 раза, тем не менее достаточно высокая в сравнении с lsm общего назначения или тем более btree. Сравнение и бенчмаркинг мы ещё не проводили, поэтому подтвердить свои слова цифрами пока не могу, это оценки на основе понимания внутреннего устройства некоторых time series движков.