Политика импортозамещения в сфере высоких технологий в принципе правильная, однако находиться в позиции догоняющего постоянно не хорошо. Параллельно с разработкой аналогов иностранных продуктов нужно создавать и свои, уникальные технологии, аналоги которых только набирают популярность на Западе. В качестве примера можно привести технологию Tarantool, которая уже с 2009 г. разрабатывается компанией Mail.ru. Как отмечает Денис Аникин, технический директор почтовых и облачных сервисов Mail.Ru Group, «Tarantool – суперсовременная online-платформа, которая работает везде – и в ЦОД, и за их пределами, быстро, надежно и неприхотливо. Аналогов ей просто не существует. Да и нет в аналогах смысла – ведь это полностью открытый проект, который можно использовать бесплатно».

По своей сути Tarantool – это совмещение системы управления базой данных (СУБД) и сервера приложений, работающих в памяти. Причем система хранения в Tarantool не является реляционной, т. е. данные в ее ядре хранятся не в виде таблиц, а в виде пары «ключ-значение» – по такому принципу организованы современные системы больших данных. При этом разработчики Tarantool включили прямо в систему хранения сервер приложений, который позволяет создавать приложения с помощью языка Lua. Таким образом, Tarantool фактически является квинтэссенцией всех современных тенденций: больших данных, СУБД, располагаемых в памяти, и объединения слоя хранения и обработки данных.

Последнюю тенденцию нужно пояснить. Дело в том, что классическим стеком технологий для Интернета является многоуровневая архитектура клиент – сервер. Первый слой – уровень хранения (СУБД), второй – сервер приложений (традиционно на Java, PHP или Python), третий – веб-сервер, преобразующий ответы на ODBC/JDBC-запросы в представление HTML/XML, которое пересылается на пятый уровень – клиенту. При этом между первым, вторым и третьим уровнями очень много накладных расходов из-за преобразования форматов HTML – ODBC/JDBC – SQL. Если устранить эти накладные расходы, то оказывается, что не нужно использовать высокопроизводительные серверы и сети – все операции будут выполняться очень быстро по внутренней шине компьютера через память.

Именно по такой совмещенной одноуровневой схеме построен Tarantool. По словам Дениса Аникина, «идея Tarantool проста – создать самую высокопроизводительную СУБД в мире для высоких нагрузок. Именно поэтому Tarantool – in-memory (в памяти быстрее, чем на диске), NoSQL (чтобы избежать траты процессорного времени на лишний разбор SQL запросов), с сервером приложений на борту (чтобы обрабатывать данные в адресном пространстве СУБД, опять же, экономя время на передачу данных между СУБД и клиентом)». Он также отметил: «При этом мы стремимся к тому, чтобы Tarantool был настоящей СУБД корпоративного уровня: с ACID-совместимыми транзакциями, репликацией, резервным копированием, хранимыми процедурами, аутентификацией и контролем доступа и прочим функционалом, который необходим для эксплуатации в продуктиве крупного предприятия или массового сервиса». Весь этот функционал можно реализовать уже на уровне сервера приложений, который встроен в ядро.

Производители традиционных СУБД предусматривают механизмы обработки данных непосредственно внутри своих продуктов. У Oracle есть язык для хранимых процедур PL/SQL, а MS SQL Server имеет встроенный сервер приложений. Однако эти встроенные инструменты достаточно сложные, чтобы разработчики не пытались писать на них конвертеры напрямую в HTML. В то же время сейчас существует много технологий, которые позволяют напрямую забирать данные из базы и создавать веб-страницу «на лету». В результате объединения СУБД и сервера приложений появляется возможность создать компактное приложение, которое будет работать в условиях ограничения ресурсов, т. е. и на IoT-устройствах.

На текущий момент Tarantool стал уже достаточно зрелым инструментом, на котором реализуются коммерческие проекты. В частности, Mail.ru утверждает, что их продукт работает в компаниях «Вымпелком», Badoo, Avito, QIWI и Wallarm. Однако, поскольку сам продукт распространяется с открытыми исходными текстами, количество инсталляций его может быть значительно больше. Как отмечает Дмитрий Мельников, менеджер по развитию Центра программных решений компании «Инфосистемы Джет», «продвижением Tarantool на корпоративном рынке компания Mail.ru занялась пару лет, чем объясняются плюсы и минусы разработанного ею продукта. Из положительных моментов – СУБД Tarantool сама по себе полностью бесплатна и изначально спроектирована с прицелом на высокопроизводительные вычисления. Русскоязычная поддержка решения также является немаловажным плюсом. Минусы – отсутствие ODBC/JDBC-драйверов (универсальных драйверов для подключения к базам данных), что усложняет интеграцию бизнес-аналитики. Тем не менее, продукт весьма перспективный. Данную СУБД уже внедрили у себя Yota и «ВымпелКом». Вероятно, и дальнейший ее путь в корпоративном сегменте будет связан больше с телеком-отраслью».

По мнению Сергея Тинякова, директора практики аутсорсинга компании AT Consulting, Tarantool – уникальная платформа, которая подходит для широкого круга приложений корпоративного уровня, в том числе для виртуализации и онлайн-обработки данных, взаимодействия с Интернетом вещей. Она интегрирует старые источники данных, СУБД и монолиты с новыми приложениями и сервисами в рамках единого ИТ-ландшафта. Количество генерируемых данных увеличивается с каждой неделей, что обостряет вопрос интеграции старых хранилищ и новых приложений. Платформа Tarantool элегантно решает эту проблему, позволяя быстро вывести на рынок новый продукт и снижая размер инвестиций и стоимость ТСО на «железо» и лицензии». Собственно, AT Consalting как раз и внедрил Tarantool в «Вымпелкоме», где он встает в качестве системы виртуализации данных, т. е. собирает данные из унаследованных систем и традиционных СУБД и готовит их для новых приложений. Однако в этом качестве Tarantool может пригодиться не только в телекоме, но и во множестве других отраслей, где есть разрозненные базы накопленных данных.

Как считает Павел Рыцев, ИТ-директор и руководитель Центра компетенции по импортозамещению OpenSource в ALP Group: «Tarantool представляет собой не только СУБД, но и сервер приложений на Lua. При правильном использовании это может помочь снизить затраты на мощности оборудования, повысить скорость работы и надежность сервисов путем переноса части логики в СУБД. Tarantool может быть крайне интересен компаниям, которые ведут высоконагруженные проекты, в основном за счет своей модели хранения данных, высокой скорости работы и поддержки репликации». Как уже отмечалось, он может использоваться и в распределенных системах IoT-устройств, где каждый отдельный элемент имеет не очень высокую производительность, но собранные вместе по принципу систем больших данных такие элементы могут выполнять серьезную работу. С Павлом Рыцевым согласен и Денис Аникин: «Одно из неожиданных применений Tarantool – сфера Интернета вещей (IoT). Tarantool может работать не только в ЦОД, но и на «земле» – быть установленным на миникомпьютерах на агрокультурных полях, на производственных и ремонтных площадках, на магистралях, на транспорте. С помощью Tarantool можно формировать надежный IT-ландшафт за пределами ЦОД с целью безопасной доставки данных с локальных датчиков, без потерь, а также с обратной целью – доставкой команд управления из центров управления на «места». Кроме того, Tarantool позволяет разрабатывать и инсталлировать полноценные приложения, производящие аналитику данных непосредственно на «местах», с отправкой в центр только агрегированной информации».

Следите за нашими новостями в Телеграм-канале Connect


Поделиться:



Следите за нашими новостями в
Телеграм-канале Connect

Спецпроект

Цифровой девелопмент

Подробнее
Спецпроект

Машиностроительные предприятия инвестируют в ПО

Подробнее


Подпишитесь
на нашу рассылку