SlideShare a Scribd company logo
Sphinx 3.0
поиск 15 лет спустя
Андрей Аксенов
Sphinx
sphinx == привет, эпоха динозавров
• Малоизвестный сервер про поиск
• Началось в 2001, публичность в 2006, сегодня 2016
• Очередная переделка, очередная мажорная версия
• А о чем доклад-то?
• Расскажу, чего делаем – революций нет, “нудная”работа
• Покажу, что есть место подвигу – несмотря на 15 лет итп
обязательный слайд rev.2016
• А почему не elasticsearch?
обязательный слайд
• А почему не htdig? 1995
• А почему не udmsearch? 1998
• А почему не lucene? 1999
• А почему не google search appliance? 2002
• А почему не solr? 2004
• А почему не elasticsearch? 2009
• А почему не poiskifier? 2017
• Сегодня в Гугле 0 (ноль) хитов, посмотрим завтра
обязательный слайд rev.2016
• А почему не elasticsearch? А почему бы нет???
• Потому что могу, пока не умер и не сменил индустрию 
черная сморщенная изюминка
• Не верю в бесконечные горы кода
• Не верю в топовый перф без ассемблера
• Не верю в одну идеальную мегатехнологию
• Не верю в ничьи сверхспособности (в свои особенно)
• => Поэтому какие-то технические причины будут всегда
• Короче, строим вечную альтернативную реальность!!! 
• Могло быть хуже, мог бы быть OpenBSD
хватит ныть, покежь код
• http://github.com/sphinxsearch/
• И все еще письмо на shodan@sphinxsearch.com
• Сырая публичная альфа 1.x – пробовал, плохо
• Длинный секретный рефактор 3.x – пробую, плохо
• Новая переделка каждый, скажем, месяц – ??? 
нас опять обманули, расходимся
• Для всех остальных, наконец, и про технологии, но…
• Ошибка молодости #1, неуверенность в себе
• Ранее == эта, мы добавка к основному хранилищу
• Теперь == не, всё, мы мегабаза (кривая, ну как и все)
• Ошибка молодости #2, проспали облака
• Ошибка молодости #3, оттягивание переделок
• Ошибка молодости #4, небезразличен перф
ошибки надо исправлять
• #1 мегабаза == docstore, vrows, json, btree…
• #2 облака == репликация (первый шаг) и далее (ууу)
• #3 затягивание == меньше кода, проще убивать
• #4 функционал/перф == новый формат индекса
• даст новый функционал – это хорошо
• даст еще и перф – это очень, очень плохо
• “куда я полез, я ж и читать не умею” – привычки 
быстро не вышло, вышло как всегда
• #1 мегабаза == docstore, vrows, json, btree…
• #2 облака == репликация (первый шаг) и далее (ууу)
• #3 затягивание == меньше кода, проще убивать
• #4 функционал/перф == новый формат индекса
• даст новый функционал – это хорошо
• даст еще и перф – это очень, очень плохо
• плюс скрипты, плюс json компрессия, итд итп
подробнее про docstore
• Умеем хранить тело документа (ага, догнали Solr)
• Умеем хранить мини-индекс для сниппетов
• Память не жрёт, диск жрёт, LZ4 умеет
• Текст хранится ок, блобы не пробовали
• Сниппеты ускорились чисто ошпаренные
• Бенчмарков не будет, добровольцы не писали
• Место подвига == внезапно, мини-индекс (плюс LZxx)
подробнее про vrows
• Умеем компактнее хранить атрибуты (1 вместо N ptr)
• Закопали дебильные 4G/16G лимиты начала 2000х
• Стал технически возможен NULL (делать пока не стали)
• Место подвига == не случилось, но
• Занятные эксперименты про SSE2/3/4 vs lens/offsets
• Row level locks? (неохота, страшно!!)
• Efficient mmapping/caching?
подробнее про json
• Умеем ловко жать ключи, честно считать всякое
• Место для подвига ==
• Оказывается, парсеры говнецо (наш тоже)
• Оказывается, честная структура непросто
• Оказывается, компрессия ключей рулит
• Оказывается, спецслучаи типа int[] рулят
подробнее про btree
• Умеем индексы по атрибутам, закапываем __fakeKeyword
• Умеем вчерне индексы по json колонкам даже
• Место для подвига ==
• Оказывается, рукой можно лучше, чем Гугл (оп-паньки)
• Оказывается, вариантов деревьев того, МНОГО
• И осталась куча нетронутого фана про планировщик,
про помериться с LSM и хешами, про index merge, …
подробнее про репликацию
• Умеем вести, играть, пересылать лог действий (binlog)
• Умеем пересылать куски индекса
• Умеем 1:1, 1:N “полуручную” репликацию
• Не умеем “hive mind” кластер, хотим
• Бомбит, понятно, хоть перевыборы мастера бы
• Место для подвига == почитай бесконечное, см. Jepsen
подробнее про формат индекса
• Умеем индексировать и искать (вот это ачивка!!!)
• Умеем в памяти, остался рывок “на диске”
• Внесли простор для extensions
• Место для подвига == сплошной low level (bit farsh бгг)
• внезапно, изобрели тупой, но очень годный кодек
• внезапно, _mm_crc32_u32 лучший хеш эвар
• внезапно, int fastrstr[] и гонки с memcmp итп
• и еще куча мелочей, большую часть забыл
когда релиз, когда смерть эластика?!
• Релиз планировал на вчера (2 мес назад), опять не смог
• Получается, надо либо завтра, либо никогда
• Голосуем!!!
• Эластик умрет сам, мы умрем независимо
• Сроки полураспада долгие, 5-10 лет и более
• И ваще, от меня не зависит никак
dafuq did i just watch???
• Вот знайте, Sphinx там всё пилит версию 3.0 какую-то
• Да, мееедленно и по-эстооонски, да, уже не смешно
• Вот знайте, уже готов ряд всяких небезынтересных штук
• И щаз парни из Авито расскажут, как это все глючит!!!
• Вот знайте, на фронтире до сих пор есть место подвигу
• Нишевым, но спецфокусам, типа-изобретениям итп
и про 15 лет, раз обещали
• Давно же тут сижу – как поменялся ландшафт?
• Адский прогресс везде – языки, VM, алгоритмы, железо
• Уровень входа изрядно подрос – поиск уже тоже база
• Считаю это первым ключевым – кругом какие-то базы
• Считаю вторым ключевым – внезапные логи/аналитику
• Но это не значит, что завтра poiskifier не убьёт всех!!!
• И это не значит, что в нише всё сделано, см. подвиг
вопросы?
shodan@sphinxsearch.com
skype:shodanium

More Related Content

PPTX
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
PPTX
Как устроен поиск / Андрей Аксенов (Sphinx)
PPT
Как устроен NoSQL, Андрей Аксенов (Sphinx)
PPT
Цена абстракции, Андрей Аксёнов (Sphinx)
PPTX
Как устроен поиск
PPTX
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
PPTX
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
PPTX
Как устроена MySQL-репликация, Андрей Аксенов (Sphinx)
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
Как устроен поиск / Андрей Аксенов (Sphinx)
Как устроен NoSQL, Андрей Аксенов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)
Как устроен поиск
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
Как устроена MySQL-репликация, Андрей Аксенов (Sphinx)

What's hot (20)

PDF
Где живут Ваши объявления / Тюрин Михаил (Avito)
PDF
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
PDF
С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo).
PDF
RTB DSP на языке Go: укрощение buzzwords
PDF
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
PPTX
Спасение 6 миллионов файлов в условиях полного Хецнера
PPTX
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
PDF
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
PDF
Барнаул15
PPT
А. Аксенов "Как устроен NoSql", DUMP-2014
PDF
Олег Бартунов (ГАИШ МГУ), Александр Коротков (Интаро-Софт)
PDF
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
PPTX
Andrew Aksyonoff "Архитектура вокруг поиска"
PPTX
опыт построения и эксплуатации большого файлового хранилища
PDF
My talk at Highload++ 2015
PDF
Cоциальный граф "Одноклассников" в myTarget
PDF
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
PDF
My talk on LeoFS, Highload++ 2014
PPTX
MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...
Где живут Ваши объявления / Тюрин Михаил (Avito)
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo).
RTB DSP на языке Go: укрощение buzzwords
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Спасение 6 миллионов файлов в условиях полного Хецнера
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Барнаул15
А. Аксенов "Как устроен NoSql", DUMP-2014
Олег Бартунов (ГАИШ МГУ), Александр Коротков (Интаро-Софт)
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Andrew Aksyonoff "Архитектура вокруг поиска"
опыт построения и эксплуатации большого файлового хранилища
My talk at Highload++ 2015
Cоциальный граф "Одноклассников" в myTarget
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
My talk on LeoFS, Highload++ 2014
MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...
Ad

Viewers also liked (20)

PDF
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...
PDF
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
PDF
Zabbix 3.2 - мониторинг качественно нового уровня / Алексей Владышев (Zabbix)
PDF
Архитектура растущего проекта на примере ВКонтакте / Алексей Акулович (ВКонт...
PDF
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
PPTX
Нейронные сети на страже индустриальной кибербезопасности / Павел Филонов (Ла...
PPTX
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
PDF
"Бэк-офис в Avito: миллиард объявлений на 10 серверах" Вячеслав Крюков (Avito)
PDF
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
PDF
Highload на GPU, опыт Vinci / Олег Илларионов (ВКонтакте)
PDF
Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (...
PPT
Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломера...
PDF
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...
PPTX
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
PPTX
HDD, SSD, RAM, RAID, и кого на ком кэшировать / Михаил Конюхов (Perfect Solut...
PPTX
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
PPTX
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
PDF
Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...
PPTX
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
PPTX
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Zabbix 3.2 - мониторинг качественно нового уровня / Алексей Владышев (Zabbix)
Архитектура растущего проекта на примере ВКонтакте / Алексей Акулович (ВКонт...
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Нейронные сети на страже индустриальной кибербезопасности / Павел Филонов (Ла...
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
"Бэк-офис в Avito: миллиард объявлений на 10 серверах" Вячеслав Крюков (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
Highload на GPU, опыт Vinci / Олег Илларионов (ВКонтакте)
Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (...
Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломера...
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
HDD, SSD, RAM, RAID, и кого на ком кэшировать / Михаил Конюхов (Perfect Solut...
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
Ad

Similar to Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx) (20)

PPT
Tagconf 12 - SphinxSearch - 1
PPTX
Поиск на своем сайте, обзор Open source решений (Алексей Рагозин)
PPTX
Поиск на своем сайте, обзор open source решений
PDF
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
PDF
Где сегодня использовать ElasticSearch
PPT
Cфинкс и поиск терабайта
PDF
20111002 information retrieval raskovalov_lecture3
PPT
sphinx Hlpp2008
PPTX
Как устроен поиск (Андрей Аксёнов)
PPTX
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
PDF
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
PDF
.NET Fest 2018. Андрей Винда. Построение поисковой системы: от тернии к звездам
PDF
Перепись приложения. Нативного. На JS. Done. | Odessa Frontend Meetup #10
PDF
SphinxSearch Meetup - Tips&tricks
PDF
20120226 information retrieval raskovalov_lecture03-04
PDF
Не все базы данных одинаково полезны
PDF
Не все базы данных одинаково полезны
PDF
Выступление Сергея Аверина, Badoo, на High Performance Conference
PDF
20131112федорроманенко
PDF
20131105 романенко
Tagconf 12 - SphinxSearch - 1
Поиск на своем сайте, обзор Open source решений (Алексей Рагозин)
Поиск на своем сайте, обзор open source решений
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Где сегодня использовать ElasticSearch
Cфинкс и поиск терабайта
20111002 information retrieval raskovalov_lecture3
sphinx Hlpp2008
Как устроен поиск (Андрей Аксёнов)
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
13 октября, DEV {web} - конференция о Highload веб-разработке. "Java под нагр...
.NET Fest 2018. Андрей Винда. Построение поисковой системы: от тернии к звездам
Перепись приложения. Нативного. На JS. Done. | Odessa Frontend Meetup #10
SphinxSearch Meetup - Tips&tricks
20120226 information retrieval raskovalov_lecture03-04
Не все базы данных одинаково полезны
Не все базы данных одинаково полезны
Выступление Сергея Аверина, Badoo, на High Performance Conference
20131112федорроманенко
20131105 романенко

More from Ontico (20)

PDF
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
PDF
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
PPTX
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
PDF
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
PDF
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PDF
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PDF
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
PDF
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
PPTX
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
PPTX
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
PDF
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
PPTX
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
PPTX
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
PDF
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
PPT
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
PPTX
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
PPTX
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
PPTX
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
PPTX
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
PDF
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...

Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)

  • 1. Sphinx 3.0 поиск 15 лет спустя Андрей Аксенов Sphinx
  • 2. sphinx == привет, эпоха динозавров • Малоизвестный сервер про поиск • Началось в 2001, публичность в 2006, сегодня 2016 • Очередная переделка, очередная мажорная версия • А о чем доклад-то? • Расскажу, чего делаем – революций нет, “нудная”работа • Покажу, что есть место подвигу – несмотря на 15 лет итп
  • 3. обязательный слайд rev.2016 • А почему не elasticsearch?
  • 4. обязательный слайд • А почему не htdig? 1995 • А почему не udmsearch? 1998 • А почему не lucene? 1999 • А почему не google search appliance? 2002 • А почему не solr? 2004 • А почему не elasticsearch? 2009 • А почему не poiskifier? 2017 • Сегодня в Гугле 0 (ноль) хитов, посмотрим завтра
  • 5. обязательный слайд rev.2016 • А почему не elasticsearch? А почему бы нет??? • Потому что могу, пока не умер и не сменил индустрию 
  • 6. черная сморщенная изюминка • Не верю в бесконечные горы кода • Не верю в топовый перф без ассемблера • Не верю в одну идеальную мегатехнологию • Не верю в ничьи сверхспособности (в свои особенно) • => Поэтому какие-то технические причины будут всегда • Короче, строим вечную альтернативную реальность!!!  • Могло быть хуже, мог бы быть OpenBSD
  • 7. хватит ныть, покежь код • http://github.com/sphinxsearch/ • И все еще письмо на shodan@sphinxsearch.com • Сырая публичная альфа 1.x – пробовал, плохо • Длинный секретный рефактор 3.x – пробую, плохо • Новая переделка каждый, скажем, месяц – ??? 
  • 8. нас опять обманули, расходимся • Для всех остальных, наконец, и про технологии, но… • Ошибка молодости #1, неуверенность в себе • Ранее == эта, мы добавка к основному хранилищу • Теперь == не, всё, мы мегабаза (кривая, ну как и все) • Ошибка молодости #2, проспали облака • Ошибка молодости #3, оттягивание переделок • Ошибка молодости #4, небезразличен перф
  • 9. ошибки надо исправлять • #1 мегабаза == docstore, vrows, json, btree… • #2 облака == репликация (первый шаг) и далее (ууу) • #3 затягивание == меньше кода, проще убивать • #4 функционал/перф == новый формат индекса • даст новый функционал – это хорошо • даст еще и перф – это очень, очень плохо • “куда я полез, я ж и читать не умею” – привычки 
  • 10. быстро не вышло, вышло как всегда • #1 мегабаза == docstore, vrows, json, btree… • #2 облака == репликация (первый шаг) и далее (ууу) • #3 затягивание == меньше кода, проще убивать • #4 функционал/перф == новый формат индекса • даст новый функционал – это хорошо • даст еще и перф – это очень, очень плохо • плюс скрипты, плюс json компрессия, итд итп
  • 11. подробнее про docstore • Умеем хранить тело документа (ага, догнали Solr) • Умеем хранить мини-индекс для сниппетов • Память не жрёт, диск жрёт, LZ4 умеет • Текст хранится ок, блобы не пробовали • Сниппеты ускорились чисто ошпаренные • Бенчмарков не будет, добровольцы не писали • Место подвига == внезапно, мини-индекс (плюс LZxx)
  • 12. подробнее про vrows • Умеем компактнее хранить атрибуты (1 вместо N ptr) • Закопали дебильные 4G/16G лимиты начала 2000х • Стал технически возможен NULL (делать пока не стали) • Место подвига == не случилось, но • Занятные эксперименты про SSE2/3/4 vs lens/offsets • Row level locks? (неохота, страшно!!) • Efficient mmapping/caching?
  • 13. подробнее про json • Умеем ловко жать ключи, честно считать всякое • Место для подвига == • Оказывается, парсеры говнецо (наш тоже) • Оказывается, честная структура непросто • Оказывается, компрессия ключей рулит • Оказывается, спецслучаи типа int[] рулят
  • 14. подробнее про btree • Умеем индексы по атрибутам, закапываем __fakeKeyword • Умеем вчерне индексы по json колонкам даже • Место для подвига == • Оказывается, рукой можно лучше, чем Гугл (оп-паньки) • Оказывается, вариантов деревьев того, МНОГО • И осталась куча нетронутого фана про планировщик, про помериться с LSM и хешами, про index merge, …
  • 15. подробнее про репликацию • Умеем вести, играть, пересылать лог действий (binlog) • Умеем пересылать куски индекса • Умеем 1:1, 1:N “полуручную” репликацию • Не умеем “hive mind” кластер, хотим • Бомбит, понятно, хоть перевыборы мастера бы • Место для подвига == почитай бесконечное, см. Jepsen
  • 16. подробнее про формат индекса • Умеем индексировать и искать (вот это ачивка!!!) • Умеем в памяти, остался рывок “на диске” • Внесли простор для extensions • Место для подвига == сплошной low level (bit farsh бгг) • внезапно, изобрели тупой, но очень годный кодек • внезапно, _mm_crc32_u32 лучший хеш эвар • внезапно, int fastrstr[] и гонки с memcmp итп • и еще куча мелочей, большую часть забыл
  • 17. когда релиз, когда смерть эластика?! • Релиз планировал на вчера (2 мес назад), опять не смог • Получается, надо либо завтра, либо никогда • Голосуем!!! • Эластик умрет сам, мы умрем независимо • Сроки полураспада долгие, 5-10 лет и более • И ваще, от меня не зависит никак
  • 18. dafuq did i just watch??? • Вот знайте, Sphinx там всё пилит версию 3.0 какую-то • Да, мееедленно и по-эстооонски, да, уже не смешно • Вот знайте, уже готов ряд всяких небезынтересных штук • И щаз парни из Авито расскажут, как это все глючит!!! • Вот знайте, на фронтире до сих пор есть место подвигу • Нишевым, но спецфокусам, типа-изобретениям итп
  • 19. и про 15 лет, раз обещали • Давно же тут сижу – как поменялся ландшафт? • Адский прогресс везде – языки, VM, алгоритмы, железо • Уровень входа изрядно подрос – поиск уже тоже база • Считаю это первым ключевым – кругом какие-то базы • Считаю вторым ключевым – внезапные логи/аналитику • Но это не значит, что завтра poiskifier не убьёт всех!!! • И это не значит, что в нише всё сделано, см. подвиг