Кто нибудь может подсказать. Просмотрел много видео о тарантуле, но вопрос так и остался не могу найти на него ответ. Возможна ли работа тарантула с базой данной которая не влезает в оперативную память? У меня база данных несколько терабайт все данные чуть более или чуть менее горячие и нельзя сказать точно что какая то часть из них не использоуются. Оперативной памяти около 100ГБ При работе то временем точно потребуются все данные. Вопрос умеет ли тарантул все непомещающиеся в оперативную память данные держать на жестком диске и подгружать когда они потребуются. И скидывать снова на диск до следующего обращения к ним. Пытался найти подобный функционал в redis но не смог найти.
Есть движок vinyl для таких сценариев. Но не уверен, что это будет быстро. Многие сотрудники mail.ru не очень рекомендуют к использованию этот движок. В одной из статей упоминали, что сложно прогнозировать время ответа движка vinyl.
> Возможна ли работа тарантула с базой данной которая не влезает в оперативную память? Это один из основных кейсов работы Тарантула — кэш. Берёте любую дисковую базу, и делаете к ней кэш на Тарантуле, есть несколько вариантов организации взаимодействия, в том числе кэш с вытеснением. Парочка примеров, как делать разные кэши, есть тут https://github.com/tarantool/examples
Если вы имеете в виду работу из тарантула со сторонней бд (например постгресом), то такой сценарий возможен: есть коннекторы и репликаторы.
Если вы имеете в виду собственные механизмы тарантула, то я бы не рекомендовал Тарантул создавался под работу в памяти. Экономически выгоднее поставить несколько терабайт памяти, чем тратить ресурсы разработки на дисковое хранилище Сейчас сервер на 1тб рам по розничным ценам стоит чуть больше полумиллиона. это 2 месячных ФОТа разработчика.
Кстати, не лишним будет напомнить, что тарантул - persistent. То есть все данные, конечно, в памяти, но и на диске тоже всегда все данные. В тарантуле это подразумевается, но как выяснилось это не всем очевидно.
Что произойдёт если на определенном этапе данных окажется больше, чем оперативной памяти? Тарантул скинет часть данных на жесткий диск и продолжит работу или выдаст ошибку мол памяти не хватает?
Выше ответили что такой цсенарий возможен и тарантул продолжит работу. Просто убедиться, что я правильно понят. Работа продолжится в штатном режиме на любом обьеме сторонней БД редко используемые данные будут выкидываться из оперативной памяти а новые в нее попадать при обращениях к сторонней БД
тарантул (если речь про memtx) хранит все данные в памяти и на диске, соответственно если для выполнения поперации не хватит места в одном из этих двух мест - будет возвращена ошибка и тарантул продолжит работу.