Size: a a a

2020 June 17

AK

Alexey Kuzin in Tarantool
car1ot
Как его используют вообще? Весь api с бизнес логикой на lua?
Можно полностью реализовать решение на lua. Целые бизнес-системы есть
источник

S

Shine in Tarantool
Ну, тут все от задач зависит. У нас, например, комбинированный подход. Есть внутренние микросервисы на базе тнт, там апи прямо на тнт. А клиентские апи (написанные на других языках) используют тнт только как базу данных
источник

c

car1ot in Tarantool
а, спасибо
источник

A

Andrew in Tarantool
Alexey Kuzin
Спасибо!
os.time() не безопасно
источник

AK

Alexey Kuzin in Tarantool
Andrew
os.time() не безопасно
Да. Но тут вам надо почитать статьи в целом про генерацию сессий
источник

A

Andrew in Tarantool
Alexey Kuzin
Да. Но тут вам надо почитать статьи в целом про генерацию сессий
Я это понимаю, но вопрос был как создать безопасный, на SO ответили, но теперь представьте что каждый будет пользоваться этим советом и считать его авторитетным потому что
akudiyar
Senior Software Developer at Tarantool (Mail.ru Group)
источник

A

Andrew in Tarantool
зная что на сервисе используется tarantool, подобрать сессию не сложно, нужно просто знать интервал когда пользователь залогинился
источник

AK

Alexey Kuzin in Tarantool
Andrew
зная что на сервисе используется tarantool, подобрать сессию не сложно, нужно просто знать интервал когда пользователь залогинился
Дополнил ответ для копи-пастеров
источник

MA

Mons Anderson in Tarantool
Alexey Kuzin
tarantool> dg.sha256_hex(dg.urandom(256))
---
- 50ba1bd1aff0e04fc6cb2a8b5e60215c4705339f012ec84896837dbb6aaef786
...
Зачем читать 256 байт рандома, чтоб потом сделать из инх 256 бит sha?
источник

AK

Alexey Kuzin in Tarantool
Mons Anderson
Зачем читать 256 байт рандома, чтоб потом сделать из инх 256 бит sha?
Для иллюстрации разных методов из модуля digest
источник

KN

Konstantin Nazarov in Tarantool
Alexey Kuzin
Для иллюстрации разных методов из модуля digest
sha точно лишнее, оно ничего не добавляет
источник

AO

Andrey Oleynik in Tarantool
Привет, каким образом можно добавить колонку в sql таблицу с сохраненеим данных? У меня есть мысль создать временную таблицу, перенести туда данные, пересоздать текущую с новой колонкой и заполнить данными из временной таблицы.
источник

ДМ

Дмитрий Мищенко... in Tarantool
Всем привет, поскажжите пожалуйста, столкнулся с проблеммой что после смены мастера(мастер стал репликой и наоборт) выросло в 2 раза кол-во хитов, снапшоты перестали отрабатывать автоматом (но вручную выполняется без ошибок). Судя по метрикам удаление старых данных идет как и раньше. Так же появидись множественные warn ошибки:
"level": "WARN", "message": "68 messages suppressed", "pid": 1 , "cord_name": "main", "fiber_id": 3646, "fiber_name": "main", "file": "\/usr\/src\/tarantool\/src\/box\/txn.c", "line": 322}
"level": "WARN", "message": "too long WAL write: 1 rows at LSN 44205882679: 1.324 sec", "pid": 1 , "cord_name": "main", "fiber_id": 3646, "fiber_name": "main", "file": "\/usr\/src\/tarantool\/src\/box\/txn.c", "line": 322}
"INFO", "message": "516\/0: completed compacting range
"INFO", "message": "516\/0: started compacting range
Пробовали рестартить не помогло. Подскажите как действовать?
источник

AK

Alexey Kuzin in Tarantool
Andrey Oleynik
Привет, каким образом можно добавить колонку в sql таблицу с сохраненеим данных? У меня есть мысль создать временную таблицу, перенести туда данные, пересоздать текущую с новой колонкой и заполнить данными из временной таблицы.
Для тарантульных таблиц можно использовать способ с реплейс триггерами.
1. Убрать формат
2. Добавить реплейс триггер, вставляющий новую колонку
3. Отреплейсить все таплы в таблице сами на себя
4. Убрать реплейс триггер
5. Установить новый формат для спейса
источник

AK

Alexey Kuzin in Tarantool
Возможно, этот способ подойдёт и для SQL таблиц, однако там могут быть ещё где-то метаданные которые надо поправить, может @Totktonada подскажет
источник

AK

Alexey Kuzin in Tarantool
Если для любого поля, до которого вставляется новое поле, определены индексы, эти индексы придётся удалить перед операцией и потом перестроить.
источник

AO

Andrey Oleynik in Tarantool
Alexey Kuzin
Для тарантульных таблиц можно использовать способ с реплейс триггерами.
1. Убрать формат
2. Добавить реплейс триггер, вставляющий новую колонку
3. Отреплейсить все таплы в таблице сами на себя
4. Убрать реплейс триггер
5. Установить новый формат для спейса
Где-то можно посмотреть пример?
источник

AT

Alexander Turenko in Tarantool
источник

AK

Alexey Kuzin in Tarantool
Andrey Oleynik
Где-то можно посмотреть пример?
Посмотрел у себя, нашёл код даже без триггеров. Просто реплейс с созданием нового тупла
источник

AK

Alexey Kuzin in Tarantool
Триггеры могут понадобиться, если кто-то вставляет данные в старом формате
источник