Переезд из Redis на Tarantool

186 views
Skip to first unread message

Евгений A

unread,
Dec 16, 2017, 1:08:13 PM12/16/17
to tarantool-ru
Приветствую знатоков Тарантула.
Прошу совета. В определенный момент функционала redis стало не хватать и решили переехать на Tarantool.
У нас данные хранятся в виде json в виде хеш таблиц. Всего хеш таблиц около сотни, внутри каждой тысячи ключей. 
Каждый хеш ключ - json. например {"proc"="name1","val1":"1"}, value хеша тоже json {...}
Всего данных около 20Gb, ожидается увеличение.

Я так понимаю есть два пути на вскидку:
1. Собрать все в 1 спейс, с вторичным ключем для поля
2. Собрать для каждого хеша свой спейс
3. Какой то другой вариант

Вопрос - как правильно перенести это в структуру тарантула

Konstantin Osipov

unread,
Dec 17, 2017, 12:52:37 AM12/17/17
to tarant...@googlegroups.com
* Евгений A <avv....@gmail.com> [17/12/16 22:49]:
Зависит от use cases. У нас модель данных больше похожа на
MongoDB чем на Редис.

Вы сначала опишите почему Редиса стало не хватать, станет
понятнее.



--
Konstantin Osipov, Moscow, Russia, +7 903 626 22 32
http://tarantool.org - www.twitter.com/kostja_osipov

Евгений A

unread,
Dec 17, 2017, 12:36:20 PM12/17/17
to tarantool-ru
воскресенье, 17 декабря 2017 г., 8:52:37 UTC+3 пользователь Konstantin Osipov написал:

Вы сначала опишите почему Редиса стало не хватать, станет
понятнее.

--
Konstantin Osipov, Moscow, Russia, +7 903 626 22 32
http://tarantool.org - www.twitter.com/kostja_osipov

Почему не хватает редиса:
1. У нас лапша из redis и MySQL между которой python, есть php в какой то момент стало понятно что развиваясь дальше так же, мы перестанем контролировать код
многое проще будет реализовать на lua
2. Есть код на php от которого хочется уйти и забыть о php как о страшном сне, опять же поигрались с ngnix + тарантулом понравилось (не с первого раза) 
3. Хочется формировать архив в MySQL без прокладок в виде python скриптов, хочется меньше разнородного кода.
4. Шардинг
5. Банальная задача - авторизация приходится городить систему из MySQL и Redis для сокетов, чтобы не тормозили. Хочется пользователей хранить в одном месте. От туда же брать без тормозов.

Про кейс
Мы получаем много данных из внешних систем в виде json как по rest так и по сокетам по сокетам, разбираем их и храним частью в redis, часть в виде архива на MySQL. При разборе json php fpm явно не хватает.
Большие массивы, много данных. Потому хотим lua.
Все данные сортируем по хеш "таблицам" в каждой талице тысячи ключей
Отдельно пользовательские данные: настройки, сессии, оперативная выгрузка графики. Все json, так все и останется. Потому что сокеты переделывать не будем.
Встал вопрос как хранить эти массивы json документов.
Разбивать по спейсам (как аналог хеша) или все сваливать в одну таблицу.


Reply all
Reply to author
Forward
0 new messages