Что почитать на выходных: «The Art of Latency Hiding in Modern Database Engines» от Kaisong Huang и соавторов
В работе рассматриваются методы скрытия различных видов задержек в современных OLTP-движках. Может быть актуально в разработке высокопроизводительных систем или ТЧЕ-ФЭ-ТИ (простите, мы пересмотрели туториалов на Ютубе).
Основные идеи:
🎯 Корутины для минимизации переключений: Использование стэклесс корутин позволяет с минимальными затратами переключаться между транзакциями, эффективно скрывая задержки при обращениях к памяти.
🚀 Асинхронное I/O: Применение io_uring и асинхронных вызовов дает возможность не простаивать на ожидании операций с диском, что критично при работе с cold store.
🔄 Двухочередная система планирования: Разделение транзакций на in-memory и storage-bound позволяет оптимально использовать ресурсы системы и поддерживать высокую пропускную способность даже при смешанных нагрузках.
Для углубления рекомендуем:
- Изучить основы модели coroutine-to-transaction (например, в CoroBase).
- Ознакомиться с документацией по io_uring и асинхронному I/O в Linux.
- Просмотреть репозиторий проекта на GitHub: github.com/sfu-dis/mosaicdb
Интересно в целом почитать, как устроены знакомые механизмы и как люди придумывают всякие хитрости для их ускорения.
Quant Researcher
Post #120
3K

- 👍 20