YDB уже почти 10 лет использует и развивает собственную реализацию акторной системы на C++. За это время на реализацию посмотрели с разных углов и почти через все призмы. Но полгода назад было решено сравнить YDB с конкурентами - CockroachDB и YugabyteDB - и снова было найдено много интересного. Команда смотрела на бенчмарки, YCSB-бенчмарк, FlameGraph под нагрузкой. Ребята нашли самые затратные места CPU, экспериментировали с кодом, оптимизировали акторную систему и работу с ней. Стоит упомянуть, что заметный результат дала также оптимизация работы с protobuf, пробовали thinLTO и PGO. В итоге итеративно пришли к тому, что в тесте YCSB - это самая быстрая распределённая база данных SQL. В докладе основной рассказ будет про акторную систему: от общего обзора до интересных и неочевидных оптимизаций, которые дали результаты, а также про сам процесс поиска проблем производительности.
27 сен 2024