Комментарии 6
Тип итератора — GT (Greater Than, больше чем). Это означает, что итератор будет осуществлять последовательный обход значений индекса начиная с переданного ключа (значения поля row_ver).
Или GE использовать, или начинать будет со следующего (что и показывают примеры).
+1
Вопрос: а протокол HTTP и гоняемый по нему JSON не убьет всю экономию трафика? Низкоуровневая репликация обычно в более компактном бинарном виде, возможно даже в сжатом, и без «мусора» (типа http-заголовков).
Раз уж цель — экономия трафика, то для репликации на высоком уровне в Tarantool-е «из коробки» поддерживается что-то более компактное, чем HTTP+JSON, например, обмен между Тарантулами по Tarantool Protocol?
Раз уж цель — экономия трафика, то для репликации на высоком уровне в Tarantool-е «из коробки» поддерживается что-то более компактное, чем HTTP+JSON, например, обмен между Тарантулами по Tarantool Protocol?
+1
- Основная цель высокоуровневой репликации — достичь большей гибкости при передаче данных. Это универсальный подход, способный работать даже в распределенных/гетерогенных системах (см. рис. 3). Поэтому HTTP здесь — больше преимущество, чем недостаток. Количество трафика при использовании JSON на самом деле не является большой проблемой, т.к. сжатый JSON часто сопоставим по размеру с бинарным представлением данных.
- Экономия трафика по сравнению с низкоуровневой репликацией может быть получена за счет гибкости подхода. Например, в БД 1000 таблиц, а я хочу передавать только 10.
- Если речь идет о передаче данных между Тарантулами и для высокоуровневой репликации хочется использовать именно бинарный протокол, то для этих целей есть модуль net.box. Но такое решение будет менее универсальным.
- Высокоуровневая репликация не является решением «из коробки». Если нужно что-то более компактное в плане протокола, только между Тарантулами внутри кластера и «из коробки», то ваш выбор — встроенная (низкоуровневая) репликация.
+1
Михаил пытаюсь повторить ваш код по шагам, но спотыкаюсь на выборке при помощи функции get_goods(0):
tarantool> get_goods(0)
---
- error: '[string "return get_goods(0)"]:1: attempt to call global ''get_goods'' (a
nil value)'
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Высокоуровневая репликация в СУБД Tarantool