Size: a a a

2021 May 31

ЕК

Евгений Кривошлыков... in Tarantool
Спасибо. Наверно уже завтра. Сегодня поздно.
источник

ЕК

Евгений Кривошлыков... in Tarantool
Кто нибудь может подсказать. Просмотрел много видео о тарантуле, но вопрос так и остался не могу найти на него ответ. Возможна ли работа тарантула с базой данной которая не влезает в оперативную память? У меня база данных несколько терабайт все данные чуть более или чуть менее горячие и нельзя сказать точно что какая то часть из них не использоуются. Оперативной памяти около 100ГБ При работе то временем точно потребуются все данные. Вопрос умеет ли тарантул все непомещающиеся в оперативную память данные держать на жестком диске и подгружать когда они потребуются. И скидывать снова на диск до следующего обращения к ним. Пытался найти подобный функционал в redis но не смог найти.
источник

AK

Andrew Kopylov in Tarantool
Есть движок vinyl для таких сценариев. Но не уверен, что это будет быстро.
Многие сотрудники mail.ru не очень рекомендуют к использованию этот движок.
В одной из статей упоминали, что сложно прогнозировать время ответа движка vinyl.
источник

AK

Andrew Kopylov in Tarantool
> Пытался найти подобный функционал в redis но не смог найти.
Посмотрите Apache Ignite. Что-то подобное там было. Дальше документации я не ушел пока.
источник

AK

Andrew Kopylov in Tarantool
В Tarantool тоже можно подобное организовать. Но для этого нужно будет написать немного кода на Lua. И второе хранилище вряд ли будет Tarantool.

Все выводы на основе моего не очень большого опыта с Tarantool. Проснутся мэтры, подскажут более точно.
источник

AK

Alexey Kuzin in Tarantool
> Возможна ли работа тарантула с базой данной которая не влезает в оперативную память?
Это один из основных кейсов работы Тарантула — кэш. Берёте любую дисковую базу, и делаете к ней кэш на Тарантуле, есть несколько вариантов организации взаимодействия, в том числе кэш с вытеснением.
Парочка примеров, как делать разные кэши, есть тут https://github.com/tarantool/examples
источник

ВМ

Виталий Митрофанов... in Tarantool
Ребят, подскажите по этому вопросу пожалуйста
источник

MF

Michael Filonenko in Tarantool
а что такое стоимость смещения?
источник

ВМ

Виталий Митрофанов... in Tarantool
судя по примеру который описан в доке это объём памяти который выделяется для каждого индекса
Then every tuple stores 4 byte offsets for every indexed field except the first field. Here are some examples of offset cost
источник

MF

Michael Filonenko in Tarantool
угу
источник

MF

Michael Filonenko in Tarantool
значит ответ да
источник

ВМ

Виталий Митрофанов... in Tarantool
спасибо
источник

MA

Mons Anderson in Tarantool
Если вы имеете в виду работу из тарантула со сторонней бд (например постгресом), то такой сценарий возможен: есть коннекторы и репликаторы.

Если вы имеете в виду собственные механизмы тарантула, то я бы не рекомендовал
Тарантул создавался под работу в памяти.
Экономически выгоднее поставить несколько терабайт памяти, чем тратить ресурсы разработки на дисковое хранилище
Сейчас сервер на 1тб рам по розничным ценам стоит чуть больше полумиллиона. это 2 месячных ФОТа разработчика.
источник

AL

Aleksandr Lyapunov in Tarantool
Кстати, не лишним будет напомнить, что тарантул - persistent.
То есть все данные, конечно, в памяти, но и на диске тоже всегда все данные.
В тарантуле это подразумевается, но как выяснилось это не всем очевидно.
источник

ЕК

Евгений Кривошлыков... in Tarantool
Можете дать ссылку на подобный сервер? Возможно это действительно решит проблему.
источник

ЕК

Евгений Кривошлыков... in Tarantool
Что произойдёт если на определенном этапе данных окажется больше, чем оперативной памяти? Тарантул скинет часть данных на жесткий диск и продолжит работу или выдаст ошибку мол памяти не хватает?
источник

P

Pavel in Tarantool
остановится запись, чтение будет работать
источник

ЕК

Евгений Кривошлыков... in Tarantool
А если та же ситуация, только со сторонней бд (например постгресом)? Если tarantool использовать как кеш?
источник

ЕК

Евгений Кривошлыков... in Tarantool
Выше ответили что такой цсенарий возможен и тарантул продолжит работу. Просто убедиться, что я правильно понят. Работа продолжится в штатном режиме на любом обьеме сторонней БД редко используемые данные будут выкидываться из оперативной памяти а новые в нее попадать при обращениях к сторонней БД
источник

AL

Aleksandr Lyapunov in Tarantool
тарантул (если речь про memtx) хранит все данные в памяти и на диске, соответственно если для выполнения поперации не хватит места в одном из этих двух мест - будет возвращена ошибка и тарантул продолжит работу.
источник