TGViewer
dmedovich notes dmedovich notes @dmedovich_notes · 156 subscribers
Post #27 301
Learned Index, или хоть кто-то умный...
Провёл небольшой эксперимент с индексом в Amber. Изначально поиск пересекающихся временных диапазонов был довольно простым: проходили по всем сегментам и проверяли, пересекается ли каждый из них с нужным диапазоном. Работало супер, но линейно. Первым решением было сделать бинарный интервальный индекс. Но в моменте ресерча я открыл для себя ещё и Learned Index, и понеслась...



В чём идея? А идея очень красивая.
Допустим, у нас есть массив с отсортированными ключами:
key:       10  20  30  40  50  60  70  80  90  100
position: 0 1 2 3 4 5 6 7 8
9
Обычный индекс хранит структуру, по которой мы ищем нужную нам позицию, а наш сегодняшний гость предлагает посмотреть чуть иначе на ситуацию: зачем искать позицию, если можно ее предсказывать?


Моделька учит приближенную зависимоть ключа к позиции, и для любых ключей которые мы ищем модель будет отвечать так: "он где-то вот тут - [x:y]", тобишь мы получаем диапазон где точно есть ответ.


А что есть моделька начнет врать? допустим предсказывает позицию 8, а реальная позиция окажется 10, тут повляется prediction err, который говорит нам следующее - prediction это не точный ответ, а лишь отправная точка для поиска его. Мы должны проверять диапазон вокруг prediction, а не слепо верить что модель его угадала.


По существу в этом и есть вся суть Learning index - сужать поиск как можно сильнее, он не обязан угадывать позицию идеально 10 раз из 10, да и врятли когда-то будет, вся его работа просто как можно сильнее сузить область поиска.


Подробнее про Learning Index
Подробнее про интеграцию в amber и результатов
  • 🔥 7
  • 🏆 1
More from @dmedovich_notes
  1. Sep 9, 2026В погоне за ядрами: история про микрооптимизацию хеш-функции Иногда значительная часть CPU…
  2. Aug 26, 2026Прунинг сегментов в Amber: Ribbon, CQF и SuRF 😴 Хватит пока с нас индексов — поговорим не…
  3. Jun 16, 2026honey@lab:~$ cat amber/notes-2 😗😗😗 amber уже хранит логи и трейсы — почти бесплатно, по…
  4. May 24, 2026honey@lab:~$ cat queen/dev-blog/01 ☺️☺️☺️ Queen v0.7.0 Большая обновочка прикатила в мою q…
  5. May 21, 2026honey@lab:~$ cat amber/dev-blog/01 🏠Bitmap, ribbon, posting list — или как усидеть на трё…
  6. May 3, 2026@lab:~$ cat post/honey-garden 🧑‍💻🧑‍💻🧑‍💻 2 недели, golang и react итоги: Каждый раз,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →