Разделы

ПО Цифровизация Инфраструктура

Россияне придумали, как ускорить «медленный» Oracle

Mail.Ru Group реализовала в своей СУБД Tarantool поддержку репликации данных из Oracle. То есть, все изменения в одной СУБД будут отражаться в другой. Благодаря этому на «быстрой» Tarantool смогут работать приложения и веб-интерфейсы, с которыми не справляется «медленная» Oracle. После того, как они перестанут перегружать Oracle, она тоже начнет работать быстрее.

Репликация из Oracle в Tarantool

В российскую СУБД Tarantool, разрабатываемую компанией Mail.Ru Group, была добавлена возможность репликации данных из СУБД Oracle. По словам разработчиков, это должно разгрузить саму Oracle и ускорить ее работу. Нововведение может быть востребовано банками, страховыми компаниями, сотовыми операторами, ритейлерами и другим представителям бизнеса.

Репликация данных – это копирование объектов из одной базы данных в другую и их синхронизация. Репликация, реализованная в СУБД Mail.Ru Group – это применение всех изменений, которые есть в базу данных под управлением Oracle в базу данных под управлением Tarantool. Ранее в Tarantool была добавлена репликация из СУБД MySQL.

Репликация из Oracle в Tarantool асинхронна. То есть, изменения в СУБД Oracle отражаются в Tarantool спустя некоторое время – от нескольких миллисекунд до нескольких секунд. Точное время зависит от производительности сети и других факторов. Система дает возможность настроить автоматическое копирование и выбрать данные, которые подлежат репликации.

Зачем нужна репликация

Как отмечает Денис Аникин, технический директор почтовых и облачных сервисов Mail.Ru Group, в бизнесе увеличивается количество клиентов, которые начинают использовать для самообслуживания веб-интерфейсы и мобильные приложения. Из-за этого увеличивается нагрузка на базы Oracle. «Дело в том, что Oracle медленный. Он не вполне соответствует реалиям современного мира. Например, он не предназначен для быстрого веб-интерфейса или мобильного приложения», – поясняет Аникин.

По его словам, Tarantool, в отличие от Oracle, является быстрой и легкой in-memory СУБД, которая оптимально работает с быстрыми веб-интерфейсами и приложениями. В подтверждение своих слов Аникин ссылается на опыт самой Mail.Ru Group, а также компаний Avito, Badoo и других, которые внедрили Tarantool.

Таким образом, чтобы создать быстрое приложение или веб-интерфейс, к Oracle в качестве реплики можно подключить Tarantool. Через некоторое время в Tarantool отразится все, что есть в Oracle, включая все последние изменения. Затем уже на основе Tarantool можно создать необходимый веб-интерфейс или приложение. «При этом все текущие бизнес-приложения и системы, которые уже работают на Oracle, тоже ускоряются, потому что с них снимается нагрузка, которая ранее шла от веба и мобильного», – говорит Аникин.

По его словам, репликация действует и наоборот, то есть изменения, сделанные в Tarantool отражаются в Oracle. Однако этой возможностью следует пользоваться осторожно и под контролем специалистов Mail.Ru Group. «Мы даем гарантию, что наши решения не приведут к порче или несогласованности данных», – утверждает Аникин.

Что такое СУБД Tarantool

Система управления базами данных Tarantool – это собственное решение Mail.Ru Group, основанное на принципах Open Source. Разработка Tarantool началась более восьми лет назад. Система используется в собственных сервисах Mail.Ru: «Почте», «Облаке Mail.Ru», myTarget и др. Сначала продукт был предназначен для внутреннего использования Mail.Ru, но в апреле 2016 г. компания выложила его в открытый доступ под лицензией BSD.

Техническая поддержка и кастомизация СУБД являются платными, что должно обеспечить монетизацию технологии. Mail.ru Group заявляет, что разработка внедрена в таких крупных российских и международных компаниях, как ПАО «ВымпелКом», Yota, Badoo, Avito, QIWI и Wallarm.

По словам разработчиков, главное достоинство Tarantool – способность эффективно работать при высоких нагрузках и с большими объемами данных. В Mail.Ru уверяют, что один сервер с Tarantool заменяет более 30 серверов с обычной СУБД, поскольку его производительность составляет миллион транзакций в секунду на одном ядре простейшего commodity-сервера. По словам авторов проекта, Tarantool отменяет необходимость формирования гетерогенной системы из SQL СУБД, NoSQL СУБД, с ним не нужно создавать огромные кластера и докупать лишнее железо.

Валерия Шмырова