Size: a a a

2020 September 09

MA

Mons Anderson in Tarantool
len — это длина спейса
count — это подсчёт элементов по ключу в индексе. в частном случае он заоптимизирован в, по сути, вызов len, чтобы не делать fullscan на миллионы.

вопрос был про длину спейса
источник
2020 September 10

L

Lina in Tarantool
Привет,
Столкнулась с такой проблемой, при использовании docker образа tarantool в lua скрипте, при вызове require("http.router") выпадает ошибка что http.router он не знает. Пыталась обойти эту ошибку с помощью Dockerfile который исполнял
RUN tarantoolctl rocks install http
, но стоит дойти до этой строчки, как он начинает ругаться. Есть ли способ все таки заставить http.router работать в докере?
источник

ST

Satbek Turganbayev in Tarantool
Lina
Привет,
Столкнулась с такой проблемой, при использовании docker образа tarantool в lua скрипте, при вызове require("http.router") выпадает ошибка что http.router он не знает. Пыталась обойти эту ошибку с помощью Dockerfile который исполнял
RUN tarantoolctl rocks install http
, но стоит дойти до этой строчки, как он начинает ругаться. Есть ли способ все таки заставить http.router работать в докере?
А как ругается? И какой именно докер образ?
источник

L

Lina in Tarantool
Docker образ https://hub.docker.com/r/tarantool/tarantool пробовала версии 2.6.0, 2.3.2 и 1.7, а ругается он вот так вот
источник

ST

Satbek Turganbayev in Tarantool
Аа install http
источник

ST

Satbek Turganbayev in Tarantool
Не http.router
источник

L

Lina in Tarantool
просто http тоже самое
источник

TS

Timur Safin in Tarantool
Lina
Docker образ https://hub.docker.com/r/tarantool/tarantool пробовала версии 2.6.0, 2.3.2 и 1.7, а ругается он вот так вот
docker build --network=host
источник

AI

Alexander Ilin in Tarantool
Lina
Docker образ https://hub.docker.com/r/tarantool/tarantool пробовала версии 2.6.0, 2.3.2 и 1.7, а ругается он вот так вот
Конкретно эта ошибка падает из-за отсутствия curl в образе тарантула. Если раскручивать дальше по цепочке, то для успешной установки пакетов rocks в докере надо добавить в контейнер недостающие зависимости следующей командой:
> apk update && apk add curl gcc g++ make cmake unzip git
источник

L

Lina in Tarantool
Alexander Ilin
Конкретно эта ошибка падает из-за отсутствия curl в образе тарантула. Если раскручивать дальше по цепочке, то для успешной установки пакетов rocks в докере надо добавить в контейнер недостающие зависимости следующей командой:
> apk update && apk add curl gcc g++ make cmake unzip git
Спасибо большое
источник

A:

Aleks Raiden :: Coin... in Tarantool
Привет всем. Простите, может глупый вопрос, только осваиваю тарантул.

Хотел реализовать такую архитектуру:

- приложения через коннекторы обновляют спейсы (memtx) - то есть там всегда текущие последние данные

Историю сохраняю в винил (по моим тестам вышло ~6х лучше по месту чем mariaDB/InnoDB)

Хотел повесить триггер на обновление спейса и в нем уже вставлять в такой же по структуру но с движком винила.

Но не пускает, говорит нельзя в транзакции использовать оба движка (это я читал в документации, но там скорее что не рекомендовано, чем нельзя вообще).

Или это нюанс текущего коннектора (tarantool-php)?

Или вообще я неправильно архитектуру строю изначально?
источник

MF

Michael Filonenko in Tarantool
> Но не пускает, говорит нельзя в транзакции использовать оба движка (это я читал в документации, но там скорее что не рекомендовано, чем нельзя вообще).
источник

MF

Michael Filonenko in Tarantool
это так
источник

MF

Michael Filonenko in Tarantool
на данный момент, надо данные из одного движка в другой перекидывать через какую-нибудь переменную (а лучше fiber канал)
источник

ЯШ

Ярослав Шумаков... in Tarantool
Aleks Raiden :: CoinIndex Team
Привет всем. Простите, может глупый вопрос, только осваиваю тарантул.

Хотел реализовать такую архитектуру:

- приложения через коннекторы обновляют спейсы (memtx) - то есть там всегда текущие последние данные

Историю сохраняю в винил (по моим тестам вышло ~6х лучше по месту чем mariaDB/InnoDB)

Хотел повесить триггер на обновление спейса и в нем уже вставлять в такой же по структуру но с движком винила.

Но не пускает, говорит нельзя в транзакции использовать оба движка (это я читал в документации, но там скорее что не рекомендовано, чем нельзя вообще).

Или это нюанс текущего коннектора (tarantool-php)?

Или вообще я неправильно архитектуру строю изначально?
Может поможет быстрее добежать до результата: https://github.com/tarantool/examples/tree/master/cache
Это примерчик кэша для винила на базе картриджа
источник

A:

Aleks Raiden :: Coin... in Tarantool
спасибо, буду смотреть. Попробовал fiber первый раз, сходу не вышло:

 updateStorage = function (op, new)
   
   if op == 'INSERT'  then
     box.space.indicesStorage:insert( new )
   end
   
 end
 
 s:on_replace( function( old, new, s, op)
   
   fiber_object = fiber.create(updateStorage, op, new);
   
 end )
источник

EL

Eugene Leonovich in Tarantool
Ivan
Помогите пожалуйста разобраться.
Под нагрузкой тарантул начинает отвечать сообщением о том, что спейса нет, хотя он есть (проверяли). Когда нагрузка меньше - такого исключения не возникает. Куда рыть?
UPD: Вышла новая версия коннектора, которая, надеюсь, пофиксит проблему с "Space 'apps' does not exist" для персистентных соединений: https://github.com/tarantool-php/client/releases/tag/v0.8.1.
источник

MF

Michael Filonenko in Tarantool
Aleks Raiden :: CoinIndex Team
спасибо, буду смотреть. Попробовал fiber первый раз, сходу не вышло:

 updateStorage = function (op, new)
   
   if op == 'INSERT'  then
     box.space.indicesStorage:insert( new )
   end
   
 end
 
 s:on_replace( function( old, new, s, op)
   
   fiber_object = fiber.create(updateStorage, op, new);
   
 end )
так вот здесь надо

fiber.new()
источник

MF

Michael Filonenko in Tarantool
чтобы файбер стартовал не сразу, а после транзакции
источник

MF

Michael Filonenko in Tarantool
то как у вас - файбер стартует внутри транзакции - и обрывает текущую транзакцию
источник