Holmogorov.ru

Блог
Валентина
Холмогорова

Что такое TaranTool?

Tarantool — это программное решение с открытым исходным кодом, совмещающее в себе сервер приложений Lua и систему управления базами данных. Этот инструмент, разработанный специалистами Mail.Ru Group, отличает от других схожих продуктов (таких как, например, Redis или Memcached) целый ряд уникальных особенностей, превращающих его в удобное средство реализации различных сетевых проектов и приложений. Одно из ключевых отличий Tarantool от аналогов — высокое быстродействие, достигаемое за счет хранения всей обрабатываемой информации в памяти. Иными словами, Tarantool представляет собой реализацию noSQL in-memory базы данных с большой скоростью доступа и возможностью работы под высокой нагрузкой. Помимо этого, в архитектуре Tarantool имеются встроенные механизмы репликации и резервного копирования, обеспечивающие высокую надежность и стабильность работы СУБД.

Ниже кратко перечислены основные особенности этой технологии:

  • хранение обрабатываемых данных в памяти, что обеспечивает высокое быстродействие и быстрый отклик;вся информация в памяти защищена с помощью журнала транзакций и резервного копирования;
  • существует возможность написания процедур, хранимых функций и приложений на языке Lua. Программы могут выполняться в фоновом режиме непосредственно на сервере БД;
  • реализована поддержка протокола Memcache, позволяющая внедрить Tarantool даже в рамках работающего проекта без необходимости его глобальной реконструкции (при этом в Tarantool используется и собственный бинарный протокол);
  • у Tarantool имеется SQL-клиент, с помощью которого можно выполнять стандартные sql-запросы и обращаться к базе данных привычным для разработчика способом;
  • создан целый ряд модулей, позволяющих, в том числе, объединять несколько экземпляров Tarantool в кластеры, автоматически удалять в фоновом режиме устаревшие данные, превратить Tarantool в HTTP-сервер или клиент, и т. д.;
  • имеются клиентские библиотеки на языках python, ruby, perl, php, C и java, что открывает возможность задействовать Tarantool практически в любых современных проектах и сетевых приложениях.

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

  • хранение и обработка данных в высоконагруженных проектах или сервисах с высокой посещаемостью (например, в социальных сетях, системах обмена сообщениями, и т.п.);
  • системы аутентификации пользователей (ключевыми критериями здесь являются быстрый отклик, высокая доступность и возможность обработки большого количества запросов в единицу времени);
  • системы уведомлений пользователей мобильных приложений, в том числе, push-уведомлений;
  • рекламные сети и технологии показа контекстной рекламы.

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

Поделиться: