Pattern

Что такое Tarantool 3.0 и почему он стал удобнее для пользователей

TimeIcon

5 мин.

EyeIcon

5100

scroll iconScroll

В течение долгого времени Tarantool воспринимался как инструмент, который обладает впечатляющими возможностями, но требует экспертных знаний для настройки.

Однако в последние годы количество внедрений Tarantool в бизнесе заметно выросло. Стали важны не только функциональность и потенциал решения, но и удобство его использования. Поэтому мы изменили концепцию решения и, сохранив лучшие качества, сделали Tarantool версии 3.0.

Как было раньше и почему так важны изменения

В начале своего публичного пути Tarantool 1.5 был in-memory базой данных с простой процедурой запуска. В какой-то момент история этой версии подошла к концу: все было дополнено, доработано, оптимизировано. Но внутри технологии Tarantool оставались моменты, которые не устранить без глобальных переработок.

Переход к версии 1.6 стал сменой парадигмы. Изменились протоколы, модели хранения, алгоритм запуска и некоторые нюансы. Это сломало обратную совместимость.

В итоге Tarantool в версии 1.6 стал не базой данных, а application-сервером. Пользователь получал набор компонентов, из которых мог построить все необходимое — в том числе, СУБД.

С такой концепцией Tarantool стал инструментом «от разработчика для разработчика». Чтобы работать с платформой и оценить все её преимущества, надо было иметь продвинутую экспертность. Это повышало порог входа и снижало темпы популяризации Tarantool, даже несмотря на лучшие показатели производительности среди NoSQL-СУБД.

В период между версиями 1.6-2.11 мы были ориентированы, прежде всего, на улучшение функциональности инструмента и расширение сценариев его использования. Постепенно Tarantool получил:

  • поддержку шардирования;
  • SQL;
  • горизонтальное масштабирование;
  • множество вспомогательных библиотек;
  • механизмы синхронной репликации;
  • failover на базе собственного протокола;
  • фичи для повышения ИТ-безопасности, консистентности и отказоустойчивости, а также многое другое.

После версии 2.11 мы решили сделать технологию более доступной для конечных пользователей. Это стало началом пути к версии 3.0 и новой концепции Tarantool.

Подробнее о 3.0

Главная идея обновления — сделать Tarantool удобнее в использовании. При этом нам было важно, чтобы не пострадали функции и возможности, которыми раньше могли полноценно пользоваться только «продвинутые» пользователи. Теперь Tarantool — это, в первую очередь, надежная и высокоскоростная in-memory база данных, что возвращает нас к концепции версии 1.5. Все функции application-сервера для построения приложений на базе Tarantool сохранены, но спрятаны «под капот». При этом доступ к этому «капоту» свободный — эксперты в любой момент могут задействовать весь потенциал Tarantool для решения особо сложных задач в своем проекте. Такое решение помогло сгладить кривую входа в Tarantool, сделав работу с инструментом интуитивнее и прозрачнее для пользователя.

Почему Tarantool 3.0 удобнее использовать

Можно запускать Tarantool как базу данных через простой декларативный файл конфигурации. Для популярных систем автоматизации развертывания различные части конфига можно задавать через переменные окружения. Если нужно просто запустить хранилище для записи и чтения данных, программирование на Lua не требуется. При этом остается старый вариант запуска: можно по-прежнему использовать Tarantool как интерпретатор Lua.

Новая архитектура построения кластерного хранилища. В 3.0. вы можете настраивать кластеры любого типа и сложности через единый отказоустойчивый модуль конфигурации.

Ранее администратору хранилища приходилось вносить изменения в каждый узел кластера по отдельности. Теперь кластер с десятком тысяч инстансов можно настроить через один конфиг в YAML формате. Это снижает время на администрирование хранилища.

В отличие от более ранних версий, единый централизованный файл конфигурации хранится вне узлов. При отказе одного (или нескольких) узлов Tarantool, все еще можно настроить кластер и вносить изменения в его топологию. Это повышает надежность Tarantool. Также присутствует тройное резервирование конфигурационного файла.

Мы продолжаем двигаться в сторону администрирования через единый конфиг. Рассчитываем, что в следующих версиях Tarantool пользователь сможет управлять схемой данных, добавить хранилище, роутер, CRUD-приложение и прочее, не прибегая к программированию.

Tarantool Cluster Manager. Это простой и удобный графический интерфейс для управления кластерами Tarantool. Доступен в Enterprise-версии. Задача Tarantool Clusters Manager — оптимизировать процесс эксплуатации кластерного хранилища. Новая административная панель вынесена в отдельный продукт, который может располагаться на отдельных серверах. Так он эксплуатируется независимо от кластеров, что делает его более отказоустойчивым. Количество запущенных инстансов кластерного хранилища, которыми может управлять TCM, достигает 4000.

Единый модуль шардинга. В ранних версиях Tarantool была поддержка отдельных библиотек шардинга и самописных реализаций пользователей. Это создавало некоторые проблемы и усложняло поддержку. Tarantool 3.0 получил встроенный единый модуль шардинга, который конфигурируется через config и интегрирован с общей системой.

Вместо выводов

Наша задача - сделать продукты, полезные и удобные для пользователей. Последние обновления действительно упростили взаимодействие с Tarantool. Попробуйте и оцените сами, а мы будем рады получить от вас обратную связь.

Читайте также

Tarantool: 15 лет истории и эволюции версий

Tarantool применяют в разных сценариях крупного корпоративного бизнеса — от мобильного банкинга до онлайн-доставки. Чтобы достичь этого и уйти от рисков потери данных, характерных для In-memory технологий прошлых поколений, специалисты Tarantool на протяжении всей 15-летней истории развития инструмента повышали его надежность и добавляли новые функции. Команда Tarantool рассказывает, как зарождалось решение, как оно эволюционировало и чем сейчас привлекает пользователей, в том числе Enterprise-клиентов с повышенными требованиями к безопасности и отказоустойчивости.
ArrayIcon

Как решения класса middleware ускоряют цифровое развитие бизнеса

От производительности ИТ-инфраструктуры зависит скорость развития бизнеса. Часто цифровые потребности компаний растут быстрее, чем возможность наращивать мощности или модернизировать системное ПО. Рассмотрим, как программные решения класса промежуточного ПО (middleware) помогают устранить эту проблему.
ArrayIcon

Масштабирование без потери производительности

Масштабирование — одна из самых важных характеристик надежности программного обеспечения. Если ваши сервисы не смогут отреагировать на рост нагрузки, это негативно повлияет на пользовательский опыт и, как следствие, приведет к потерям для бизнеса. Определить, как правильно масштабировать ПО, практически невозможно, так как нужно сразу учесть множество факторов и возможных проблем. Это бесконечный процесс, состоящий из компромиссов, соблюдения требований и постоянной модернизации компонентов системы.
ArrayIcon