Алексей Миловидов—Не слишком глупые указатели в ClickHouse
Автор: C++ Russia — Конференция по разработке на Cpp
Загружено: 2019-07-30
Просмотров: 3496
Описание:
Подробнее о конференции C++ Russia: https://jrg.su/9Sszhd
— —
. . . ClickHouse — column-oriented DBMS. Конвейер обработки данных в ClickHouse оперирует кусочками столбцов — массивами однородных данных среднего размера. Для управления ресурсами для этих объектов было бы логично использовать std::shared_ptr либо интрузивный указатель со счётчиком ссылок. А возможность разделить владение очень удобно подходит для реализации common subexpression elimination в запросах.
Но на практике оказалось, что shared_ptr недостаточно безопасен. Нам пришлось реализовать новый вид указателей, с помощью которого можно точно контролировать модификации объекта. В докладе будет описана механика реализации этих указателей, детали их использования для сложных структур данных, примеры современных возможностей C++, необходимых для реализации. Также будет рассказано про несколько возможностей, которых не хватает в стандарте C++, чтобы сделать реализацию более простой.
Повторяем попытку...

Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: