Как сравнивается производительность YugaBytes между клиентом Redis и клиентом Postgres для простой схемы Key-Value? - PullRequest
0 голосов
/ 21 февраля 2019

Учитывая, что YugaByte предлагает клиентские драйверы для Redis и Postgres, мне было интересно узнать о различиях в производительности между ними, если они используются аналогичным образом.

Например, предположим, что в таблице Postgres есть 2 столбца, 1 VARCHAR в качествепервичный ключ и 1 столбец TEXT для данных.Для этой таблицы выполняются только запросы INSERT INTO, UPDATE, SELECT val, SELECT EXISTS(...), DELETE FROM, все с условием WHERE primary_key_constraint = val.

Использование аналогично операциям Redis SET, GET, EXISTS, DEL.

Добавляет ли драйвер Postgres дополнительные операции к этим операциям по сравнению с драйвером Redis?

1 Ответ

0 голосов
/ 23 февраля 2019

Они должны быть примерно такими же, но, если быть точным, производительность через API YCQL / YEDIS, как ожидается, будет выше, чем у API YSQL, прежде всего потому, что драйверы клиента для YCQL / YEDIS поддерживают кластеризацию / разбиение иможет направить запрос непосредственно на правильный узел в кластере, которому принадлежит ключ.Напротив, ванильные клиентские драйверы Postgres, которые были разработаны для исторического взаимодействия с базой данных с одним экземпляром, не знают о том, как таблицы разделяются между несколькими узлами, и, таким образом, потенциально подвергаются дополнительному прыжку узла для обработки запроса.

Кроме того, для YSQL в настоящее время в базе данных YugaByte нет специальных операций, связанных только с одним осколком / одной строкой, но это в ближайшей перспективе.Так что этот разрыв должен быть преодолен довольно скоро.

...