- PVSM.RU - https://www.pvsm.ru -

25 млрд запросов в час: база данных ServiceNow

Двадцать шестого февраля прошла [1] конференция MariaDB M|18, в которой участвовали 330 ИТ-компаний. На конференции выступил представитель ServiceNow. Он поделился кейсом по управлению «85 тысячами БД по всему миру». Среднее количество запросов в час — 25 миллиардов. Как в ServiceNow работают с такими нагрузками, расскажем под катом.

25 млрд запросов в час: база данных ServiceNow - 1 [2]
/ Flickr / Tethys. [3] / CC [4]

Почему в ServiceNow используют MariaDB

Представитель ServiceNow Тим Йим (Tim Yim) рассказал [1] об использовании MariaDB. По словам Йима, компания выбрала MariaDB, потому что эта БД отличается стабильностью и высокой доступностью. В ServiceNow нацелены на обеспечение доступности систем 99,999%, поскольку этот показатель критически важен для таких клиентов, как больницы, фабрики, банки и электростанции.

Выгоду от использования MariaDB уже оценили в сингапурском банке DBS Bank, отказавшись от DB2 и Oracle Enterprise. За два года банк развернул более 700 экземпляров БД MariaDB, на которых работают 54% бизнес-критических сервисов, ежедневно проводящих транзакции на 70–80 млрд долларов. Компания в семь раз увеличила производительность приложений, а инструменты для их тестирования смогли выдерживать в десять раз большую нагрузку. При этом системы автоматизированного выпуска приложений [5] стали в два раза эффективнее.

Что такое multi-instance-архитектура

В компании говорят, что не используют multi-tenant- и single-tenant [6]-архитектуру. Вместо этого, ServiceNow придумали свой вариант – multi-instance. Модель развертывания multi-instance позволяет каждому клиенту получить собственную базу данных и клиентское приложение.

Йим поясняет [7]: «Обычно компании развертывают multi-tenant-архитектуру, когда все клиенты делят одну большую базу данных. Представим, что клиентов тысяча. Тогда сбой в работе одного из них повлияет на 999 других: в итоге вместо единичного простоя получается тысяча».

В случае multi-instance каждый экземпляр БД клиента работает [1] на «bare metal» для лучшей производительности. При этом ресурсы аппаратного обеспечения делятся между уровнями приложений и БД, а процессы «контейнеризуются». Йим прокомментировал [7]: «Мы дублируем каждую конфигурацию, каждый узел клиентских приложений и каждую базу данных. Каждую ночь мы создаем резервные копии всех БД».

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

25 млрд запросов в час: база данных ServiceNow - 2
/ Flickr / David Goehring [8] / CC [8]

Йим заявляет [7], что для эффективной работы такого решения «нужно автоматизировать всё». В ServiceNow так и сделали. Все активы загружаются в CMDB, чтобы их можно было отслеживать в одном месте, а затем происходит настройка и автоматизация рабочих процессов: систем высокой готовности, систем восстановления после отказа и др. В последних релизах платформы ServiceNow разработчики добавили возможность автоматизации на естественном языке, позволяющую «неспециалистам» автоматизировать нужные процессы в своем отделе.

«Скрытые» сложности и дальнейшие планы

Управление таким количеством БД приводит к возникновению ряда проблем. Тим Йим поясняет: «Динамичность ServiceNow позволяет нашим клиентам масштабировать сервисы, но из-за этого меняются шаблоны запросов. Поэтому такой платформой очень сложно управлять».

Решить все возникающие проблемы ServiceNow помогают [9] сотрудники MariaDB: они проводят тренинги для администраторов БД, системных администраторов и специалистов по обеспечению надежности инфраструктуры (site reliability engineer), а также помогают ServiceNow разбираться в технических вопросах.

Компании планируют продолжить сотрудничество и внедрить такие фичи, как DDL [10] для описания структуры БД и более надежное шифрование данных в облаке. Кроме того, представитель ServiceNow заявил, что не против внедрения систем на базе машинного обучения: «Я думаю, что любой администратор БД был бы заинтересован в работе с более «умной» базой данных, которая может помогать в распределении нагрузки». И разработчики MariaDB уже работают над внедрением инструментов для мониторинга, которые позволят повысить производительность и масштабируемость системы.


Еще несколько постов из корпоративного блога ИТ Гильдии:

Автор: it-guild

Источник [15]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/bazy-danny-h/274459

Ссылки в тексте:

[1] прошла: https://mariadb.com/resources/blog/keynote-highlights-mariadbs-m18-user-conference

[2] Image: https://habrahabr.ru/company/it-guild/blog/350424/

[3] Tethys.: https://www.flickr.com/photos/24830562@N08/5809329930/

[4] CC: https://creativecommons.org/licenses/by-nd/2.0/

[5] автоматизированного выпуска приложений: https://habrahabr.ru/company/it-guild/blog/349862/

[6] multi-tenant- и single-tenant: https://docs.vmware.com/en/vRealize-Code-Stream/1.0/com.vmware.vrcs.using.doc/GUID-12E7F3C7-744E-43E3-B6B6-ACDC28B70261.html

[7] поясняет: https://diginomica.com/2018/02/28/look-servicenow-managing-85000-databases-25-billion-queries-per-hour/

[8] David Goehring: https://creativecommons.org/licenses/by/2.0/

[9] помогают: https://www.computerworlduk.com/cloud-computing/how-servicenow-deploys-mariadb-handle-25-billion-queries-per-hour-3672819/

[10] DDL: https://ru.wikipedia.org/wiki/Data_Definition_Language

[11] Как сделать ITIL более клиентоориентированной: https://it-guild.com/info/blog/kak-sdelat-itil-bolee-klientoorientirovannoy/

[12] Как внедрить процесс управления конфигурацией: https://it-guild.com/info/blog/kak-vnedrit-protsess-upravleniya-konfiguratsiey-configuration-management-chast-1/

[13] Как создать и начать использовать каталог услуг: https://it-guild.com/info/blog/kak-sozdat-i-nachat-ispolzovat-katalog-uslug-service-catalog/

[14] Не усложняйте ITSM: 4 совета по улучшению рабочих процессов: https://it-guild.com/info/blog/ne-uslozhnyayte-itsm/

[15] Источник: https://habrahabr.ru/post/350424/?utm_source=habrahabr&utm_medium=rss&utm_campaign=350424