Маршрутизатор шардированной базы добавляет сетевой переход и обработку ответов. В техническом разборе Neki показано, как сократить эту работу: хранить строки в байтах протокола PostgreSQL и разбирать значения по мере необходимости.
При точечном запросе маршрутизатор декодирует параметр ключа шардирования, а ответ передаёт клиенту без разбора столбцов. Заголовки сообщений и длины при этом проверяются. Для
LIMIT нужны границы строк; для сортировки — значения ключа сортировки. Остальные поля могут оставаться в исходном формате.В статье разобраны параметры
Bind, текстовые и бинарные значения, удаление служебного столбца из ответа. Для разработчиков прокси и движков запросов это пример архитектуры, где каждый следующий уровень представления данных создаётся только тогда, когда он нужен операции.#производительность #архитектура
